{
  "contractName": "Launcher",
  "abi": [
    {
      "constant": true,
      "inputs": [],
      "name": "rico",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "name",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "initialized",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "version",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_name",
          "type": "string"
        },
        {
          "name": "_symbol",
          "type": "string"
        },
        {
          "name": "_decimals",
          "type": "uint8"
        },
        {
          "name": "_wallet",
          "type": "address"
        },
        {
          "name": "_iniDepParams",
          "type": "uint256[]"
        },
        {
          "name": "_podParams",
          "type": "uint256[]"
        },
        {
          "name": "_iniDepAddresses",
          "type": "address[2]"
        },
        {
          "name": "_marketMakers",
          "type": "address[]"
        }
      ],
      "name": "standardICO",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "cm",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_name",
          "type": "string"
        },
        {
          "name": "_symbol",
          "type": "string"
        },
        {
          "name": "_decimals",
          "type": "uint8"
        },
        {
          "name": "_wallet",
          "type": "address"
        },
        {
          "name": "_podParams",
          "type": "uint256[]"
        },
        {
          "name": "_mintParams",
          "type": "uint256[]"
        }
      ],
      "name": "simpleICO",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_rico",
          "type": "address"
        },
        {
          "name": "_cm",
          "type": "address"
        }
      ],
      "name": "init",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor"
    }
  ],
  "bytecode": "0x60606040526040805190810160405280600d81526020017f5249434f204c61756e63686572000000000000000000000000000000000000008152506000908051906020019062000051929190620000cd565b506040805190810160405280600581526020017f302e392e33000000000000000000000000000000000000000000000000000000815250600190805190602001906200009f929190620000cd565b506000600360146101000a81548160ff0219169083151502179055503415620000c757600080fd5b6200017c565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200011057805160ff191683800117855562000141565b8280016001018555821562000141579182015b828111156200014057825182559160200191906001019062000123565b5b50905062000150919062000154565b5090565b6200017991905b80821115620001755760008160009055506001016200015b565b5090565b90565b612d2f806200018c6000396000f30060606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306029ec21461009357806306fdde03146100e8578063158ef93e1461017657806354fd4d50146101a35780638c6fc437146102315780639318162014610428578063a4b8457a1461047d578063f09a401614610608575b600080fd5b341561009e57600080fd5b6100a6610660565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100f357600080fd5b6100fb610686565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561013b578082015181840152602081019050610120565b50505050905090810190601f1680156101685780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561018157600080fd5b610189610724565b604051808215151515815260200191505060405180910390f35b34156101ae57600080fd5b6101b6610737565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101f65780820151818401526020810190506101db565b50505050905090810190601f1680156102235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561023c57600080fd5b6103e6600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803560ff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919080604001906002806020026040519081016040528092919082600260200280828437820191505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919050506107d5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561043357600080fd5b61043b610ed3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561048857600080fd5b6105c6600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803560ff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091905050610ef9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561061357600080fd5b61065e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611505565b005b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561071c5780601f106106f15761010080835404028352916020019161071c565b820191906000526020600020905b8154815290600101906020018083116106ff57829003601f168201915b505050505081565b600360149054906101000a900460ff1681565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107cd5780601f106107a2576101008083540402835291602001916107cd565b820191906000526020600020905b8154815290600101906020018083116107b057829003601f168201915b505050505081565b60006107df6115c2565b600060026040518059106107f05750595b9080825280602002602001820160405250915061080b6115d6565b604051809103906000f080151561082157600080fd5b90508073ffffffffffffffffffffffffffffffffffffffff166318deb0668a89600081518110151561084f57fe5b906020019060200201518a600181518110151561086857fe5b906020019060200201518b600281518110151561088157fe5b906020019060200201518a8a8e600381518110151561089c57fe5b906020019060200201516000604051602001526040518863ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808860ff1660ff16815260200187815260200186815260200185815260200184600260200280838360005b83811015610923578082015181840152602081019050610908565b5050505090500180602001838152602001828103825284818151815260200191508051906020019060200280838360005b8381101561096f578082015181840152602081019050610954565b5050505090500198505050505050505050602060405180830381600087803b151561099957600080fd5b6102c65a03f115156109aa57600080fd5b50505060405180519050508073ffffffffffffffffffffffffffffffffffffffff1663f2fde38b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1515610a7157600080fd5b6102c65a03f11515610a8257600080fd5b50505080826000815181101515610a9557fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a07da887600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660008c8c8b6000604051602001526040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018460ff1660ff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015610c24578082015181840152602081019050610c09565b505050509050019650505050505050602060405180830381600087803b1515610c4c57600080fd5b6102c65a03f11515610c5d57600080fd5b50505060405180519050826001815181101515610c7657fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631db4012d8c8c8c868d6000604051602001526040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018660ff1660ff168152602001806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848103845289818151815260200191508051906020019080838360005b83811015610daf578082015181840152602081019050610d94565b50505050905090810190601f168015610ddc5780820380516001836020036101000a031916815260200191505b50848103835288818151815260200191508051906020019080838360005b83811015610e15578082015181840152602081019050610dfa565b50505050905090810190601f168015610e425780820380516001836020036101000a031916815260200191505b50848103825286818151815260200191508051906020019060200280838360005b83811015610e7e578082015181840152602081019050610e63565b5050505090500198505050505050505050602060405180830381600087803b1515610ea857600080fd5b6102c65a03f11515610eb957600080fd5b505050604051805190509250505098975050505050505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610f036115c2565b6002604051805910610f125750595b90808252806020026020018201604052509050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a07da887600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660008989896000604051602001526040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018460ff1660ff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019060200280838360005b8381101561107857808201518184015260208101905061105d565b505050509050019650505050505050602060405180830381600087803b15156110a057600080fd5b6102c65a03f115156110b157600080fd5b505050604051805190508160008151811015156110ca57fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a07da887600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660018989886000604051602001526040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018460ff1660ff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019060200280838360005b8381101561125957808201518184015260208101905061123e565b505050509050019650505050505050602060405180830381600087803b151561128157600080fd5b6102c65a03f1151561129257600080fd5b505050604051805190508160018151811015156112ab57fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631db4012d898989858a6000604051602001526040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018660ff1660ff168152602001806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848103845289818151815260200191508051906020019080838360005b838110156113e45780820151818401526020810190506113c9565b50505050905090810190601f1680156114115780820380516001836020036101000a031916815260200191505b50848103835288818151815260200191508051906020019080838360005b8381101561144a57808201518184015260208101905061142f565b50505050905090810190601f1680156114775780820380516001836020036101000a031916815260200191505b50848103825286818151815260200191508051906020019060200280838360005b838110156114b3578082015181840152602081019050611498565b5050505090500198505050505050505050602060405180830381600087803b15156114dd57600080fd5b6102c65a03f115156114ee57600080fd5b505050604051805190509150509695505050505050565b600360149054906101000a900460ff1615151561152157600080fd5b81600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360146101000a81548160ff0219169083151502179055505050565b602060405190810160405280600081525090565b60405161171c80620015e8833901905600606060405234156200001057600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600b60006101000a81548160ff021916908360028111156200007057fe5b0217905550600060078190555033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550606060405190810160405280603181526020017f5374616e64617264506f4420737472617465677920746f6b656e50726963652081526020017f3d20636170546f6b656e2f636170576569000000000000000000000000000000815250600190805190602001906200013292919062000187565b506040805190810160405280600581526020017f302e392e33000000000000000000000000000000000000000000000000000000815250600290805190602001906200018092919062000187565b5062000236565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001ca57805160ff1916838001178555620001fb565b82800160010185558215620001fb579182015b82811115620001fa578251825591602001919060010190620001dd565b5b5090506200020a91906200020e565b5090565b6200023391905b808211156200022f57600081600090555060010162000215565b5090565b90565b6114d680620002466000396000f300606060405260043610610133576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461013e57806309fc93c1146101cc578063112ed3f51461021957806318deb0661461026a578063200d2ed2146103385780633c5964941461036f578063439f5ac2146103c45780634b682765146103ed5780634b94f50e14610416578063521eb2731461043f57806354fd4d50146104945780636ccce7a81461052257806383786f8c1461054b5780638da5cb5b146105985780638f85f92c146105ed57806397722acf1461061a5780639b3dfce014610643578063aa985a6314610670578063ba3f5a12146106b4578063c828371e146106dd578063df7271bc14610706578063ed88c68e14610769578063f2fde38b1461078b575b61013b6107c4565b50005b341561014957600080fd5b61015161092f565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610191578082015181840152602081019050610176565b50505050905090810190601f1680156101be5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101d757600080fd5b610203600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506109cd565b6040518082815260200191505060405180910390f35b341561022457600080fd5b610250600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a16565b604051808215151515815260200191505060405180910390f35b341561027557600080fd5b61031e600480803560ff16906020019091908035906020019091908035906020019091908035906020019091908060400190600280602002604051908101604052809291908260026020028082843782019150505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019091905050610af4565b604051808215151515815260200191505060405180910390f35b341561034357600080fd5b61034b610ccd565b6040518082600281111561035b57fe5b60ff16815260200191505060405180910390f35b341561037a57600080fd5b610382610ce0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103cf57600080fd5b6103d7610d06565b6040518082815260200191505060405180910390f35b34156103f857600080fd5b610400610d10565b6040518082815260200191505060405180910390f35b341561042157600080fd5b610429610d16565b6040518082815260200191505060405180910390f35b341561044a57600080fd5b610452610d20565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561049f57600080fd5b6104a7610d46565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104e75780820151818401526020810190506104cc565b50505050905090810190601f1680156105145780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561052d57600080fd5b610535610de4565b6040518082815260200191505060405180910390f35b341561055657600080fd5b610582600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610dee565b6040518082815260200191505060405180910390f35b34156105a357600080fd5b6105ab610f12565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105f857600080fd5b610600610f37565b604051808215151515815260200191505060405180910390f35b341561062557600080fd5b61062d610f77565b6040518082815260200191505060405180910390f35b341561064e57600080fd5b610656610f81565b604051808215151515815260200191505060405180910390f35b341561067b57600080fd5b61069a6004808035906020019091908035906020019091905050610fc2565b604051808215151515815260200191505060405180910390f35b34156106bf57600080fd5b6106c76110ca565b6040518082815260200191505060405180910390f35b34156106e857600080fd5b6106f06110d0565b6040518082815260200191505060405180910390f35b341561071157600080fd5b61072760048080359060200190919050506110da565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107716107c4565b604051808215151515815260200191505060405180910390f35b341561079657600080fd5b6107c2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611119565b005b6000600160028111156107d357fe5b600b60009054906101000a900460ff1660028111156107ee57fe5b1415156107fa57600080fd5b600454421015151561080b57600080fd5b6412a05f20003a1115151561081f57600080fd5b60003411151561082e57600080fd5b6108373361126e565b15156108a257426005819055506002600b60006101000a81548160ff0219169083600281111561086357fe5b02179055507f601095663bda08ac0f932087ef2eb08e42e4bcd1927f3a8d9500f6ad2c5aef906005546040518082815260200191505060405180910390a15b6108b7346007546113a690919063ffffffff16565b6007819055507f2a01595cddf097c90216094025db714da3f4e5bd8877b56ba86a24ecead8e5433334604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a16001905090565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109c55780601f1061099a576101008083540402835291602001916109c5565b820191906000526020600020905b8154815290600101906020018083116109a857829003601f168201915b505050505081565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a7357600080fd5b600280811115610a7f57fe5b600b60009054906101000a900460ff166002811115610a9a57fe5b141515610aa657600080fd5b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b5157600080fd5b60006002811115610b5e57fe5b600b60009054906101000a900460ff166002811115610b7957fe5b141515610b8557600080fd5b428710151515610b9457600080fd5b8660048190555082600c9080519060200190610bb19291906113dd565b508760ff16600a0a600d819055508560088190555084600981905550600854600954600d5402811515610be057fe5b04600681905550836000600281101515610bf657fe5b6020020151600b60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a6000866001600281101515610c5057fe5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600e819055506001600b60006101000a81548160ff02191690836002811115610cb957fe5b021790555060019050979650505050505050565b600b60009054906101000a900460ff1681565b600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600554905090565b600e5481565b6000600654905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ddc5780601f10610db157610100808354040283529160200191610ddc565b820191906000526020600020905b815481529060010190602001808311610dbf57829003601f168201915b505050505081565b6000600954905090565b6000610e0862ed4e006004546113a690919063ffffffff16565b421015610e185760009050610f0d565b600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ec657600654600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600d5402811515610ebe57fe5b049050610f0d565b600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600e540290505b919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600280811115610f4557fe5b600b60009054906101000a900460ff166002811115610f6057fe5b1415610f6f5760019050610f74565b600090505b90565b6000600854905090565b600060016002811115610f9057fe5b600b60009054906101000a900460ff166002811115610fab57fe5b1415610fba5760019050610fbf565b600090505b90565b6000600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561102057600080fd5b3073ffffffffffffffffffffffffffffffffffffffff1631821115151561104657600080fd5b600c8381548110151561105557fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015156110c057600080fd5b6001905092915050565b600d5481565b6000600454905090565b600c818154811015156110e957fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561117457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156111b057600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415156112cd57600080fd5b6112e46007546009546113c490919063ffffffff16565b90508034111515156112f557600080fd5b61134734600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113a690919063ffffffff16565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508034141561139b57600091506113a0565b600191505b50919050565b60008082840190508381101515156113ba57fe5b8091505092915050565b60008282111515156113d257fe5b818303905092915050565b828054828255906000526020600020908101928215611456579160200282015b828111156114555782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550916020019190600101906113fd565b5b5090506114639190611467565b5090565b6114a791905b808211156114a357600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555060010161146d565b5090565b905600a165627a7a72305820b0d874023b22834a462c7940a3416b8e12a5fa32b266236e225242663438187b0029a165627a7a72305820be8faee938241832061d916b309c5085467a6171ad54b047da815179ac5347640029",
  "deployedBytecode": "0x60606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306029ec21461009357806306fdde03146100e8578063158ef93e1461017657806354fd4d50146101a35780638c6fc437146102315780639318162014610428578063a4b8457a1461047d578063f09a401614610608575b600080fd5b341561009e57600080fd5b6100a6610660565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100f357600080fd5b6100fb610686565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561013b578082015181840152602081019050610120565b50505050905090810190601f1680156101685780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561018157600080fd5b610189610724565b604051808215151515815260200191505060405180910390f35b34156101ae57600080fd5b6101b6610737565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101f65780820151818401526020810190506101db565b50505050905090810190601f1680156102235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561023c57600080fd5b6103e6600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803560ff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919080604001906002806020026040519081016040528092919082600260200280828437820191505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919050506107d5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561043357600080fd5b61043b610ed3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561048857600080fd5b6105c6600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803560ff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091905050610ef9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561061357600080fd5b61065e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611505565b005b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561071c5780601f106106f15761010080835404028352916020019161071c565b820191906000526020600020905b8154815290600101906020018083116106ff57829003601f168201915b505050505081565b600360149054906101000a900460ff1681565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107cd5780601f106107a2576101008083540402835291602001916107cd565b820191906000526020600020905b8154815290600101906020018083116107b057829003601f168201915b505050505081565b60006107df6115c2565b600060026040518059106107f05750595b9080825280602002602001820160405250915061080b6115d6565b604051809103906000f080151561082157600080fd5b90508073ffffffffffffffffffffffffffffffffffffffff166318deb0668a89600081518110151561084f57fe5b906020019060200201518a600181518110151561086857fe5b906020019060200201518b600281518110151561088157fe5b906020019060200201518a8a8e600381518110151561089c57fe5b906020019060200201516000604051602001526040518863ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808860ff1660ff16815260200187815260200186815260200185815260200184600260200280838360005b83811015610923578082015181840152602081019050610908565b5050505090500180602001838152602001828103825284818151815260200191508051906020019060200280838360005b8381101561096f578082015181840152602081019050610954565b5050505090500198505050505050505050602060405180830381600087803b151561099957600080fd5b6102c65a03f115156109aa57600080fd5b50505060405180519050508073ffffffffffffffffffffffffffffffffffffffff1663f2fde38b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1515610a7157600080fd5b6102c65a03f11515610a8257600080fd5b50505080826000815181101515610a9557fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a07da887600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660008c8c8b6000604051602001526040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018460ff1660ff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015610c24578082015181840152602081019050610c09565b505050509050019650505050505050602060405180830381600087803b1515610c4c57600080fd5b6102c65a03f11515610c5d57600080fd5b50505060405180519050826001815181101515610c7657fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631db4012d8c8c8c868d6000604051602001526040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018660ff1660ff168152602001806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848103845289818151815260200191508051906020019080838360005b83811015610daf578082015181840152602081019050610d94565b50505050905090810190601f168015610ddc5780820380516001836020036101000a031916815260200191505b50848103835288818151815260200191508051906020019080838360005b83811015610e15578082015181840152602081019050610dfa565b50505050905090810190601f168015610e425780820380516001836020036101000a031916815260200191505b50848103825286818151815260200191508051906020019060200280838360005b83811015610e7e578082015181840152602081019050610e63565b5050505090500198505050505050505050602060405180830381600087803b1515610ea857600080fd5b6102c65a03f11515610eb957600080fd5b505050604051805190509250505098975050505050505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610f036115c2565b6002604051805910610f125750595b90808252806020026020018201604052509050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a07da887600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660008989896000604051602001526040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018460ff1660ff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019060200280838360005b8381101561107857808201518184015260208101905061105d565b505050509050019650505050505050602060405180830381600087803b15156110a057600080fd5b6102c65a03f115156110b157600080fd5b505050604051805190508160008151811015156110ca57fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a07da887600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660018989886000604051602001526040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018460ff1660ff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019060200280838360005b8381101561125957808201518184015260208101905061123e565b505050509050019650505050505050602060405180830381600087803b151561128157600080fd5b6102c65a03f1151561129257600080fd5b505050604051805190508160018151811015156112ab57fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631db4012d898989858a6000604051602001526040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018660ff1660ff168152602001806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848103845289818151815260200191508051906020019080838360005b838110156113e45780820151818401526020810190506113c9565b50505050905090810190601f1680156114115780820380516001836020036101000a031916815260200191505b50848103835288818151815260200191508051906020019080838360005b8381101561144a57808201518184015260208101905061142f565b50505050905090810190601f1680156114775780820380516001836020036101000a031916815260200191505b50848103825286818151815260200191508051906020019060200280838360005b838110156114b3578082015181840152602081019050611498565b5050505090500198505050505050505050602060405180830381600087803b15156114dd57600080fd5b6102c65a03f115156114ee57600080fd5b505050604051805190509150509695505050505050565b600360149054906101000a900460ff1615151561152157600080fd5b81600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360146101000a81548160ff0219169083151502179055505050565b602060405190810160405280600081525090565b60405161171c80620015e8833901905600606060405234156200001057600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600b60006101000a81548160ff021916908360028111156200007057fe5b0217905550600060078190555033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550606060405190810160405280603181526020017f5374616e64617264506f4420737472617465677920746f6b656e50726963652081526020017f3d20636170546f6b656e2f636170576569000000000000000000000000000000815250600190805190602001906200013292919062000187565b506040805190810160405280600581526020017f302e392e33000000000000000000000000000000000000000000000000000000815250600290805190602001906200018092919062000187565b5062000236565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001ca57805160ff1916838001178555620001fb565b82800160010185558215620001fb579182015b82811115620001fa578251825591602001919060010190620001dd565b5b5090506200020a91906200020e565b5090565b6200023391905b808211156200022f57600081600090555060010162000215565b5090565b90565b6114d680620002466000396000f300606060405260043610610133576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461013e57806309fc93c1146101cc578063112ed3f51461021957806318deb0661461026a578063200d2ed2146103385780633c5964941461036f578063439f5ac2146103c45780634b682765146103ed5780634b94f50e14610416578063521eb2731461043f57806354fd4d50146104945780636ccce7a81461052257806383786f8c1461054b5780638da5cb5b146105985780638f85f92c146105ed57806397722acf1461061a5780639b3dfce014610643578063aa985a6314610670578063ba3f5a12146106b4578063c828371e146106dd578063df7271bc14610706578063ed88c68e14610769578063f2fde38b1461078b575b61013b6107c4565b50005b341561014957600080fd5b61015161092f565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610191578082015181840152602081019050610176565b50505050905090810190601f1680156101be5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101d757600080fd5b610203600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506109cd565b6040518082815260200191505060405180910390f35b341561022457600080fd5b610250600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a16565b604051808215151515815260200191505060405180910390f35b341561027557600080fd5b61031e600480803560ff16906020019091908035906020019091908035906020019091908035906020019091908060400190600280602002604051908101604052809291908260026020028082843782019150505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019091905050610af4565b604051808215151515815260200191505060405180910390f35b341561034357600080fd5b61034b610ccd565b6040518082600281111561035b57fe5b60ff16815260200191505060405180910390f35b341561037a57600080fd5b610382610ce0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103cf57600080fd5b6103d7610d06565b6040518082815260200191505060405180910390f35b34156103f857600080fd5b610400610d10565b6040518082815260200191505060405180910390f35b341561042157600080fd5b610429610d16565b6040518082815260200191505060405180910390f35b341561044a57600080fd5b610452610d20565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561049f57600080fd5b6104a7610d46565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104e75780820151818401526020810190506104cc565b50505050905090810190601f1680156105145780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561052d57600080fd5b610535610de4565b6040518082815260200191505060405180910390f35b341561055657600080fd5b610582600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610dee565b6040518082815260200191505060405180910390f35b34156105a357600080fd5b6105ab610f12565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105f857600080fd5b610600610f37565b604051808215151515815260200191505060405180910390f35b341561062557600080fd5b61062d610f77565b6040518082815260200191505060405180910390f35b341561064e57600080fd5b610656610f81565b604051808215151515815260200191505060405180910390f35b341561067b57600080fd5b61069a6004808035906020019091908035906020019091905050610fc2565b604051808215151515815260200191505060405180910390f35b34156106bf57600080fd5b6106c76110ca565b6040518082815260200191505060405180910390f35b34156106e857600080fd5b6106f06110d0565b6040518082815260200191505060405180910390f35b341561071157600080fd5b61072760048080359060200190919050506110da565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107716107c4565b604051808215151515815260200191505060405180910390f35b341561079657600080fd5b6107c2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611119565b005b6000600160028111156107d357fe5b600b60009054906101000a900460ff1660028111156107ee57fe5b1415156107fa57600080fd5b600454421015151561080b57600080fd5b6412a05f20003a1115151561081f57600080fd5b60003411151561082e57600080fd5b6108373361126e565b15156108a257426005819055506002600b60006101000a81548160ff0219169083600281111561086357fe5b02179055507f601095663bda08ac0f932087ef2eb08e42e4bcd1927f3a8d9500f6ad2c5aef906005546040518082815260200191505060405180910390a15b6108b7346007546113a690919063ffffffff16565b6007819055507f2a01595cddf097c90216094025db714da3f4e5bd8877b56ba86a24ecead8e5433334604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a16001905090565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109c55780601f1061099a576101008083540402835291602001916109c5565b820191906000526020600020905b8154815290600101906020018083116109a857829003601f168201915b505050505081565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a7357600080fd5b600280811115610a7f57fe5b600b60009054906101000a900460ff166002811115610a9a57fe5b141515610aa657600080fd5b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060019050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b5157600080fd5b60006002811115610b5e57fe5b600b60009054906101000a900460ff166002811115610b7957fe5b141515610b8557600080fd5b428710151515610b9457600080fd5b8660048190555082600c9080519060200190610bb19291906113dd565b508760ff16600a0a600d819055508560088190555084600981905550600854600954600d5402811515610be057fe5b04600681905550836000600281101515610bf657fe5b6020020151600b60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a6000866001600281101515610c5057fe5b602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600e819055506001600b60006101000a81548160ff02191690836002811115610cb957fe5b021790555060019050979650505050505050565b600b60009054906101000a900460ff1681565b600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600554905090565b600e5481565b6000600654905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ddc5780601f10610db157610100808354040283529160200191610ddc565b820191906000526020600020905b815481529060010190602001808311610dbf57829003601f168201915b505050505081565b6000600954905090565b6000610e0862ed4e006004546113a690919063ffffffff16565b421015610e185760009050610f0d565b600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ec657600654600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600d5402811515610ebe57fe5b049050610f0d565b600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600e540290505b919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600280811115610f4557fe5b600b60009054906101000a900460ff166002811115610f6057fe5b1415610f6f5760019050610f74565b600090505b90565b6000600854905090565b600060016002811115610f9057fe5b600b60009054906101000a900460ff166002811115610fab57fe5b1415610fba5760019050610fbf565b600090505b90565b6000600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561102057600080fd5b3073ffffffffffffffffffffffffffffffffffffffff1631821115151561104657600080fd5b600c8381548110151561105557fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015156110c057600080fd5b6001905092915050565b600d5481565b6000600454905090565b600c818154811015156110e957fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561117457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156111b057600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415156112cd57600080fd5b6112e46007546009546113c490919063ffffffff16565b90508034111515156112f557600080fd5b61134734600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113a690919063ffffffff16565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508034141561139b57600091506113a0565b600191505b50919050565b60008082840190508381101515156113ba57fe5b8091505092915050565b60008282111515156113d257fe5b818303905092915050565b828054828255906000526020600020908101928215611456579160200282015b828111156114555782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550916020019190600101906113fd565b5b5090506114639190611467565b5090565b6114a791905b808211156114a357600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555060010161146d565b5090565b905600a165627a7a72305820b0d874023b22834a462c7940a3416b8e12a5fa32b266236e225242663438187b0029a165627a7a72305820be8faee938241832061d916b309c5085467a6171ad54b047da815179ac5347640029",
  "sourceMap": "899:3908:4:-;;;947:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;987:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1097:5;1071:31;;;;;;;;;;;;;;;;;;;;1136:29;;;;;;;;899:3908;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;",
  "deployedSourceMap": "899:3908:4:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1022:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;947:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1071:31:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;987;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2863:686:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1042:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4361:444;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1294:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1022:16;;;;;;;;;;;;;:::o;947:36::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1071:31::-;;;;;;;;;;;;;:::o;987:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2863:686::-;3107:7;3124:21;;:::i;:::-;3171:19;3162:1;3148:16;;;;;;;;;;;;;;;;;;;;;;;;3124:40;;3193:21;;:::i;:::-;;;;;;;;;;;;;;;;;;3171:43;;3221:3;:8;;;3230:9;3241:13;3255:1;3241:16;;;;;;;;;;;;;;;;;;3259:13;3273:1;3259:16;;;;;;;;;;;;;;;;;;3277:13;3291:1;3277:16;;;;;;;;;;;;;;;;;;3295;3313:13;3328;3342:1;3328:16;;;;;;;;;;;;;;;;;;3221:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3221:124:4;3351:3;:21;;;3373:4;;;;;;;;;;;3351:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3403:3;3385:4;3390:1;3385:7;;;;;;;;;;;;;;;;;:22;;;;;;;;;;;3423:2;;;;;;;;;;;:9;;;3433:4;;;;;;;;;;;3439:1;3442:9;3453:7;3462:10;3423:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3413:4:4;3418:1;3413:7;;;;;;;;;;;;;;;;;:60;;;;;;;;;;;3487:4;;;;;;;;;;;:15;;;3503:5;3510:7;3519:9;3530:4;3536:7;3487:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3480:64:4;;2863:686;;;;;;;;;;;;:::o;1042:25::-;;;;;;;;;;;;;:::o;4361:444::-;4539:7;4556:21;;:::i;:::-;4594:1;4580:16;;;;;;;;;;;;;;;;;;;;;;;;4556:40;;4612:2;;;;;;;;;;;:9;;;4622:4;;;;;;;;;;;4628:1;4631:9;4642:7;4651:10;4612:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4602:4:4;4607:1;4602:7;;;;;;;;;;;;;;;;;:60;;;;;;;;;;;4678:2;;;;;;;;;;;:9;;;4688:4;;;;;;;;;;;4694:1;4697:9;4708:7;4717:11;4678:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4668:4:4;4673:1;4668:7;;;;;;;;;;;;;;;;;:61;;;;;;;;;;;4743:4;;;;;;;;;;;:15;;;4759:5;4766:7;4775:9;4786:4;4792:7;4743:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4736:64:4;;4361:444;;;;;;;;;:::o;1294:160::-;1358:11;;;;;;;;;;;1357:12;1349:21;;;;;;;;1388:5;1376:4;;:18;;;;;;;;;;;;;;;;;;1421:3;1400:2;;:25;;;;;;;;;;;;;;;;;;1445:4;1431:11;;:18;;;;;;;;;;;;;;;;;;1294:160;;:::o;899:3908::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o",
  "source": "pragma solidity ^0.4.18;\n\nimport \"./ContractManager.sol\";\nimport \"./PoDs/RICOStandardPoD.sol\";\nimport \"./RICO.sol\";\n\n/// @title Launcher - RICO Launcher contract\n/// @author - Yusaku Senga - <senga@dri.network>\n/// license - Please check the LICENSE at github.com/DRI-network/RICO\n\n/**\n * @title   Launcher\n * @dev     Launcher for deploying the Proof of Donation (PoD) contracts with custom variables.\n *          RICO.sol, Launcher.sol and ContractManager.sol, are the three contracts\n *          that have to be deployed on the network on beforehand.\n *          Please see the 2_deploy_contracts.js migration for the details.\n *          \n * @dev     After deploying Launcher.sol and RICO.sol to the network it's important\n *          you register the addresse of RICO.sol and ContractManager.sol in this Launcher.\n *          Please see the 2_deploy_contracts.js migration for the details.\n */\ncontract Launcher {\n\n  /**\n   * Storage\n   */\n  string public name = \"RICO Launcher\";\n  string public version = \"0.9.3\";\n  RICO public rico;\n  ContractManager public cm;\n  bool public initialized = false;\n\n  /**\n   * constructor\n   */\n  function Launcher() public {}\n\n  /**\n   * @dev   Register the RICO contract address in the Launcher.\n   * @param _rico        RICO's contract address\n   */\n  function init(address _rico, address _cm) public {\n    require(!initialized);\n    rico = RICO(_rico);\n    cm = ContractManager(_cm);\n    initialized = true;\n  }\n\n  /**\n   * @dev standardICO uses 2 pods RICOStandardPoD and PublicSalePoD.\n   * @param _name                Token name of RICO format.\n   * @param _symbol              Token symbol of RICO format.\n   * @param _decimals            Token decimals of RICO format.\n   * @param _wallet              Project owner's multisig wallet.\n   * @param _iniDepParams        array                   params of RICOStandardPoD pod.\n   *        _iniDepParams[0]     _startTime              (see RICOStandardPoD.sol)\n   *        _iniDepParams[1]     _allocationOfTokens     (see RICOStandardPoD.sol)\n   *        _iniDepParams[2]     _priceInWei             (see RICOStandardPoD.sol)\n   *        _iniDepParams[3]     _secondOwnerAllocation  (see RICOStandardPoD.sol)\n   * @param _podParams           array                   params of PublicSalePoD pod.\n   *        _podParams[0]        _startTimeOfPoD         (see PublicSalePoD.sol)\n   *        _podParams[1]        _capOfToken             (see PublicSalePoD.sol)\n   *        _podParams[2]        _capOfWei               (see PublicSalePoD.sol)\n   * @param _iniDepAddresses     array                   owner addresses for the Initial Deposit (iniDeposit).\n   *        _iniDepAddresses[0]  iniDeposit Funder\n   *        _iniDepAddresses[1]  iniDeposit second owner (can receive set allocation)\n   * @param _marketMakers        array of marketMakers address of project.\n   */\n  function standardICO(\n    string _name, \n    string _symbol, \n    uint8 _decimals, \n    address _wallet,\n    uint256[] _iniDepParams,\n    uint256[] _podParams,\n    address[2] _iniDepAddresses,\n    address[] _marketMakers\n  ) \n  public returns (address)\n  {\n    address[] memory pods = new address[](2);\n\n    RICOStandardPoD rsp = new RICOStandardPoD();\n\n    rsp.init(_decimals, _iniDepParams[0], _iniDepParams[1], _iniDepParams[2], _iniDepAddresses, _marketMakers, _iniDepParams[3]);\n    rsp.transferOwnership(rico);\n\n    pods[0] = address(rsp);\n    pods[1] = cm.deploy(rico, 0, _decimals, _wallet, _podParams);\n\n    return rico.newProject(_name, _symbol, _decimals, pods, _wallet);\n  }\n\n  /**\n   * @dev simpleICO uses 2 pods PublicSalePoD and TokenMintPoD.\n   * @param _name          Token name of RICO format.\n   * @param _symbol        Token symbol of RICO format.\n   * @param _decimals      Token decimals of RICO format.\n   * @param _wallet        Project owner's multisig wallet.\n   * @param _podParams     array               params of PublicSalePoD pod.\n   *        _podParams[0]  _startTimeOfPoD     (see PublicSalePoD.sol)\n   *        _podParams[1]  _capOfToken         (see PublicSalePoD.sol)\n   *        _podParams[2]  _capOfWei           (see PublicSalePoD.sol)\n   * @param _mintParams    array               params of TokenMintPoD pod.\n   *        _mintParams[0] _allocationOfTokens (see TokenMintPod.sol)\n   *        _mintParams[1] _lockTime           (see TokenMintPod.sol)\n   */\n  function simpleICO(\n    string _name, \n    string _symbol, \n    uint8 _decimals, \n    address _wallet,\n    uint256[] _podParams,\n    uint256[] _mintParams\n  ) \n  public returns (address)\n  {\n    address[] memory pods = new address[](2);\n    pods[0] = cm.deploy(rico, 0, _decimals, _wallet, _podParams);\n    pods[1] = cm.deploy(rico, 1, _decimals, _wallet, _mintParams);\n\n    return rico.newProject(_name, _symbol, _decimals, pods, _wallet);\n  }\n}\n",
  "sourcePath": "/Users/lucaban/.ghq/github.com/DRI-network/RICO/contracts/Launcher.sol",
  "ast": {
    "attributes": {
      "absolutePath": "/Users/lucaban/.ghq/github.com/DRI-network/RICO/contracts/Launcher.sol",
      "exportedSymbols": {
        "Launcher": [
          617
        ]
      }
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "^",
            "0.4",
            ".18"
          ]
        },
        "id": 403,
        "name": "PragmaDirective",
        "src": "0:24:4"
      },
      {
        "attributes": {
          "SourceUnit": 149,
          "absolutePath": "/Users/lucaban/.ghq/github.com/DRI-network/RICO/contracts/ContractManager.sol",
          "file": "./ContractManager.sol",
          "scope": 618,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 404,
        "name": "ImportDirective",
        "src": "26:31:4"
      },
      {
        "attributes": {
          "SourceUnit": 3216,
          "absolutePath": "/Users/lucaban/.ghq/github.com/DRI-network/RICO/contracts/PoDs/RICOStandardPoD.sol",
          "file": "./PoDs/RICOStandardPoD.sol",
          "scope": 618,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 405,
        "name": "ImportDirective",
        "src": "58:36:4"
      },
      {
        "attributes": {
          "SourceUnit": 3661,
          "absolutePath": "/Users/lucaban/.ghq/github.com/DRI-network/RICO/contracts/RICO.sol",
          "file": "./RICO.sol",
          "scope": 618,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 406,
        "name": "ImportDirective",
        "src": "95:20:4"
      },
      {
        "attributes": {
          "baseContracts": [
            null
          ],
          "contractDependencies": [
            3215
          ],
          "contractKind": "contract",
          "documentation": "@title   Launcher\n@dev     Launcher for deploying the Proof of Donation (PoD) contracts with custom variables.\n         RICO.sol, Launcher.sol and ContractManager.sol, are the three contracts\n         that have to be deployed on the network on beforehand.\n         Please see the 2_deploy_contracts.js migration for the details.\n         \n@dev     After deploying Launcher.sol and RICO.sol to the network it's important\n         you register the addresse of RICO.sol and ContractManager.sol in this Launcher.\n         Please see the 2_deploy_contracts.js migration for the details.",
          "fullyImplemented": true,
          "linearizedBaseContracts": [
            617
          ],
          "name": "Launcher",
          "scope": 618
        },
        "children": [
          {
            "attributes": {
              "constant": false,
              "name": "name",
              "scope": 617,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "string storage ref",
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "name": "string",
                  "type": "string storage pointer"
                },
                "id": 407,
                "name": "ElementaryTypeName",
                "src": "947:6:4"
              },
              {
                "attributes": {
                  "argumentTypes": null,
                  "hexvalue": "5249434f204c61756e63686572",
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "lValueRequested": false,
                  "subdenomination": null,
                  "token": "string",
                  "type": "literal_string \"RICO Launcher\"",
                  "value": "RICO Launcher"
                },
                "id": 408,
                "name": "Literal",
                "src": "968:15:4"
              }
            ],
            "id": 409,
            "name": "VariableDeclaration",
            "src": "947:36:4"
          },
          {
            "attributes": {
              "constant": false,
              "name": "version",
              "scope": 617,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "string storage ref",
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "name": "string",
                  "type": "string storage pointer"
                },
                "id": 410,
                "name": "ElementaryTypeName",
                "src": "987:6:4"
              },
              {
                "attributes": {
                  "argumentTypes": null,
                  "hexvalue": "302e392e33",
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "lValueRequested": false,
                  "subdenomination": null,
                  "token": "string",
                  "type": "literal_string \"0.9.3\"",
                  "value": "0.9.3"
                },
                "id": 411,
                "name": "Literal",
                "src": "1011:7:4"
              }
            ],
            "id": 412,
            "name": "VariableDeclaration",
            "src": "987:31:4"
          },
          {
            "attributes": {
              "constant": false,
              "name": "rico",
              "scope": 617,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "contract RICO",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "RICO",
                  "referencedDeclaration": 3660,
                  "type": "contract RICO"
                },
                "id": 413,
                "name": "UserDefinedTypeName",
                "src": "1022:4:4"
              }
            ],
            "id": 414,
            "name": "VariableDeclaration",
            "src": "1022:16:4"
          },
          {
            "attributes": {
              "constant": false,
              "name": "cm",
              "scope": 617,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "contract ContractManager",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "ContractManager",
                  "referencedDeclaration": 148,
                  "type": "contract ContractManager"
                },
                "id": 415,
                "name": "UserDefinedTypeName",
                "src": "1042:15:4"
              }
            ],
            "id": 416,
            "name": "VariableDeclaration",
            "src": "1042:25:4"
          },
          {
            "attributes": {
              "constant": false,
              "name": "initialized",
              "scope": 617,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "bool",
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "name": "bool",
                  "type": "bool"
                },
                "id": 417,
                "name": "ElementaryTypeName",
                "src": "1071:4:4"
              },
              {
                "attributes": {
                  "argumentTypes": null,
                  "hexvalue": "66616c7365",
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "lValueRequested": false,
                  "subdenomination": null,
                  "token": "bool",
                  "type": "bool",
                  "value": "false"
                },
                "id": 418,
                "name": "Literal",
                "src": "1097:5:4"
              }
            ],
            "id": 419,
            "name": "VariableDeclaration",
            "src": "1071:31:4"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": true,
              "modifiers": [
                null
              ],
              "name": "Launcher",
              "payable": false,
              "scope": 617,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 420,
                "name": "ParameterList",
                "src": "1153:2:4"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 421,
                "name": "ParameterList",
                "src": "1163:0:4"
              },
              {
                "attributes": {
                  "statements": [
                    null
                  ]
                },
                "children": [],
                "id": 422,
                "name": "Block",
                "src": "1163:2:4"
              }
            ],
            "id": 423,
            "name": "FunctionDefinition",
            "src": "1136:29:4"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "init",
              "payable": false,
              "scope": 617,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_rico",
                      "scope": 452,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 424,
                        "name": "ElementaryTypeName",
                        "src": "1308:7:4"
                      }
                    ],
                    "id": 425,
                    "name": "VariableDeclaration",
                    "src": "1308:13:4"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_cm",
                      "scope": 452,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 426,
                        "name": "ElementaryTypeName",
                        "src": "1323:7:4"
                      }
                    ],
                    "id": 427,
                    "name": "VariableDeclaration",
                    "src": "1323:11:4"
                  }
                ],
                "id": 428,
                "name": "ParameterList",
                "src": "1307:28:4"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 429,
                "name": "ParameterList",
                "src": "1343:0:4"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 3770,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 430,
                            "name": "Identifier",
                            "src": "1349:7:4"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "!",
                              "prefix": true,
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 419,
                                  "type": "bool",
                                  "value": "initialized"
                                },
                                "id": 431,
                                "name": "Identifier",
                                "src": "1358:11:4"
                              }
                            ],
                            "id": 432,
                            "name": "UnaryOperation",
                            "src": "1357:12:4"
                          }
                        ],
                        "id": 433,
                        "name": "FunctionCall",
                        "src": "1349:21:4"
                      }
                    ],
                    "id": 434,
                    "name": "ExpressionStatement",
                    "src": "1349:21:4"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "contract RICO"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 414,
                              "type": "contract RICO",
                              "value": "rico"
                            },
                            "id": 435,
                            "name": "Identifier",
                            "src": "1376:4:4"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "contract RICO",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 3660,
                                  "type": "type(contract RICO)",
                                  "value": "RICO"
                                },
                                "id": 436,
                                "name": "Identifier",
                                "src": "1383:4:4"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 425,
                                  "type": "address",
                                  "value": "_rico"
                                },
                                "id": 437,
                                "name": "Identifier",
                                "src": "1388:5:4"
                              }
                            ],
                            "id": 438,
                            "name": "FunctionCall",
                            "src": "1383:11:4"
                          }
                        ],
                        "id": 439,
                        "name": "Assignment",
                        "src": "1376:18:4"
                      }
                    ],
                    "id": 440,
                    "name": "ExpressionStatement",
                    "src": "1376:18:4"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "contract ContractManager"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 416,
                              "type": "contract ContractManager",
                              "value": "cm"
                            },
                            "id": 441,
                            "name": "Identifier",
                            "src": "1400:2:4"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "contract ContractManager",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 148,
                                  "type": "type(contract ContractManager)",
                                  "value": "ContractManager"
                                },
                                "id": 442,
                                "name": "Identifier",
                                "src": "1405:15:4"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 427,
                                  "type": "address",
                                  "value": "_cm"
                                },
                                "id": 443,
                                "name": "Identifier",
                                "src": "1421:3:4"
                              }
                            ],
                            "id": 444,
                            "name": "FunctionCall",
                            "src": "1405:20:4"
                          }
                        ],
                        "id": 445,
                        "name": "Assignment",
                        "src": "1400:25:4"
                      }
                    ],
                    "id": 446,
                    "name": "ExpressionStatement",
                    "src": "1400:25:4"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 419,
                              "type": "bool",
                              "value": "initialized"
                            },
                            "id": 447,
                            "name": "Identifier",
                            "src": "1431:11:4"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "74727565",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "bool",
                              "type": "bool",
                              "value": "true"
                            },
                            "id": 448,
                            "name": "Literal",
                            "src": "1445:4:4"
                          }
                        ],
                        "id": 449,
                        "name": "Assignment",
                        "src": "1431:18:4"
                      }
                    ],
                    "id": 450,
                    "name": "ExpressionStatement",
                    "src": "1431:18:4"
                  }
                ],
                "id": 451,
                "name": "Block",
                "src": "1343:111:4"
              }
            ],
            "id": 452,
            "name": "FunctionDefinition",
            "src": "1294:160:4"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "standardICO",
              "payable": false,
              "scope": 617,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_name",
                      "scope": 551,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "string memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "string",
                          "type": "string storage pointer"
                        },
                        "id": 453,
                        "name": "ElementaryTypeName",
                        "src": "2889:6:4"
                      }
                    ],
                    "id": 454,
                    "name": "VariableDeclaration",
                    "src": "2889:12:4"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_symbol",
                      "scope": 551,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "string memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "string",
                          "type": "string storage pointer"
                        },
                        "id": 455,
                        "name": "ElementaryTypeName",
                        "src": "2908:6:4"
                      }
                    ],
                    "id": 456,
                    "name": "VariableDeclaration",
                    "src": "2908:14:4"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_decimals",
                      "scope": 551,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint8",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint8",
                          "type": "uint8"
                        },
                        "id": 457,
                        "name": "ElementaryTypeName",
                        "src": "2929:5:4"
                      }
                    ],
                    "id": 458,
                    "name": "VariableDeclaration",
                    "src": "2929:15:4"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_wallet",
                      "scope": 551,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 459,
                        "name": "ElementaryTypeName",
                        "src": "2951:7:4"
                      }
                    ],
                    "id": 460,
                    "name": "VariableDeclaration",
                    "src": "2951:15:4"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_iniDepParams",
                      "scope": 551,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256[] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "uint256[] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint256",
                              "type": "uint256"
                            },
                            "id": 461,
                            "name": "ElementaryTypeName",
                            "src": "2972:7:4"
                          }
                        ],
                        "id": 462,
                        "name": "ArrayTypeName",
                        "src": "2972:9:4"
                      }
                    ],
                    "id": 463,
                    "name": "VariableDeclaration",
                    "src": "2972:23:4"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_podParams",
                      "scope": 551,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256[] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "uint256[] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint256",
                              "type": "uint256"
                            },
                            "id": 464,
                            "name": "ElementaryTypeName",
                            "src": "3001:7:4"
                          }
                        ],
                        "id": 465,
                        "name": "ArrayTypeName",
                        "src": "3001:9:4"
                      }
                    ],
                    "id": 466,
                    "name": "VariableDeclaration",
                    "src": "3001:20:4"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_iniDepAddresses",
                      "scope": 551,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address[2] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "type": "address[2] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "address",
                              "type": "address"
                            },
                            "id": 467,
                            "name": "ElementaryTypeName",
                            "src": "3027:7:4"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "32",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 2",
                              "value": "2"
                            },
                            "id": 468,
                            "name": "Literal",
                            "src": "3035:1:4"
                          }
                        ],
                        "id": 469,
                        "name": "ArrayTypeName",
                        "src": "3027:10:4"
                      }
                    ],
                    "id": 470,
                    "name": "VariableDeclaration",
                    "src": "3027:27:4"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_marketMakers",
                      "scope": 551,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address[] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "address[] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "address",
                              "type": "address"
                            },
                            "id": 471,
                            "name": "ElementaryTypeName",
                            "src": "3060:7:4"
                          }
                        ],
                        "id": 472,
                        "name": "ArrayTypeName",
                        "src": "3060:9:4"
                      }
                    ],
                    "id": 473,
                    "name": "VariableDeclaration",
                    "src": "3060:23:4"
                  }
                ],
                "id": 474,
                "name": "ParameterList",
                "src": "2883:204:4"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 551,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 475,
                        "name": "ElementaryTypeName",
                        "src": "3107:7:4"
                      }
                    ],
                    "id": 476,
                    "name": "VariableDeclaration",
                    "src": "3107:7:4"
                  }
                ],
                "id": 477,
                "name": "ParameterList",
                "src": "3106:9:4"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        481
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "pods",
                          "scope": 551,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "address[] memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "length": null,
                              "type": "address[] storage pointer"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "name": "address",
                                  "type": "address"
                                },
                                "id": 479,
                                "name": "ElementaryTypeName",
                                "src": "3124:7:4"
                              }
                            ],
                            "id": 480,
                            "name": "ArrayTypeName",
                            "src": "3124:9:4"
                          }
                        ],
                        "id": 481,
                        "name": "VariableDeclaration",
                        "src": "3124:21:4"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "address[] memory",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_2_by_1",
                                  "typeString": "int_const 2"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "type": "function (uint256) pure returns (address[] memory)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "length": null,
                                  "type": "address[] storage pointer"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "name": "address",
                                      "type": "address"
                                    },
                                    "id": 482,
                                    "name": "ElementaryTypeName",
                                    "src": "3152:7:4"
                                  }
                                ],
                                "id": 483,
                                "name": "ArrayTypeName",
                                "src": "3152:9:4"
                              }
                            ],
                            "id": 484,
                            "name": "NewExpression",
                            "src": "3148:13:4"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "32",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 2",
                              "value": "2"
                            },
                            "id": 485,
                            "name": "Literal",
                            "src": "3162:1:4"
                          }
                        ],
                        "id": 486,
                        "name": "FunctionCall",
                        "src": "3148:16:4"
                      }
                    ],
                    "id": 487,
                    "name": "VariableDeclarationStatement",
                    "src": "3124:40:4"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        489
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "rsp",
                          "scope": 551,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "contract RICOStandardPoD",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "RICOStandardPoD",
                              "referencedDeclaration": 3215,
                              "type": "contract RICOStandardPoD"
                            },
                            "id": 488,
                            "name": "UserDefinedTypeName",
                            "src": "3171:15:4"
                          }
                        ],
                        "id": 489,
                        "name": "VariableDeclaration",
                        "src": "3171:19:4"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "arguments": [
                            null
                          ],
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "contract RICOStandardPoD",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                null
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "function () returns (contract RICOStandardPoD)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "contractScope": null,
                                  "name": "RICOStandardPoD",
                                  "referencedDeclaration": 3215,
                                  "type": "contract RICOStandardPoD"
                                },
                                "id": 490,
                                "name": "UserDefinedTypeName",
                                "src": "3197:15:4"
                              }
                            ],
                            "id": 491,
                            "name": "NewExpression",
                            "src": "3193:19:4"
                          }
                        ],
                        "id": 492,
                        "name": "FunctionCall",
                        "src": "3193:21:4"
                      }
                    ],
                    "id": 493,
                    "name": "VariableDeclarationStatement",
                    "src": "3171:43:4"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bool",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint8",
                                  "typeString": "uint8"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_array$_t_address_$2_memory_ptr",
                                  "typeString": "address[2] memory"
                                },
                                {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "init",
                              "referencedDeclaration": 3070,
                              "type": "function (uint8,uint256,uint256,uint256,address[2] memory,address[] memory,uint256) external returns (bool)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 489,
                                  "type": "contract RICOStandardPoD",
                                  "value": "rsp"
                                },
                                "id": 494,
                                "name": "Identifier",
                                "src": "3221:3:4"
                              }
                            ],
                            "id": 496,
                            "name": "MemberAccess",
                            "src": "3221:8:4"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 458,
                              "type": "uint8",
                              "value": "_decimals"
                            },
                            "id": 497,
                            "name": "Identifier",
                            "src": "3230:9:4"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 463,
                                  "type": "uint256[] memory",
                                  "value": "_iniDepParams"
                                },
                                "id": 498,
                                "name": "Identifier",
                                "src": "3241:13:4"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "30",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 0",
                                  "value": "0"
                                },
                                "id": 499,
                                "name": "Literal",
                                "src": "3255:1:4"
                              }
                            ],
                            "id": 500,
                            "name": "IndexAccess",
                            "src": "3241:16:4"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 463,
                                  "type": "uint256[] memory",
                                  "value": "_iniDepParams"
                                },
                                "id": 501,
                                "name": "Identifier",
                                "src": "3259:13:4"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "31",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 1",
                                  "value": "1"
                                },
                                "id": 502,
                                "name": "Literal",
                                "src": "3273:1:4"
                              }
                            ],
                            "id": 503,
                            "name": "IndexAccess",
                            "src": "3259:16:4"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 463,
                                  "type": "uint256[] memory",
                                  "value": "_iniDepParams"
                                },
                                "id": 504,
                                "name": "Identifier",
                                "src": "3277:13:4"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "32",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 2",
                                  "value": "2"
                                },
                                "id": 505,
                                "name": "Literal",
                                "src": "3291:1:4"
                              }
                            ],
                            "id": 506,
                            "name": "IndexAccess",
                            "src": "3277:16:4"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 470,
                              "type": "address[2] memory",
                              "value": "_iniDepAddresses"
                            },
                            "id": 507,
                            "name": "Identifier",
                            "src": "3295:16:4"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 473,
                              "type": "address[] memory",
                              "value": "_marketMakers"
                            },
                            "id": 508,
                            "name": "Identifier",
                            "src": "3313:13:4"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 463,
                                  "type": "uint256[] memory",
                                  "value": "_iniDepParams"
                                },
                                "id": 509,
                                "name": "Identifier",
                                "src": "3328:13:4"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "33",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 3",
                                  "value": "3"
                                },
                                "id": 510,
                                "name": "Literal",
                                "src": "3342:1:4"
                              }
                            ],
                            "id": 511,
                            "name": "IndexAccess",
                            "src": "3328:16:4"
                          }
                        ],
                        "id": 512,
                        "name": "FunctionCall",
                        "src": "3221:124:4"
                      }
                    ],
                    "id": 513,
                    "name": "ExpressionStatement",
                    "src": "3221:124:4"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_RICO_$3660",
                                  "typeString": "contract RICO"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "transferOwnership",
                              "referencedDeclaration": 2116,
                              "type": "function (address) external"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 489,
                                  "type": "contract RICOStandardPoD",
                                  "value": "rsp"
                                },
                                "id": 514,
                                "name": "Identifier",
                                "src": "3351:3:4"
                              }
                            ],
                            "id": 516,
                            "name": "MemberAccess",
                            "src": "3351:21:4"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 414,
                              "type": "contract RICO",
                              "value": "rico"
                            },
                            "id": 517,
                            "name": "Identifier",
                            "src": "3373:4:4"
                          }
                        ],
                        "id": 518,
                        "name": "FunctionCall",
                        "src": "3351:27:4"
                      }
                    ],
                    "id": 519,
                    "name": "ExpressionStatement",
                    "src": "3351:27:4"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "address"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 481,
                                  "type": "address[] memory",
                                  "value": "pods"
                                },
                                "id": 520,
                                "name": "Identifier",
                                "src": "3385:4:4"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "30",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 0",
                                  "value": "0"
                                },
                                "id": 521,
                                "name": "Literal",
                                "src": "3390:1:4"
                              }
                            ],
                            "id": 522,
                            "name": "IndexAccess",
                            "src": "3385:7:4"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "address",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_contract$_RICOStandardPoD_$3215",
                                      "typeString": "contract RICOStandardPoD"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "type": "type(address)",
                                  "value": "address"
                                },
                                "id": 523,
                                "name": "ElementaryTypeNameExpression",
                                "src": "3395:7:4"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 489,
                                  "type": "contract RICOStandardPoD",
                                  "value": "rsp"
                                },
                                "id": 524,
                                "name": "Identifier",
                                "src": "3403:3:4"
                              }
                            ],
                            "id": 525,
                            "name": "FunctionCall",
                            "src": "3395:12:4"
                          }
                        ],
                        "id": 526,
                        "name": "Assignment",
                        "src": "3385:22:4"
                      }
                    ],
                    "id": 527,
                    "name": "ExpressionStatement",
                    "src": "3385:22:4"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "address"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 481,
                                  "type": "address[] memory",
                                  "value": "pods"
                                },
                                "id": 528,
                                "name": "Identifier",
                                "src": "3413:4:4"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "31",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 1",
                                  "value": "1"
                                },
                                "id": 529,
                                "name": "Literal",
                                "src": "3418:1:4"
                              }
                            ],
                            "id": 530,
                            "name": "IndexAccess",
                            "src": "3413:7:4"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "address",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_contract$_RICO_$3660",
                                      "typeString": "contract RICO"
                                    },
                                    {
                                      "typeIdentifier": "t_rational_0_by_1",
                                      "typeString": "int_const 0"
                                    },
                                    {
                                      "typeIdentifier": "t_uint8",
                                      "typeString": "uint8"
                                    },
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    },
                                    {
                                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                      "typeString": "uint256[] memory"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "deploy",
                                  "referencedDeclaration": 147,
                                  "type": "function (address,uint256,uint8,address,uint256[] memory) external returns (address)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 416,
                                      "type": "contract ContractManager",
                                      "value": "cm"
                                    },
                                    "id": 531,
                                    "name": "Identifier",
                                    "src": "3423:2:4"
                                  }
                                ],
                                "id": 532,
                                "name": "MemberAccess",
                                "src": "3423:9:4"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 414,
                                  "type": "contract RICO",
                                  "value": "rico"
                                },
                                "id": 533,
                                "name": "Identifier",
                                "src": "3433:4:4"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "30",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 0",
                                  "value": "0"
                                },
                                "id": 534,
                                "name": "Literal",
                                "src": "3439:1:4"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 458,
                                  "type": "uint8",
                                  "value": "_decimals"
                                },
                                "id": 535,
                                "name": "Identifier",
                                "src": "3442:9:4"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 460,
                                  "type": "address",
                                  "value": "_wallet"
                                },
                                "id": 536,
                                "name": "Identifier",
                                "src": "3453:7:4"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 466,
                                  "type": "uint256[] memory",
                                  "value": "_podParams"
                                },
                                "id": 537,
                                "name": "Identifier",
                                "src": "3462:10:4"
                              }
                            ],
                            "id": 538,
                            "name": "FunctionCall",
                            "src": "3423:50:4"
                          }
                        ],
                        "id": 539,
                        "name": "Assignment",
                        "src": "3413:60:4"
                      }
                    ],
                    "id": 540,
                    "name": "ExpressionStatement",
                    "src": "3413:60:4"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 477
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "address",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                },
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                },
                                {
                                  "typeIdentifier": "t_uint8",
                                  "typeString": "uint8"
                                },
                                {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "newProject",
                              "referencedDeclaration": 3463,
                              "type": "function (string memory,string memory,uint8,address[] memory,address) external returns (address)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 414,
                                  "type": "contract RICO",
                                  "value": "rico"
                                },
                                "id": 541,
                                "name": "Identifier",
                                "src": "3487:4:4"
                              }
                            ],
                            "id": 542,
                            "name": "MemberAccess",
                            "src": "3487:15:4"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 454,
                              "type": "string memory",
                              "value": "_name"
                            },
                            "id": 543,
                            "name": "Identifier",
                            "src": "3503:5:4"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 456,
                              "type": "string memory",
                              "value": "_symbol"
                            },
                            "id": 544,
                            "name": "Identifier",
                            "src": "3510:7:4"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 458,
                              "type": "uint8",
                              "value": "_decimals"
                            },
                            "id": 545,
                            "name": "Identifier",
                            "src": "3519:9:4"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 481,
                              "type": "address[] memory",
                              "value": "pods"
                            },
                            "id": 546,
                            "name": "Identifier",
                            "src": "3530:4:4"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 460,
                              "type": "address",
                              "value": "_wallet"
                            },
                            "id": 547,
                            "name": "Identifier",
                            "src": "3536:7:4"
                          }
                        ],
                        "id": 548,
                        "name": "FunctionCall",
                        "src": "3487:57:4"
                      }
                    ],
                    "id": 549,
                    "name": "Return",
                    "src": "3480:64:4"
                  }
                ],
                "id": 550,
                "name": "Block",
                "src": "3118:431:4"
              }
            ],
            "id": 551,
            "name": "FunctionDefinition",
            "src": "2863:686:4"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "simpleICO",
              "payable": false,
              "scope": 617,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_name",
                      "scope": 616,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "string memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "string",
                          "type": "string storage pointer"
                        },
                        "id": 552,
                        "name": "ElementaryTypeName",
                        "src": "4385:6:4"
                      }
                    ],
                    "id": 553,
                    "name": "VariableDeclaration",
                    "src": "4385:12:4"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_symbol",
                      "scope": 616,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "string memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "string",
                          "type": "string storage pointer"
                        },
                        "id": 554,
                        "name": "ElementaryTypeName",
                        "src": "4404:6:4"
                      }
                    ],
                    "id": 555,
                    "name": "VariableDeclaration",
                    "src": "4404:14:4"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_decimals",
                      "scope": 616,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint8",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint8",
                          "type": "uint8"
                        },
                        "id": 556,
                        "name": "ElementaryTypeName",
                        "src": "4425:5:4"
                      }
                    ],
                    "id": 557,
                    "name": "VariableDeclaration",
                    "src": "4425:15:4"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_wallet",
                      "scope": 616,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 558,
                        "name": "ElementaryTypeName",
                        "src": "4447:7:4"
                      }
                    ],
                    "id": 559,
                    "name": "VariableDeclaration",
                    "src": "4447:15:4"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_podParams",
                      "scope": 616,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256[] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "uint256[] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint256",
                              "type": "uint256"
                            },
                            "id": 560,
                            "name": "ElementaryTypeName",
                            "src": "4468:7:4"
                          }
                        ],
                        "id": 561,
                        "name": "ArrayTypeName",
                        "src": "4468:9:4"
                      }
                    ],
                    "id": 562,
                    "name": "VariableDeclaration",
                    "src": "4468:20:4"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_mintParams",
                      "scope": 616,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256[] memory",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "uint256[] storage pointer"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint256",
                              "type": "uint256"
                            },
                            "id": 563,
                            "name": "ElementaryTypeName",
                            "src": "4494:7:4"
                          }
                        ],
                        "id": 564,
                        "name": "ArrayTypeName",
                        "src": "4494:9:4"
                      }
                    ],
                    "id": 565,
                    "name": "VariableDeclaration",
                    "src": "4494:21:4"
                  }
                ],
                "id": 566,
                "name": "ParameterList",
                "src": "4379:140:4"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 616,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 567,
                        "name": "ElementaryTypeName",
                        "src": "4539:7:4"
                      }
                    ],
                    "id": 568,
                    "name": "VariableDeclaration",
                    "src": "4539:7:4"
                  }
                ],
                "id": 569,
                "name": "ParameterList",
                "src": "4538:9:4"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        573
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "pods",
                          "scope": 616,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "address[] memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "length": null,
                              "type": "address[] storage pointer"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "name": "address",
                                  "type": "address"
                                },
                                "id": 571,
                                "name": "ElementaryTypeName",
                                "src": "4556:7:4"
                              }
                            ],
                            "id": 572,
                            "name": "ArrayTypeName",
                            "src": "4556:9:4"
                          }
                        ],
                        "id": 573,
                        "name": "VariableDeclaration",
                        "src": "4556:21:4"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "address[] memory",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_2_by_1",
                                  "typeString": "int_const 2"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "type": "function (uint256) pure returns (address[] memory)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "length": null,
                                  "type": "address[] storage pointer"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "name": "address",
                                      "type": "address"
                                    },
                                    "id": 574,
                                    "name": "ElementaryTypeName",
                                    "src": "4584:7:4"
                                  }
                                ],
                                "id": 575,
                                "name": "ArrayTypeName",
                                "src": "4584:9:4"
                              }
                            ],
                            "id": 576,
                            "name": "NewExpression",
                            "src": "4580:13:4"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "32",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 2",
                              "value": "2"
                            },
                            "id": 577,
                            "name": "Literal",
                            "src": "4594:1:4"
                          }
                        ],
                        "id": 578,
                        "name": "FunctionCall",
                        "src": "4580:16:4"
                      }
                    ],
                    "id": 579,
                    "name": "VariableDeclarationStatement",
                    "src": "4556:40:4"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "address"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 573,
                                  "type": "address[] memory",
                                  "value": "pods"
                                },
                                "id": 580,
                                "name": "Identifier",
                                "src": "4602:4:4"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "30",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 0",
                                  "value": "0"
                                },
                                "id": 581,
                                "name": "Literal",
                                "src": "4607:1:4"
                              }
                            ],
                            "id": 582,
                            "name": "IndexAccess",
                            "src": "4602:7:4"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "address",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_contract$_RICO_$3660",
                                      "typeString": "contract RICO"
                                    },
                                    {
                                      "typeIdentifier": "t_rational_0_by_1",
                                      "typeString": "int_const 0"
                                    },
                                    {
                                      "typeIdentifier": "t_uint8",
                                      "typeString": "uint8"
                                    },
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    },
                                    {
                                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                      "typeString": "uint256[] memory"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "deploy",
                                  "referencedDeclaration": 147,
                                  "type": "function (address,uint256,uint8,address,uint256[] memory) external returns (address)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 416,
                                      "type": "contract ContractManager",
                                      "value": "cm"
                                    },
                                    "id": 583,
                                    "name": "Identifier",
                                    "src": "4612:2:4"
                                  }
                                ],
                                "id": 584,
                                "name": "MemberAccess",
                                "src": "4612:9:4"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 414,
                                  "type": "contract RICO",
                                  "value": "rico"
                                },
                                "id": 585,
                                "name": "Identifier",
                                "src": "4622:4:4"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "30",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 0",
                                  "value": "0"
                                },
                                "id": 586,
                                "name": "Literal",
                                "src": "4628:1:4"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 557,
                                  "type": "uint8",
                                  "value": "_decimals"
                                },
                                "id": 587,
                                "name": "Identifier",
                                "src": "4631:9:4"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 559,
                                  "type": "address",
                                  "value": "_wallet"
                                },
                                "id": 588,
                                "name": "Identifier",
                                "src": "4642:7:4"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 562,
                                  "type": "uint256[] memory",
                                  "value": "_podParams"
                                },
                                "id": 589,
                                "name": "Identifier",
                                "src": "4651:10:4"
                              }
                            ],
                            "id": 590,
                            "name": "FunctionCall",
                            "src": "4612:50:4"
                          }
                        ],
                        "id": 591,
                        "name": "Assignment",
                        "src": "4602:60:4"
                      }
                    ],
                    "id": 592,
                    "name": "ExpressionStatement",
                    "src": "4602:60:4"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "address"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 573,
                                  "type": "address[] memory",
                                  "value": "pods"
                                },
                                "id": 593,
                                "name": "Identifier",
                                "src": "4668:4:4"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "31",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 1",
                                  "value": "1"
                                },
                                "id": 594,
                                "name": "Literal",
                                "src": "4673:1:4"
                              }
                            ],
                            "id": 595,
                            "name": "IndexAccess",
                            "src": "4668:7:4"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "address",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_contract$_RICO_$3660",
                                      "typeString": "contract RICO"
                                    },
                                    {
                                      "typeIdentifier": "t_rational_1_by_1",
                                      "typeString": "int_const 1"
                                    },
                                    {
                                      "typeIdentifier": "t_uint8",
                                      "typeString": "uint8"
                                    },
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    },
                                    {
                                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                      "typeString": "uint256[] memory"
                                    }
                                  ],
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "deploy",
                                  "referencedDeclaration": 147,
                                  "type": "function (address,uint256,uint8,address,uint256[] memory) external returns (address)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 416,
                                      "type": "contract ContractManager",
                                      "value": "cm"
                                    },
                                    "id": 596,
                                    "name": "Identifier",
                                    "src": "4678:2:4"
                                  }
                                ],
                                "id": 597,
                                "name": "MemberAccess",
                                "src": "4678:9:4"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 414,
                                  "type": "contract RICO",
                                  "value": "rico"
                                },
                                "id": 598,
                                "name": "Identifier",
                                "src": "4688:4:4"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "hexvalue": "31",
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "subdenomination": null,
                                  "token": "number",
                                  "type": "int_const 1",
                                  "value": "1"
                                },
                                "id": 599,
                                "name": "Literal",
                                "src": "4694:1:4"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 557,
                                  "type": "uint8",
                                  "value": "_decimals"
                                },
                                "id": 600,
                                "name": "Identifier",
                                "src": "4697:9:4"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 559,
                                  "type": "address",
                                  "value": "_wallet"
                                },
                                "id": 601,
                                "name": "Identifier",
                                "src": "4708:7:4"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 565,
                                  "type": "uint256[] memory",
                                  "value": "_mintParams"
                                },
                                "id": 602,
                                "name": "Identifier",
                                "src": "4717:11:4"
                              }
                            ],
                            "id": 603,
                            "name": "FunctionCall",
                            "src": "4678:51:4"
                          }
                        ],
                        "id": 604,
                        "name": "Assignment",
                        "src": "4668:61:4"
                      }
                    ],
                    "id": 605,
                    "name": "ExpressionStatement",
                    "src": "4668:61:4"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 569
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "address",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                },
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                },
                                {
                                  "typeIdentifier": "t_uint8",
                                  "typeString": "uint8"
                                },
                                {
                                  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                  "typeString": "address[] memory"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "newProject",
                              "referencedDeclaration": 3463,
                              "type": "function (string memory,string memory,uint8,address[] memory,address) external returns (address)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 414,
                                  "type": "contract RICO",
                                  "value": "rico"
                                },
                                "id": 606,
                                "name": "Identifier",
                                "src": "4743:4:4"
                              }
                            ],
                            "id": 607,
                            "name": "MemberAccess",
                            "src": "4743:15:4"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 553,
                              "type": "string memory",
                              "value": "_name"
                            },
                            "id": 608,
                            "name": "Identifier",
                            "src": "4759:5:4"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 555,
                              "type": "string memory",
                              "value": "_symbol"
                            },
                            "id": 609,
                            "name": "Identifier",
                            "src": "4766:7:4"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 557,
                              "type": "uint8",
                              "value": "_decimals"
                            },
                            "id": 610,
                            "name": "Identifier",
                            "src": "4775:9:4"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 573,
                              "type": "address[] memory",
                              "value": "pods"
                            },
                            "id": 611,
                            "name": "Identifier",
                            "src": "4786:4:4"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 559,
                              "type": "address",
                              "value": "_wallet"
                            },
                            "id": 612,
                            "name": "Identifier",
                            "src": "4792:7:4"
                          }
                        ],
                        "id": 613,
                        "name": "FunctionCall",
                        "src": "4743:57:4"
                      }
                    ],
                    "id": 614,
                    "name": "Return",
                    "src": "4736:64:4"
                  }
                ],
                "id": 615,
                "name": "Block",
                "src": "4550:255:4"
              }
            ],
            "id": 616,
            "name": "FunctionDefinition",
            "src": "4361:444:4"
          }
        ],
        "id": 617,
        "name": "ContractDefinition",
        "src": "899:3908:4"
      }
    ],
    "id": 618,
    "name": "SourceUnit",
    "src": "0:4808:4"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.18+commit.9cf6e910.Emscripten.clang"
  },
  "networks": {
    "1520399383573": {
      "events": {},
      "links": {},
      "address": "0x6057fb5850a0ebb12a558aa9c18a0483befc088d"
    }
  },
  "schemaVersion": "1.0.1",
  "updatedAt": "2018-03-07T05:10:53.112Z"
}