{
  "contractName": "PandoKit",
  "abi": [
    {
      "constant": true,
      "inputs": [],
      "name": "APM_NODE",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "ens",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "OPEN_NODE",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "fac",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "appId",
          "type": "bytes32"
        }
      ],
      "name": "latestVersionAppBase",
      "outputs": [
        {
          "name": "base",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "ETH_NODE",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "name": "_ens",
          "type": "address"
        },
        {
          "name": "_tokenFactory",
          "type": "address"
        },
        {
          "name": "_devchain",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "token",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "name",
          "type": "string"
        },
        {
          "indexed": false,
          "name": "symbol",
          "type": "string"
        }
      ],
      "name": "DeployToken",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "dao",
          "type": "address"
        }
      ],
      "name": "DeployInstance",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "appProxy",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "appId",
          "type": "bytes32"
        }
      ],
      "name": "InstalledApp",
      "type": "event"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_name",
          "type": "string"
        },
        {
          "name": "_symbol",
          "type": "string"
        }
      ],
      "name": "newToken",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "token",
          "type": "address"
        }
      ],
      "name": "newInstance",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60806040523480156200001157600080fd5b506040516060806200572f8339810180604052810190808051906020019092919080519060200190929190805190602001909291905050506000836000816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156200021857620001156040805190810160405280600881526020017f626172652d6b69740000000000000000000000000000000000000000000000008152506000620002c1640100000000026401000000009004565b90506200013181620005f1640100000000026401000000009004565b73ffffffffffffffffffffffffffffffffffffffff1663c3b314726040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156200019557600080fd5b505af1158015620001aa573d6000803e3d6000fd5b505050506040513d6020811015620001c157600080fd5b8101908080519060200190929190505050600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200025a565b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50505080600160146101000a81548160ff02191690831515021790555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050506200089c565b600081156200048e57600060010260405180807f657468000000000000000000000000000000000000000000000000000000000081525060030190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902060405180807f617261676f6e706d00000000000000000000000000000000000000000000000081525060080190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902060405180807f6f70656e00000000000000000000000000000000000000000000000000000000815250600401905060405180910390206040518083600019166000191681526020018260001916600019168152602001925050506040518091039020836040518082805190602001908083835b6020831015156200042d578051825260208201915060208101905060208303925062000406565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405180836000191660001916815260200182600019166000191681526020019250505060405180910390209050620005eb565b600060010260405180807f657468000000000000000000000000000000000000000000000000000000000081525060030190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902060405180807f617261676f6e706d000000000000000000000000000000000000000000000000815250600801905060405180910390206040518083600019166000191681526020018260001916600019168152602001925050506040518091039020836040518082805190602001908083835b6020831015156200058f578051825260208201915060208101905060208303925062000568565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902090505b92915050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630178b8bf846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156200068d57600080fd5b505af1158015620006a2573d6000803e3d6000fd5b505050506040513d6020811015620006b957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16633b3b57de846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b1580156200074157600080fd5b505af115801562000756573d6000803e3d6000fd5b505050506040513d60208110156200076d57600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff1663c36af4606040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b158015620007e557600080fd5b505af1158015620007fa573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060a08110156200082557600080fd5b810190809190826060018051906020019092919080516401000000008111156200084e57600080fd5b828101905060208101848111156200086557600080fd5b81518560018202830111640100000000821117156200088357600080fd5b5050929190505050909150508092505081915050919050565b614e8380620008ac6000396000f30060806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806309720778146100935780633f15457f146100c65780634629ffea1461011d57806379ae05e1146101705780638b128f25146101a3578063c3b31472146101e6578063c6d2c7171461023d578063cc473be3146102ae575b600080fd5b34801561009f57600080fd5b506100a86102e1565b60405180826000191660001916815260200191505060405180910390f35b3480156100d257600080fd5b506100db6103ad565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561012957600080fd5b5061016e6004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293905050506103d2565b005b34801561017c57600080fd5b506101856105e2565b60405180826000191660001916815260200191505060405180910390f35b3480156101af57600080fd5b506101e4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610710565b005b3480156101f257600080fd5b506101fb6147db565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561024957600080fd5b5061026c6004803603810190808035600019169060200190929190505050614801565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102ba57600080fd5b506102c3614aa0565b60405180826000191660001916815260200191505060405180910390f35b600060010260405180807f657468000000000000000000000000000000000000000000000000000000000081525060030190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902060405180807f617261676f6e706d00000000000000000000000000000000000000000000000081525060080190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b7b72c160008088886000898960016040518963ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001888152602001806020018660ff168152602001806020018415151515815260200183810383528989828181526020019250808284378201915050838103825286868281815260200192508082843782019150509a5050505050505050505050602060405180830381600087803b1580156104f757600080fd5b505af115801561050b573d6000803e3d6000fd5b505050506040513d602081101561052157600080fd5b810190808051906020019092919050505090507f1dabe025035deb4074d7d4bb7178730ea942096e7b7a96943b6f7432523d24608186868686604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200180602001838103835287878281815260200192508082843782019150508381038252858582818152602001925080828437820191505097505050505050505060405180910390a15050505050565b600060010260405180807f657468000000000000000000000000000000000000000000000000000000000081525060030190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902060405180807f617261676f6e706d00000000000000000000000000000000000000000000000081525060080190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902060405180807f6f70656e0000000000000000000000000000000000000000000000000000000081525060040190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902081565b610718614e34565b60008060008060008060008060a0604051908101604052806107706040805190810160405280600581526020017f7661756c740000000000000000000000000000000000000000000000000000008152506000614b0a565b600019166000191681526020016107bd6040805190810160405280600781526020017f66696e616e6365000000000000000000000000000000000000000000000000008152506000614b0a565b6000191660001916815260200161080a6040805190810160405280600d81526020017f746f6b656e2d6d616e61676572000000000000000000000000000000000000008152506000614b0a565b600019166000191681526020016108576040805190810160405280600681526020017f766f74696e6700000000000000000000000000000000000000000000000000008152506000614b0a565b600019166000191681526020016108b36040805190810160405280600c81526020017f70616e646f2d636f6c6f6e790000000000000000000000000000000000000000815250600160149054906101000a900460ff1615614b0a565b60001916600019168152509850600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166321687444306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561097d57600080fd5b505af1158015610991573d6000803e3d6000fd5b505050506040513d60208110156109a757600080fd5b810190808051906020019092919050505097508773ffffffffffffffffffffffffffffffffffffffff1663de2873596040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610a1e57600080fd5b505af1158015610a32573d6000803e3d6000fd5b505050506040513d6020811015610a4857600080fd5b810190808051906020019092919050505096508673ffffffffffffffffffffffffffffffffffffffff1663a479e5086040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610abf57600080fd5b505af1158015610ad3573d6000803e3d6000fd5b505050506040513d6020811015610ae957600080fd5b810190808051906020019092919050505095508673ffffffffffffffffffffffffffffffffffffffff1663be038478308a8b73ffffffffffffffffffffffffffffffffffffffff16638ea8dc9d6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610b7e57600080fd5b505af1158015610b92573d6000803e3d6000fd5b505050506040513d6020811015610ba857600080fd5b8101908080519060200190929190505050306040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050600060405180830381600087803b158015610cad57600080fd5b505af1158015610cc1573d6000803e3d6000fd5b505050508773ffffffffffffffffffffffffffffffffffffffff1663397edd418a6000600581101515610cf057fe5b6020020151610d118c6000600581101515610d0757fe5b6020020151614801565b60006040519080825280601f01601f191660200182016040528015610d455781602001602082028038833980820191505090505b5060016040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600019166000191681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b83811015610dfd578082015181840152602081019050610de2565b50505050905090810190601f168015610e2a5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610e4c57600080fd5b505af1158015610e60573d6000803e3d6000fd5b505050506040513d6020811015610e7657600080fd5b810190808051906020019092919050505094507f2b183a501d4b1bbd30e6611ebac40ab18a00390e6c6bed324bf92a265c9ce6e3858a6000600581101515610eba57fe5b6020020151604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019250505060405180910390a18773ffffffffffffffffffffffffffffffffffffffff166380cd5ac38a6001600581101515610f3a57fe5b6020020151610f5b8c6001600581101515610f5157fe5b6020020151614801565b6040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015610fe857600080fd5b505af1158015610ffc573d6000803e3d6000fd5b505050506040513d602081101561101257600080fd5b810190808051906020019092919050505093507f2b183a501d4b1bbd30e6611ebac40ab18a00390e6c6bed324bf92a265c9ce6e3848a600160058110151561105657fe5b6020020151604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019250505060405180910390a18773ffffffffffffffffffffffffffffffffffffffff166380cd5ac38a60026005811015156110d657fe5b60200201516110f78c60026005811015156110ed57fe5b6020020151614801565b6040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561118457600080fd5b505af1158015611198573d6000803e3d6000fd5b505050506040513d60208110156111ae57600080fd5b810190808051906020019092919050505092507f2b183a501d4b1bbd30e6611ebac40ab18a00390e6c6bed324bf92a265c9ce6e3838a60026005811015156111f257fe5b6020020151604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019250505060405180910390a18773ffffffffffffffffffffffffffffffffffffffff166380cd5ac38a600360058110151561127257fe5b60200201516112938c600360058110151561128957fe5b6020020151614801565b6040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561132057600080fd5b505af1158015611334573d6000803e3d6000fd5b505050506040513d602081101561134a57600080fd5b810190808051906020019092919050505091507f2b183a501d4b1bbd30e6611ebac40ab18a00390e6c6bed324bf92a265c9ce6e3828a600360058110151561138e57fe5b6020020151604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019250505060405180910390a18773ffffffffffffffffffffffffffffffffffffffff166380cd5ac38a600460058110151561140e57fe5b602002015161142f8c600460058110151561142557fe5b6020020151614801565b6040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156114bc57600080fd5b505af11580156114d0573d6000803e3d6000fd5b505050506040513d60208110156114e657600080fd5b810190808051906020019092919050505090507f2b183a501d4b1bbd30e6611ebac40ab18a00390e6c6bed324bf92a265c9ce6e3818a600460058110151561152a57fe5b6020020151604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019250505060405180910390a18673ffffffffffffffffffffffffffffffffffffffff16630a8ed3db828a8b73ffffffffffffffffffffffffffffffffffffffff16638ea8dc9d6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561160157600080fd5b505af1158015611615573d6000803e3d6000fd5b505050506040513d602081101561162b57600080fd5b81019080805190602001909291905050506040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050600060405180830381600087803b1580156116fc57600080fd5b505af1158015611710573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff16630a8ed3db82898a73ffffffffffffffffffffffffffffffffffffffff16633d6ab68f6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561179657600080fd5b505af11580156117aa573d6000803e3d6000fd5b505050506040513d60208110156117c057600080fd5b81019080805190602001909291905050506040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050600060405180830381600087803b15801561189157600080fd5b505af11580156118a5573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff1663be03847885878873ffffffffffffffffffffffffffffffffffffffff1663206b60f96040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561192b57600080fd5b505af115801561193f573d6000803e3d6000fd5b505050506040513d602081101561195557600080fd5b8101908080519060200190929190505050866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050600060405180830381600087803b158015611a5a57600080fd5b505af1158015611a6e573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff1663be03847883868773ffffffffffffffffffffffffffffffffffffffff16630842ace46040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611af457600080fd5b505af1158015611b08573d6000803e3d6000fd5b505050506040513d6020811015611b1e57600080fd5b8101908080519060200190929190505050866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050600060405180830381600087803b158015611c2357600080fd5b505af1158015611c37573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff1663be03847883868773ffffffffffffffffffffffffffffffffffffffff1663981cc3426040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611cbd57600080fd5b505af1158015611cd1573d6000803e3d6000fd5b505050506040513d6020811015611ce757600080fd5b8101908080519060200190929190505050866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050600060405180830381600087803b158015611dec57600080fd5b505af1158015611e00573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff1663be03847883868773ffffffffffffffffffffffffffffffffffffffff1663e94ebac56040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611e8657600080fd5b505af1158015611e9a573d6000803e3d6000fd5b505050506040513d6020811015611eb057600080fd5b8101908080519060200190929190505050866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050600060405180830381600087803b158015611fb557600080fd5b505af1158015611fc9573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff1663be03847830858673ffffffffffffffffffffffffffffffffffffffff1663e9a9c8506040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561204f57600080fd5b505af1158015612063573d6000803e3d6000fd5b505050506040513d602081101561207957600080fd5b8101908080519060200190929190505050306040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050600060405180830381600087803b15801561217e57600080fd5b505af1158015612192573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff1663be03847883858673ffffffffffffffffffffffffffffffffffffffff1663856222f16040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561221857600080fd5b505af115801561222c573d6000803e3d6000fd5b505050506040513d602081101561224257600080fd5b8101908080519060200190929190505050866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050600060405180830381600087803b15801561234757600080fd5b505af115801561235b573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff1663be03847883858673ffffffffffffffffffffffffffffffffffffffff1663a51d9a8e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156123e157600080fd5b505af11580156123f5573d6000803e3d6000fd5b505050506040513d602081101561240b57600080fd5b8101908080519060200190929190505050866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050600060405180830381600087803b15801561251057600080fd5b505af1158015612524573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff1663be03847883858673ffffffffffffffffffffffffffffffffffffffff1663edc168f16040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156125aa57600080fd5b505af11580156125be573d6000803e3d6000fd5b505050506040513d60208110156125d457600080fd5b8101908080519060200190929190505050866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050600060405180830381600087803b1580156126d957600080fd5b505af11580156126ed573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff1663be03847883858673ffffffffffffffffffffffffffffffffffffffff1663b930908f6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561277357600080fd5b505af1158015612787573d6000803e3d6000fd5b505050506040513d602081101561279d57600080fd5b8101908080519060200190929190505050866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050600060405180830381600087803b1580156128a257600080fd5b505af11580156128b6573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff1663be0384787fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848573ffffffffffffffffffffffffffffffffffffffff1663be2c64d46040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561295c57600080fd5b505af1158015612970573d6000803e3d6000fd5b505050506040513d602081101561298657600080fd5b8101908080519060200190929190505050866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050600060405180830381600087803b158015612a8b57600080fd5b505af1158015612a9f573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff1663be03847883848573ffffffffffffffffffffffffffffffffffffffff166362de7e5a6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612b2557600080fd5b505af1158015612b39573d6000803e3d6000fd5b505050506040513d6020811015612b4f57600080fd5b8101908080519060200190929190505050866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050600060405180830381600087803b158015612c5457600080fd5b505af1158015612c68573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff1663be03847883848573ffffffffffffffffffffffffffffffffffffffff16633c624c756040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612cee57600080fd5b505af1158015612d02573d6000803e3d6000fd5b505050506040513d6020811015612d1857600080fd5b8101908080519060200190929190505050866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050600060405180830381600087803b158015612e1d57600080fd5b505af1158015612e31573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff1663be0384787fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff838473ffffffffffffffffffffffffffffffffffffffff1663745df4816040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612ed757600080fd5b505af1158015612eeb573d6000803e3d6000fd5b505050506040513d6020811015612f0157600080fd5b8101908080519060200190929190505050866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050600060405180830381600087803b15801561300657600080fd5b505af115801561301a573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff1663be03847883888973ffffffffffffffffffffffffffffffffffffffff166319f3d10f6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156130a057600080fd5b505af11580156130b4573d6000803e3d6000fd5b505050506040513d60208110156130ca57600080fd5b8101908080519060200190929190505050866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050600060405180830381600087803b1580156131cf57600080fd5b505af11580156131e3573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff1663be03847883888973ffffffffffffffffffffffffffffffffffffffff1663bd8fde1c6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561326957600080fd5b505af115801561327d573d6000803e3d6000fd5b505050506040513d602081101561329357600080fd5b8101908080519060200190929190505050866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050600060405180830381600087803b15801561339857600080fd5b505af11580156133ac573d6000803e3d6000fd5b505050508973ffffffffffffffffffffffffffffffffffffffff16633cebb823846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561344b57600080fd5b505af115801561345f573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff16638129fc1c6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b1580156134c757600080fd5b505af11580156134db573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff16631798de818662278d006040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018267ffffffffffffffff16815260200192505050600060405180830381600087803b15801561358f57600080fd5b505af11580156135a3573d6000803e3d6000fd5b505050508273ffffffffffffffffffffffffffffffffffffffff1663e37ff29f8b600160006040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001831515151581526020018281526020019350505050600060405180830381600087803b15801561365857600080fd5b505af115801561366c573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff1663df3d33058b662386f26fc10000603202662386f26fc10000601402620151806040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018467ffffffffffffffff1667ffffffffffffffff1681526020018367ffffffffffffffff1667ffffffffffffffff1681526020018267ffffffffffffffff168152602001945050505050600060405180830381600087803b15801561376c57600080fd5b505af1158015613780573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663400ada756000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160149054906101000a900460ff166040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018215151515815260200192505050600060405180830381600087803b15801561385b57600080fd5b505af115801561386f573d6000803e3d6000fd5b505050508273ffffffffffffffffffffffffffffffffffffffff166340c10f193360016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561391757600080fd5b505af115801561392b573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff16630a8ed3db838a8b73ffffffffffffffffffffffffffffffffffffffff16638ea8dc9d6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156139b157600080fd5b505af11580156139c5573d6000803e3d6000fd5b505050506040513d60208110156139db57600080fd5b81019080805190602001909291905050506040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050600060405180830381600087803b158015613aac57600080fd5b505af1158015613ac0573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff16639d0effdb308a8b73ffffffffffffffffffffffffffffffffffffffff16638ea8dc9d6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015613b4657600080fd5b505af1158015613b5a573d6000803e3d6000fd5b505050506040513d6020811015613b7057600080fd5b81019080805190602001909291905050506040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050600060405180830381600087803b158015613c4157600080fd5b505af1158015613c55573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff1663afd925df838a8b73ffffffffffffffffffffffffffffffffffffffff16638ea8dc9d6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015613cdb57600080fd5b505af1158015613cef573d6000803e3d6000fd5b505050506040513d6020811015613d0557600080fd5b81019080805190602001909291905050506040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050600060405180830381600087803b158015613dd657600080fd5b505af1158015613dea573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff16630a8ed3db83898a73ffffffffffffffffffffffffffffffffffffffff16633d6ab68f6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015613e7057600080fd5b505af1158015613e84573d6000803e3d6000fd5b505050506040513d6020811015613e9a57600080fd5b81019080805190602001909291905050506040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050600060405180830381600087803b158015613f6b57600080fd5b505af1158015613f7f573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff16639d0effdb30898a73ffffffffffffffffffffffffffffffffffffffff16633d6ab68f6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561400557600080fd5b505af1158015614019573d6000803e3d6000fd5b505050506040513d602081101561402f57600080fd5b81019080805190602001909291905050506040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050600060405180830381600087803b15801561410057600080fd5b505af1158015614114573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff1663afd925df83898a73ffffffffffffffffffffffffffffffffffffffff16633d6ab68f6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561419a57600080fd5b505af11580156141ae573d6000803e3d6000fd5b505050506040513d60208110156141c457600080fd5b81019080805190602001909291905050506040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050600060405180830381600087803b15801561429557600080fd5b505af11580156142a9573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff16630a8ed3db83858673ffffffffffffffffffffffffffffffffffffffff1663e9a9c8506040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561432f57600080fd5b505af1158015614343573d6000803e3d6000fd5b505050506040513d602081101561435957600080fd5b81019080805190602001909291905050506040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050600060405180830381600087803b15801561442a57600080fd5b505af115801561443e573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff16639d0effdb30858673ffffffffffffffffffffffffffffffffffffffff1663e9a9c8506040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156144c457600080fd5b505af11580156144d8573d6000803e3d6000fd5b505050506040513d60208110156144ee57600080fd5b81019080805190602001909291905050506040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050600060405180830381600087803b1580156145bf57600080fd5b505af11580156145d3573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff1663afd925df83858673ffffffffffffffffffffffffffffffffffffffff1663e9a9c8506040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561465957600080fd5b505af115801561466d573d6000803e3d6000fd5b505050506040513d602081101561468357600080fd5b81019080805190602001909291905050506040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050600060405180830381600087803b15801561475457600080fd5b505af1158015614768573d6000803e3d6000fd5b505050507f8f42a14c9fe9e09f4fe8eeee69ae878731c838b6497425d4c30e1d09336cf34b88604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150505050505050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630178b8bf846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561489c57600080fd5b505af11580156148b0573d6000803e3d6000fd5b505050506040513d60208110156148c657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16633b3b57de846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561494d57600080fd5b505af1158015614961573d6000803e3d6000fd5b505050506040513d602081101561497757600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff1663c36af4606040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b1580156149ee57600080fd5b505af1158015614a02573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060a0811015614a2c57600080fd5b81019080919082606001805190602001909291908051640100000000811115614a5457600080fd5b82810190506020810184811115614a6a57600080fd5b8151856001820283011164010000000082111715614a8757600080fd5b5050929190505050909150508092505081915050919050565b600060010260405180807f657468000000000000000000000000000000000000000000000000000000000081525060030190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902081565b60008115614cd357600060010260405180807f657468000000000000000000000000000000000000000000000000000000000081525060030190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902060405180807f617261676f6e706d00000000000000000000000000000000000000000000000081525060080190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902060405180807f6f70656e00000000000000000000000000000000000000000000000000000000815250600401905060405180910390206040518083600019166000191681526020018260001916600019168152602001925050506040518091039020836040518082805190602001908083835b602083101515614c735780518252602082019150602081019050602083039250614c4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405180836000191660001916815260200182600019166000191681526020019250505060405180910390209050614e2e565b600060010260405180807f657468000000000000000000000000000000000000000000000000000000000081525060030190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902060405180807f617261676f6e706d000000000000000000000000000000000000000000000000815250600801905060405180910390206040518083600019166000191681526020018260001916600019168152602001925050506040518091039020836040518082805190602001908083835b602083101515614dd25780518252602082019150602081019050602083039250614dad565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902090505b92915050565b60a0604051908101604052806005906020820280388339808201915050905050905600a165627a7a72305820ca1880e6c95e91229e34b712eb31c012401f301cff050ba871bb2c53ff6a643a0029",
  "deployedBytecode": "0x60806040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806309720778146100935780633f15457f146100c65780634629ffea1461011d57806379ae05e1146101705780638b128f25146101a3578063c3b31472146101e6578063c6d2c7171461023d578063cc473be3146102ae575b600080fd5b34801561009f57600080fd5b506100a86102e1565b60405180826000191660001916815260200191505060405180910390f35b3480156100d257600080fd5b506100db6103ad565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561012957600080fd5b5061016e6004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293905050506103d2565b005b34801561017c57600080fd5b506101856105e2565b60405180826000191660001916815260200191505060405180910390f35b3480156101af57600080fd5b506101e4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610710565b005b3480156101f257600080fd5b506101fb6147db565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561024957600080fd5b5061026c6004803603810190808035600019169060200190929190505050614801565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102ba57600080fd5b506102c3614aa0565b60405180826000191660001916815260200191505060405180910390f35b600060010260405180807f657468000000000000000000000000000000000000000000000000000000000081525060030190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902060405180807f617261676f6e706d00000000000000000000000000000000000000000000000081525060080190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b7b72c160008088886000898960016040518963ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001888152602001806020018660ff168152602001806020018415151515815260200183810383528989828181526020019250808284378201915050838103825286868281815260200192508082843782019150509a5050505050505050505050602060405180830381600087803b1580156104f757600080fd5b505af115801561050b573d6000803e3d6000fd5b505050506040513d602081101561052157600080fd5b810190808051906020019092919050505090507f1dabe025035deb4074d7d4bb7178730ea942096e7b7a96943b6f7432523d24608186868686604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200180602001838103835287878281815260200192508082843782019150508381038252858582818152602001925080828437820191505097505050505050505060405180910390a15050505050565b600060010260405180807f657468000000000000000000000000000000000000000000000000000000000081525060030190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902060405180807f617261676f6e706d00000000000000000000000000000000000000000000000081525060080190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902060405180807f6f70656e0000000000000000000000000000000000000000000000000000000081525060040190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902081565b610718614e34565b60008060008060008060008060a0604051908101604052806107706040805190810160405280600581526020017f7661756c740000000000000000000000000000000000000000000000000000008152506000614b0a565b600019166000191681526020016107bd6040805190810160405280600781526020017f66696e616e6365000000000000000000000000000000000000000000000000008152506000614b0a565b6000191660001916815260200161080a6040805190810160405280600d81526020017f746f6b656e2d6d616e61676572000000000000000000000000000000000000008152506000614b0a565b600019166000191681526020016108576040805190810160405280600681526020017f766f74696e6700000000000000000000000000000000000000000000000000008152506000614b0a565b600019166000191681526020016108b36040805190810160405280600c81526020017f70616e646f2d636f6c6f6e790000000000000000000000000000000000000000815250600160149054906101000a900460ff1615614b0a565b60001916600019168152509850600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166321687444306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561097d57600080fd5b505af1158015610991573d6000803e3d6000fd5b505050506040513d60208110156109a757600080fd5b810190808051906020019092919050505097508773ffffffffffffffffffffffffffffffffffffffff1663de2873596040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610a1e57600080fd5b505af1158015610a32573d6000803e3d6000fd5b505050506040513d6020811015610a4857600080fd5b810190808051906020019092919050505096508673ffffffffffffffffffffffffffffffffffffffff1663a479e5086040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610abf57600080fd5b505af1158015610ad3573d6000803e3d6000fd5b505050506040513d6020811015610ae957600080fd5b810190808051906020019092919050505095508673ffffffffffffffffffffffffffffffffffffffff1663be038478308a8b73ffffffffffffffffffffffffffffffffffffffff16638ea8dc9d6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610b7e57600080fd5b505af1158015610b92573d6000803e3d6000fd5b505050506040513d6020811015610ba857600080fd5b8101908080519060200190929190505050306040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050600060405180830381600087803b158015610cad57600080fd5b505af1158015610cc1573d6000803e3d6000fd5b505050508773ffffffffffffffffffffffffffffffffffffffff1663397edd418a6000600581101515610cf057fe5b6020020151610d118c6000600581101515610d0757fe5b6020020151614801565b60006040519080825280601f01601f191660200182016040528015610d455781602001602082028038833980820191505090505b5060016040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600019166000191681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b83811015610dfd578082015181840152602081019050610de2565b50505050905090810190601f168015610e2a5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610e4c57600080fd5b505af1158015610e60573d6000803e3d6000fd5b505050506040513d6020811015610e7657600080fd5b810190808051906020019092919050505094507f2b183a501d4b1bbd30e6611ebac40ab18a00390e6c6bed324bf92a265c9ce6e3858a6000600581101515610eba57fe5b6020020151604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019250505060405180910390a18773ffffffffffffffffffffffffffffffffffffffff166380cd5ac38a6001600581101515610f3a57fe5b6020020151610f5b8c6001600581101515610f5157fe5b6020020151614801565b6040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015610fe857600080fd5b505af1158015610ffc573d6000803e3d6000fd5b505050506040513d602081101561101257600080fd5b810190808051906020019092919050505093507f2b183a501d4b1bbd30e6611ebac40ab18a00390e6c6bed324bf92a265c9ce6e3848a600160058110151561105657fe5b6020020151604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019250505060405180910390a18773ffffffffffffffffffffffffffffffffffffffff166380cd5ac38a60026005811015156110d657fe5b60200201516110f78c60026005811015156110ed57fe5b6020020151614801565b6040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561118457600080fd5b505af1158015611198573d6000803e3d6000fd5b505050506040513d60208110156111ae57600080fd5b810190808051906020019092919050505092507f2b183a501d4b1bbd30e6611ebac40ab18a00390e6c6bed324bf92a265c9ce6e3838a60026005811015156111f257fe5b6020020151604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019250505060405180910390a18773ffffffffffffffffffffffffffffffffffffffff166380cd5ac38a600360058110151561127257fe5b60200201516112938c600360058110151561128957fe5b6020020151614801565b6040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561132057600080fd5b505af1158015611334573d6000803e3d6000fd5b505050506040513d602081101561134a57600080fd5b810190808051906020019092919050505091507f2b183a501d4b1bbd30e6611ebac40ab18a00390e6c6bed324bf92a265c9ce6e3828a600360058110151561138e57fe5b6020020151604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019250505060405180910390a18773ffffffffffffffffffffffffffffffffffffffff166380cd5ac38a600460058110151561140e57fe5b602002015161142f8c600460058110151561142557fe5b6020020151614801565b6040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156114bc57600080fd5b505af11580156114d0573d6000803e3d6000fd5b505050506040513d60208110156114e657600080fd5b810190808051906020019092919050505090507f2b183a501d4b1bbd30e6611ebac40ab18a00390e6c6bed324bf92a265c9ce6e3818a600460058110151561152a57fe5b6020020151604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019250505060405180910390a18673ffffffffffffffffffffffffffffffffffffffff16630a8ed3db828a8b73ffffffffffffffffffffffffffffffffffffffff16638ea8dc9d6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561160157600080fd5b505af1158015611615573d6000803e3d6000fd5b505050506040513d602081101561162b57600080fd5b81019080805190602001909291905050506040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050600060405180830381600087803b1580156116fc57600080fd5b505af1158015611710573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff16630a8ed3db82898a73ffffffffffffffffffffffffffffffffffffffff16633d6ab68f6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561179657600080fd5b505af11580156117aa573d6000803e3d6000fd5b505050506040513d60208110156117c057600080fd5b81019080805190602001909291905050506040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050600060405180830381600087803b15801561189157600080fd5b505af11580156118a5573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff1663be03847885878873ffffffffffffffffffffffffffffffffffffffff1663206b60f96040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561192b57600080fd5b505af115801561193f573d6000803e3d6000fd5b505050506040513d602081101561195557600080fd5b8101908080519060200190929190505050866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050600060405180830381600087803b158015611a5a57600080fd5b505af1158015611a6e573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff1663be03847883868773ffffffffffffffffffffffffffffffffffffffff16630842ace46040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611af457600080fd5b505af1158015611b08573d6000803e3d6000fd5b505050506040513d6020811015611b1e57600080fd5b8101908080519060200190929190505050866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050600060405180830381600087803b158015611c2357600080fd5b505af1158015611c37573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff1663be03847883868773ffffffffffffffffffffffffffffffffffffffff1663981cc3426040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611cbd57600080fd5b505af1158015611cd1573d6000803e3d6000fd5b505050506040513d6020811015611ce757600080fd5b8101908080519060200190929190505050866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050600060405180830381600087803b158015611dec57600080fd5b505af1158015611e00573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff1663be03847883868773ffffffffffffffffffffffffffffffffffffffff1663e94ebac56040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015611e8657600080fd5b505af1158015611e9a573d6000803e3d6000fd5b505050506040513d6020811015611eb057600080fd5b8101908080519060200190929190505050866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050600060405180830381600087803b158015611fb557600080fd5b505af1158015611fc9573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff1663be03847830858673ffffffffffffffffffffffffffffffffffffffff1663e9a9c8506040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561204f57600080fd5b505af1158015612063573d6000803e3d6000fd5b505050506040513d602081101561207957600080fd5b8101908080519060200190929190505050306040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050600060405180830381600087803b15801561217e57600080fd5b505af1158015612192573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff1663be03847883858673ffffffffffffffffffffffffffffffffffffffff1663856222f16040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561221857600080fd5b505af115801561222c573d6000803e3d6000fd5b505050506040513d602081101561224257600080fd5b8101908080519060200190929190505050866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050600060405180830381600087803b15801561234757600080fd5b505af115801561235b573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff1663be03847883858673ffffffffffffffffffffffffffffffffffffffff1663a51d9a8e6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156123e157600080fd5b505af11580156123f5573d6000803e3d6000fd5b505050506040513d602081101561240b57600080fd5b8101908080519060200190929190505050866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050600060405180830381600087803b15801561251057600080fd5b505af1158015612524573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff1663be03847883858673ffffffffffffffffffffffffffffffffffffffff1663edc168f16040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156125aa57600080fd5b505af11580156125be573d6000803e3d6000fd5b505050506040513d60208110156125d457600080fd5b8101908080519060200190929190505050866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050600060405180830381600087803b1580156126d957600080fd5b505af11580156126ed573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff1663be03847883858673ffffffffffffffffffffffffffffffffffffffff1663b930908f6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561277357600080fd5b505af1158015612787573d6000803e3d6000fd5b505050506040513d602081101561279d57600080fd5b8101908080519060200190929190505050866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050600060405180830381600087803b1580156128a257600080fd5b505af11580156128b6573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff1663be0384787fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848573ffffffffffffffffffffffffffffffffffffffff1663be2c64d46040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561295c57600080fd5b505af1158015612970573d6000803e3d6000fd5b505050506040513d602081101561298657600080fd5b8101908080519060200190929190505050866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050600060405180830381600087803b158015612a8b57600080fd5b505af1158015612a9f573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff1663be03847883848573ffffffffffffffffffffffffffffffffffffffff166362de7e5a6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612b2557600080fd5b505af1158015612b39573d6000803e3d6000fd5b505050506040513d6020811015612b4f57600080fd5b8101908080519060200190929190505050866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050600060405180830381600087803b158015612c5457600080fd5b505af1158015612c68573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff1663be03847883848573ffffffffffffffffffffffffffffffffffffffff16633c624c756040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612cee57600080fd5b505af1158015612d02573d6000803e3d6000fd5b505050506040513d6020811015612d1857600080fd5b8101908080519060200190929190505050866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050600060405180830381600087803b158015612e1d57600080fd5b505af1158015612e31573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff1663be0384787fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff838473ffffffffffffffffffffffffffffffffffffffff1663745df4816040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612ed757600080fd5b505af1158015612eeb573d6000803e3d6000fd5b505050506040513d6020811015612f0157600080fd5b8101908080519060200190929190505050866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050600060405180830381600087803b15801561300657600080fd5b505af115801561301a573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff1663be03847883888973ffffffffffffffffffffffffffffffffffffffff166319f3d10f6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156130a057600080fd5b505af11580156130b4573d6000803e3d6000fd5b505050506040513d60208110156130ca57600080fd5b8101908080519060200190929190505050866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050600060405180830381600087803b1580156131cf57600080fd5b505af11580156131e3573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff1663be03847883888973ffffffffffffffffffffffffffffffffffffffff1663bd8fde1c6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561326957600080fd5b505af115801561327d573d6000803e3d6000fd5b505050506040513d602081101561329357600080fd5b8101908080519060200190929190505050866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050600060405180830381600087803b15801561339857600080fd5b505af11580156133ac573d6000803e3d6000fd5b505050508973ffffffffffffffffffffffffffffffffffffffff16633cebb823846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561344b57600080fd5b505af115801561345f573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff16638129fc1c6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b1580156134c757600080fd5b505af11580156134db573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff16631798de818662278d006040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018267ffffffffffffffff16815260200192505050600060405180830381600087803b15801561358f57600080fd5b505af11580156135a3573d6000803e3d6000fd5b505050508273ffffffffffffffffffffffffffffffffffffffff1663e37ff29f8b600160006040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001831515151581526020018281526020019350505050600060405180830381600087803b15801561365857600080fd5b505af115801561366c573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff1663df3d33058b662386f26fc10000603202662386f26fc10000601402620151806040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018467ffffffffffffffff1667ffffffffffffffff1681526020018367ffffffffffffffff1667ffffffffffffffff1681526020018267ffffffffffffffff168152602001945050505050600060405180830381600087803b15801561376c57600080fd5b505af1158015613780573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663400ada756000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160149054906101000a900460ff166040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018215151515815260200192505050600060405180830381600087803b15801561385b57600080fd5b505af115801561386f573d6000803e3d6000fd5b505050508273ffffffffffffffffffffffffffffffffffffffff166340c10f193360016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561391757600080fd5b505af115801561392b573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff16630a8ed3db838a8b73ffffffffffffffffffffffffffffffffffffffff16638ea8dc9d6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156139b157600080fd5b505af11580156139c5573d6000803e3d6000fd5b505050506040513d60208110156139db57600080fd5b81019080805190602001909291905050506040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050600060405180830381600087803b158015613aac57600080fd5b505af1158015613ac0573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff16639d0effdb308a8b73ffffffffffffffffffffffffffffffffffffffff16638ea8dc9d6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015613b4657600080fd5b505af1158015613b5a573d6000803e3d6000fd5b505050506040513d6020811015613b7057600080fd5b81019080805190602001909291905050506040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050600060405180830381600087803b158015613c4157600080fd5b505af1158015613c55573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff1663afd925df838a8b73ffffffffffffffffffffffffffffffffffffffff16638ea8dc9d6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015613cdb57600080fd5b505af1158015613cef573d6000803e3d6000fd5b505050506040513d6020811015613d0557600080fd5b81019080805190602001909291905050506040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050600060405180830381600087803b158015613dd657600080fd5b505af1158015613dea573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff16630a8ed3db83898a73ffffffffffffffffffffffffffffffffffffffff16633d6ab68f6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015613e7057600080fd5b505af1158015613e84573d6000803e3d6000fd5b505050506040513d6020811015613e9a57600080fd5b81019080805190602001909291905050506040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050600060405180830381600087803b158015613f6b57600080fd5b505af1158015613f7f573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff16639d0effdb30898a73ffffffffffffffffffffffffffffffffffffffff16633d6ab68f6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561400557600080fd5b505af1158015614019573d6000803e3d6000fd5b505050506040513d602081101561402f57600080fd5b81019080805190602001909291905050506040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050600060405180830381600087803b15801561410057600080fd5b505af1158015614114573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff1663afd925df83898a73ffffffffffffffffffffffffffffffffffffffff16633d6ab68f6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561419a57600080fd5b505af11580156141ae573d6000803e3d6000fd5b505050506040513d60208110156141c457600080fd5b81019080805190602001909291905050506040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050600060405180830381600087803b15801561429557600080fd5b505af11580156142a9573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff16630a8ed3db83858673ffffffffffffffffffffffffffffffffffffffff1663e9a9c8506040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561432f57600080fd5b505af1158015614343573d6000803e3d6000fd5b505050506040513d602081101561435957600080fd5b81019080805190602001909291905050506040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050600060405180830381600087803b15801561442a57600080fd5b505af115801561443e573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff16639d0effdb30858673ffffffffffffffffffffffffffffffffffffffff1663e9a9c8506040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156144c457600080fd5b505af11580156144d8573d6000803e3d6000fd5b505050506040513d60208110156144ee57600080fd5b81019080805190602001909291905050506040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050600060405180830381600087803b1580156145bf57600080fd5b505af11580156145d3573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff1663afd925df83858673ffffffffffffffffffffffffffffffffffffffff1663e9a9c8506040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561465957600080fd5b505af115801561466d573d6000803e3d6000fd5b505050506040513d602081101561468357600080fd5b81019080805190602001909291905050506040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050600060405180830381600087803b15801561475457600080fd5b505af1158015614768573d6000803e3d6000fd5b505050507f8f42a14c9fe9e09f4fe8eeee69ae878731c838b6497425d4c30e1d09336cf34b88604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150505050505050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630178b8bf846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561489c57600080fd5b505af11580156148b0573d6000803e3d6000fd5b505050506040513d60208110156148c657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff16633b3b57de846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808260001916600019168152602001915050602060405180830381600087803b15801561494d57600080fd5b505af1158015614961573d6000803e3d6000fd5b505050506040513d602081101561497757600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff1663c36af4606040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b1580156149ee57600080fd5b505af1158015614a02573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060a0811015614a2c57600080fd5b81019080919082606001805190602001909291908051640100000000811115614a5457600080fd5b82810190506020810184811115614a6a57600080fd5b8151856001820283011164010000000082111715614a8757600080fd5b5050929190505050909150508092505081915050919050565b600060010260405180807f657468000000000000000000000000000000000000000000000000000000000081525060030190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902081565b60008115614cd357600060010260405180807f657468000000000000000000000000000000000000000000000000000000000081525060030190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902060405180807f617261676f6e706d00000000000000000000000000000000000000000000000081525060080190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902060405180807f6f70656e00000000000000000000000000000000000000000000000000000000815250600401905060405180910390206040518083600019166000191681526020018260001916600019168152602001925050506040518091039020836040518082805190602001908083835b602083101515614c735780518252602082019150602081019050602083039250614c4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060405180836000191660001916815260200182600019166000191681526020019250505060405180910390209050614e2e565b600060010260405180807f657468000000000000000000000000000000000000000000000000000000000081525060030190506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902060405180807f617261676f6e706d000000000000000000000000000000000000000000000000815250600801905060405180910390206040518083600019166000191681526020018260001916600019168152602001925050506040518091039020836040518082805190602001908083835b602083101515614dd25780518252602082019150602081019050602083039250614dad565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020604051808360001916600019168152602001826000191660001916815260200192505050604051809103902090505b92915050565b60a0604051908101604052806005906020820280388339808201915050905050905600a165627a7a72305820ca1880e6c95e91229e34b712eb31c012401f301cff050ba871bb2c53ff6a643a0029",
  "sourceMap": "1908:5191:0:-;;;2152:183;8:9:-1;5:2;;;30:1;27;20:12;5:2;2152:183:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2250:1;2254:4;1506:15;1378:4;1372:3;;:10;;;;;;;;;;;;;;;;;;1488:1;1463:27;;1471:4;1463:27;;;1459:211;;;1524:30;;;;;;;;;;;;;;;;;;;1548:5;1524:11;;;:30;;;:::i;:::-;1506:48;;1582:29;1603:7;1582:20;;;:29;;;:::i;:::-;1574:42;;;:44;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1574:44:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1574:44:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1574:44:0;;;;;;;;;;;;;;;;1568:3;;:50;;;;;;;;;;;;;;;;;;1459:211;;;1655:4;1649:3;;:10;;;;;;;;;;;;;;;;;;1459:211;1316:360;;;2281:9;2270:8;;:20;;;;;;;;;;;;;;;;;;2315:13;2300:12;;:28;;;;;;;;;;;;;;;;;;2152:183;;;1908:5191;;875:246;943:7;966:4;962:153;;;684:1;676:10;;688:16;;;;;;;;;;;;;;;;;;;666:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;766:21;;;;;;;;;;;;;;;;;;;746:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;850:17;;;;;;;;;;;;;;;;;;;830:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1024:4;1014:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;1014:15:0;;;;;;;;;;;;;;;;993:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;986:44;;;;962:153;684:1;676:10;;688:16;;;;;;;;;;;;;;;;;;;666:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;766:21;;;;;;;;;;;;;;;;;;;746:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1098:4;1088:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;1088:15:0;;;;;;;;;;;;;;;;1068:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1061:43;;875:246;;;;;:::o;1682:221::-;1748:12;1772:9;1804:3;;;;;;;;;;;:12;;;1817:5;1804:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1804:19:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1804:19:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1804:19:0;;;;;;;;;;;;;;;;1789:40;;;1830:5;1789:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1789:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1789:47:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1789:47:0;;;;;;;;;;;;;;;;1772:65;;1858:4;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1858:16:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1858:16:0;;;;;;39::-1;36:1;17:17;2:54;1858:16:0;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:3;8;5:12;2:2;;;30:1;27;20:12;2:2;1858:16:0;;;;;;;;;;;;;;;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;338:9;333:1;319:12;315:20;297:16;293:43;290:58;268:11;254:12;251:29;239:118;236:2;;;370:1;367;360:12;236:2;0:382;;1858:16:0;;;;;;1847:27;;;;;;;;1892:4;1885:11;;1682:221;;;;:::o;1908:5191::-;;;;;;;",
  "deployedSourceMap": "1908:5191:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;711:77;;8:9:-1;5:2;;;30:1;27;20:12;5:2;711:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1164:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1164:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;2341:235;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2341:235:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;794:74;;8:9:-1;5:2;;;30:1;27;20:12;5:2;794:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2582:4515;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2582:4515:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;1191:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1191:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;1682:221;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1682:221:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;631:74;;8:9:-1;5:2;;;30:1;27;20:12;5:2;631:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;711:77;684:1;676:10;;688:16;;;;;;;;;;;;;;;;;;;666:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;766:21;;;;;;;;;;;;;;;;;;;746:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;711:77;:::o;1164:21::-;;;;;;;;;;;;;:::o;2341:235::-;2408:17;2428:12;;;;;;;;;;;:29;;;2478:1;2483;2486:5;;2493:1;2496:7;;2505:4;2428:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2428:82:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2428:82:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2428:82:0;;;;;;;;;;;;;;;;2408:102;;2526:43;2546:5;2554;;2561:7;;2526:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2341:235;;;;;:::o;794:74::-;684:1;676:10;;688:16;;;;;;;;;;;;;;;;;;;666:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;766:21;;;;;;;;;;;;;;;;;;;746:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;850:17;;;;;;;;;;;;;;;;;;;830:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;794:74;:::o;2582:4515::-;2641:24;;:::i;:::-;2990:10;3029;3066:21;3233:11;3492:15;3707:25;3942:17;4161:18;2641:323;;;;;;;;;2682:27;;;;;;;;;;;;;;;;;;;2703:5;2682:11;:27::i;:::-;2641:323;;;;;;;;;;2739:29;;;;;;;;;;;;;;;;;;;2762:5;2739:11;:29::i;:::-;2641:323;;;;;;;;;;2796:35;;;;;;;;;;;;;;;;;;;2825:5;2796:11;:35::i;:::-;2641:323;;;;;;;;;;2853:28;;;;;;;;;;;;;;;;;;;2875:5;2853:11;:28::i;:::-;2641:323;;;;;;;;;;2910:38;;;;;;;;;;;;;;;;;;;2939:8;;;;;;;;;;;2938:9;2910:11;:38::i;:::-;2641:323;;;;;;;;;;;3003:3;;;;;;;;;;;:10;;;3014:4;3003:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3003:16:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3003:16:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3003:16:0;;;;;;;;;;;;;;;;2990:29;;3046:3;:7;;;:9;;;;;;;;;;;;;;;;;;;;;;;8::-1;5:2;;;30:1;27;20:12;5:2;3046:9:0;;;;8::-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3046:9:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3046:9:0;;;;;;;;;;;;;;;;3029:27;;3108:3;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3108:26:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3108:26:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3108:26:0;;;;;;;;;;;;;;;;3066:69;;3145:3;:20;;;3166:4;3172:3;3177;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3177:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3177:22:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3177:22:0;;;;;;;;;;;;;;;;3201:4;3145:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3145:61:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3145:61:0;;;;3266:3;:18;;;3302:6;3309:1;3302:9;;;;;;;;;;;;;3329:31;3350:6;3357:1;3350:9;;;;;;;;;;;;;3329:20;:31::i;:::-;3388:1;3378:12;;;;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;3378:12:0;;;;3408:4;3266:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;3266:160:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3266:160:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3266:160:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3266:160:0;;;;;;;;;;;;;;;;3233:203;;3451:30;3464:5;3471:6;3478:1;3471:9;;;;;;;;;;;;;3451:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3531:3;:18;;;3567:6;3574:1;3567:9;;;;;;;;;;;;;3594:31;3615:6;3622:1;3615:9;;;;;;;;;;;;;3594:20;:31::i;:::-;3531:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3531:108:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3531:108:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3531:108:0;;;;;;;;;;;;;;;;3492:157;;3664:32;3677:7;3686:6;3693:1;3686:9;;;;;;;;;;;;;3664:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3761:3;:18;;;3797:6;3804:1;3797:9;;;;;;;;;;;;;3824:31;3845:6;3852:1;3845:9;;;;;;;;;;;;;3824:20;:31::i;:::-;3761:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3761:108:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3761:108:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3761:108:0;;;;;;;;;;;;;;;;3707:172;;3894:37;3907:12;3921:6;3928:1;3921:9;;;;;;;;;;;;;3894:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3982:3;:18;;;4018:6;4025:1;4018:9;;;;;;;;;;;;;4045:31;4066:6;4073:1;4066:9;;;;;;;;;;;;;4045:20;:31::i;:::-;3982:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3982:108:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3982:108:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3982:108:0;;;;;;;;;;;;;;;;3942:158;;4115:35;4128:10;4140:6;4147:1;4140:9;;;;;;;;;;;;;4115:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4207:3;:18;;;4243:6;4250:1;4243:9;;;;;;;;;;;;;4270:31;4291:6;4298:1;4291:9;;;;;;;;;;;;;4270:20;:31::i;:::-;4207:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4207:108:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4207:108:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4207:108:0;;;;;;;;;;;;;;;;4161:164;;4340:31;4353:6;4361;4368:1;4361:9;;;;;;;;;;;;;4340:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4405:3;:19;;;4425:6;4433:3;4438;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4438:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4438:22:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4438:22:0;;;;;;;;;;;;;;;;4405:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4405:56:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4405:56:0;;;;4471:3;:19;;;4491:6;4499:3;4504;:27;;;:29;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4504:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4504:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4504:29:0;;;;;;;;;;;;;;;;4471:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4471:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4471:63:0;;;;4544:3;:20;;;4565:7;4574:5;4581;:19;;;:21;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4581:21:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4581:21:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4581:21:0;;;;;;;;;;;;;;;;4604:10;4544:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4544:71:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4544:71:0;;;;4625:3;:20;;;4646:10;4658:7;4667;:28;;;:30;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4667:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4667:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4667:30:0;;;;;;;;;;;;;;;;4699:10;4625:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4625:85:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4625:85:0;;;;4720:3;:20;;;4741:10;4753:7;4762;:29;;;:31;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4762:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4762:31:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4762:31:0;;;;;;;;;;;;;;;;4795:10;4720:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4720:86:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4720:86:0;;;;4816:3;:20;;;4837:10;4849:7;4858;:28;;;:30;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4858:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4858:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4858:30:0;;;;;;;;;;;;;;;;4890:10;4816:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4816:85:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4816:85:0;;;;4911:3;:20;;;4932:4;4938:12;4952;:22;;;:24;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4952:24:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4952:24:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4952:24:0;;;;;;;;;;;;;;;;4978:4;4911:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4911:72:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4911:72:0;;;;4993:3;:20;;;5014:10;5026:12;5040;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5040:25:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5040:25:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5040:25:0;;;;;;;;;;;;;;;;5067:10;4993:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4993:85:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4993:85:0;;;;5088:3;:20;;;5109:10;5121:12;5135;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5135:26:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5135:26:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5135:26:0;;;;;;;;;;;;;;;;5163:10;5088:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5088:86:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5088:86:0;;;;5184:3;:20;;;5205:10;5217:12;5231;:33;;;:35;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5231:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5231:35:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5231:35:0;;;;;;;;;;;;;;;;5268:10;5184:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5184:95:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5184:95:0;;;;5289:3;:20;;;5310:10;5322:12;5336;:22;;;:24;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5336:24:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5336:24:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5336:24:0;;;;;;;;;;;;;;;;5362:10;5289:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5289:84:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5289:84:0;;;;5383:3;:20;;;2075:2;5416:10;5428;:28;;;:30;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5428:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5428:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5428:30:0;;;;;;;;;;;;;;;;5460:10;5383:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5383:88:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5383:88:0;;;;5481:3;:20;;;5502:10;5514;5526;:30;;;:32;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5526:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5526:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5526:32:0;;;;;;;;;;;;;;;;5560:10;5481:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5481:90:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5481:90:0;;;;5581:3;:20;;;5602:10;5614;5626;:29;;;:31;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5626:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5626:31:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5626:31:0;;;;;;;;;;;;;;;;5659:10;5581:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5581:89:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5581:89:0;;;;5680:3;:20;;;2075:2;5713:6;5721;:29;;;:31;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5721:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5721:31:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5721:31:0;;;;;;;;;;;;;;;;5754:10;5680:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5680:85:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5680:85:0;;;;5775:3;:20;;;5796:10;5808:3;5813;:30;;;:32;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5813:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5813:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5813:32:0;;;;;;;;;;;;;;;;5847:10;5775:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5775:83:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5775:83:0;;;;5868:3;:20;;;5889:10;5901:3;5906;:25;;;:27;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5906:27:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5906:27:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5906:27:0;;;;;;;;;;;;;;;;5935:10;5868:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5868:78:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5868:78:0;;;;5984:5;:22;;;6007:12;5984:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5984:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5984:36:0;;;;6030:5;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6030:18:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6030:18:0;;;;6058:7;:18;;;6077:5;6084:7;6058:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6058:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6058:34:0;;;;6102:12;:23;;;6126:5;6133:4;6139:1;6102:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6102:39:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6102:39:0;;;;6151:10;:21;;;6173:5;2023:8;6187:2;:8;2023;6205:2;:8;6216:6;6151:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6151:72:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6151:72:0;;;;6233:6;:17;;;6251:3;;;;;;;;;;;6256:8;;;;;;;;;;;6233:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6233:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6233:32:0;;;;6298:12;:17;;;6316:10;6336:1;6298:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6298:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6298:41:0;;;;6381:3;:19;;;6401:10;6413:3;6418;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6418:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6418:22:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6418:22:0;;;;;;;;;;;;;;;;6381:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6381:60:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6381:60:0;;;;6451:3;:20;;;6472:4;6478:3;6483;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6483:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6483:22:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6483:22:0;;;;;;;;;;;;;;;;6451:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6451:55:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6451:55:0;;;;6516:3;:24;;;6541:10;6553:3;6558;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6558:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6558:22:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6558:22:0;;;;;;;;;;;;;;;;6516:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6516:65:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6516:65:0;;;;6591:3;:19;;;6611:10;6623:3;6628;:27;;;:29;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6628:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6628:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6628:29:0;;;;;;;;;;;;;;;;6591:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6591:67:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6591:67:0;;;;6668:3;:20;;;6689:4;6695:3;6700;:27;;;:29;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6700:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6700:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6700:29:0;;;;;;;;;;;;;;;;6668:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6668:62:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6668:62:0;;;;6740:3;:24;;;6765:10;6777:3;6782;:27;;;:29;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6782:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6782:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6782:29:0;;;;;;;;;;;;;;;;6740:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6740:72:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6740:72:0;;;;6822:3;:19;;;6842:10;6854:12;6868;:22;;;:24;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6868:24:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6868:24:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6868:24:0;;;;;;;;;;;;;;;;6822:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6822:71:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6822:71:0;;;;6903:3;:20;;;6924:4;6930:12;6944;:22;;;:24;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6944:24:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6944:24:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6944:24:0;;;;;;;;;;;;;;;;6903:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6903:66:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6903:66:0;;;;6979:3;:24;;;7004:10;7016:12;7030;:22;;;:24;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7030:24:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7030:24:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7030:24:0;;;;;;;;;;;;;;;;6979:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6979:76:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6979:76:0;;;;7071:19;7086:3;7071:19;;;;;;;;;;;;;;;;;;;;;;2582:4515;;;;;;;;;;:::o;1191:21::-;;;;;;;;;;;;;:::o;1682:221::-;1748:12;1772:9;1804:3;;;;;;;;;;;:12;;;1817:5;1804:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1804:19:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1804:19:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1804:19:0;;;;;;;;;;;;;;;;1789:40;;;1830:5;1789:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1789:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1789:47:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1789:47:0;;;;;;;;;;;;;;;;1772:65;;1858:4;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1858:16:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1858:16:0;;;;;;39::-1;36:1;17:17;2:54;1858:16:0;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:3;8;5:12;2:2;;;30:1;27;20:12;2:2;1858:16:0;;;;;;;;;;;;;;;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;73:11;68:3;64:21;57:28;;126:4;121:3;117:14;163:9;145:16;142:31;139:2;;;186:1;183;176:12;139:2;224:3;218:10;338:9;333:1;319:12;315:20;297:16;293:43;290:58;268:11;254:12;251:29;239:118;236:2;;;370:1;367;360:12;236:2;0:382;;1858:16:0;;;;;;1847:27;;;;;;;;1892:4;1885:11;;1682:221;;;;:::o;631:74::-;684:1;676:10;;688:16;;;;;;;;;;;;;;;;;;;666:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;631:74;:::o;875:246::-;943:7;966:4;962:153;;;684:1;676:10;;688:16;;;;;;;;;;;;;;;;;;;666:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;766:21;;;;;;;;;;;;;;;;;;;746:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;850:17;;;;;;;;;;;;;;;;;;;830:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1024:4;1014:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;1014:15:0;;;;;;;;;;;;;;;;993:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;986:44;;;;962:153;684:1;676:10;;688:16;;;;;;;;;;;;;;;;;;;666:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;766:21;;;;;;;;;;;;;;;;;;;746:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1098:4;1088:15;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;1088:15:0;;;;;;;;;;;;;;;;1068:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1061:43;;875:246;;;;;:::o;1908:5191::-;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;1908:5191:0;;;;:::o",
  "source": "pragma solidity ^0.4.24;\n\nimport \"@aragon/os/contracts/lib/ens/ENS.sol\";\nimport \"@aragon/os/contracts/lib/ens/PublicResolver.sol\";\nimport \"@aragon/os/contracts/apm/Repo.sol\";\nimport \"@aragon/os/contracts/factory/DAOFactory.sol\";\nimport \"@aragon/apps-shared-minime/contracts/MiniMeToken.sol\";\nimport \"@aragon/apps-vault/contracts/Vault.sol\";\nimport \"@aragon/apps-finance/contracts/Finance.sol\";\nimport \"@aragon/apps-voting/contracts/Voting.sol\";\nimport { PandoColony } from \"@pando/colony/contracts/PandoColony.sol\";\nimport { TokenManager } from \"@aragon/apps-token-manager/contracts/TokenManager.sol\";\n\n\ncontract APMNamehash {\n    bytes32 constant public ETH_NODE = keccak256(bytes32(0), keccak256(\"eth\"));\n    bytes32 constant public APM_NODE = keccak256(ETH_NODE, keccak256(\"aragonpm\"));\n    bytes32 constant public OPEN_NODE = keccak256(APM_NODE, keccak256(\"open\"));\n\n    function apmNamehash(string name, bool open) internal pure returns (bytes32) {\n        if (open) {\n            return keccak256(OPEN_NODE, keccak256(name));\n        } else {\n            return keccak256(APM_NODE, keccak256(name));\n        }\n    }\n}\n\n\ncontract KitBase is APMNamehash {\n    ENS        public ens;\n    DAOFactory public fac;\n\n    event DeployInstance(address dao);\n    event InstalledApp(address appProxy, bytes32 appId);\n\n    constructor(DAOFactory _fac, ENS _ens) public {\n        ens = _ens;\n\n        // If no factory is passed, get it from on-chain bare-kit\n        if (address(_fac) == address(0)) {\n            bytes32 bareKit = apmNamehash(\"bare-kit\", false);\n            fac = KitBase(latestVersionAppBase(bareKit)).fac();\n        } else {\n            fac = _fac;\n        }\n    }\n\n    function latestVersionAppBase(bytes32 appId) public view returns (address base) {\n        Repo repo = Repo(PublicResolver(ens.resolver(appId)).addr(appId));\n        (,base,) = repo.getLatest();\n\n        return base;\n    }\n}\n\n\ncontract PandoKit is KitBase {\n    bool devchain;\n    MiniMeTokenFactory tokenFactory;\n\n    uint256 constant PCT = 10 ** 16;\n    address constant ANY_ENTITY = address(-1);\n\n    event DeployToken(address token, string name, string symbol);\n\n    constructor(ENS _ens, MiniMeTokenFactory _tokenFactory, bool _devchain) public KitBase(DAOFactory(0), _ens) {\n        devchain = _devchain;\n        tokenFactory = _tokenFactory;\n    }\n\n    function newToken(string _name, string _symbol) external {\n        MiniMeToken token = tokenFactory.createCloneToken(MiniMeToken(address(0)), 0, _name, 0, _symbol, true);\n\n        emit DeployToken(address(token), _name, _symbol);\n    }\n\n    function newInstance(MiniMeToken token) external {\n        bytes32[5] memory appIds = [\n            apmNamehash(\"vault\", false),            // 0\n            apmNamehash(\"finance\", false),          // 1\n            apmNamehash(\"token-manager\", false),    // 2\n            apmNamehash(\"voting\", false),           // 3\n            apmNamehash(\"pando-colony\", !devchain)  // 4\n        ];\n\n        // DAO\n        Kernel dao = fac.newDAO(this);\n        ACL    acl = ACL(dao.acl());\n        EVMScriptRegistry reg = EVMScriptRegistry(acl.getEVMScriptRegistry());\n        acl.createPermission(this, dao, dao.APP_MANAGER_ROLE(), this);\n\n        // Apps\n        Vault vault = Vault(\n            dao.newAppInstance(\n                appIds[0],\n                latestVersionAppBase(appIds[0]),\n                new bytes(0),\n                true\n            )\n        );\n        emit InstalledApp(vault, appIds[0]);\n\n        Finance finance = Finance(\n            dao.newAppInstance(\n                appIds[1],\n                latestVersionAppBase(appIds[1])\n            )\n        );\n        emit InstalledApp(finance, appIds[1]);\n\n        TokenManager tokenManager = TokenManager(\n            dao.newAppInstance(\n                appIds[2],\n                latestVersionAppBase(appIds[2])\n            )\n        );\n        emit InstalledApp(tokenManager, appIds[2]);\n\n        Voting metavoting = Voting(\n            dao.newAppInstance(\n                appIds[3],\n                latestVersionAppBase(appIds[3])\n            )\n        );\n        emit InstalledApp(metavoting, appIds[3]);\n\n        PandoColony colony = PandoColony(\n            dao.newAppInstance(\n                appIds[4],\n                latestVersionAppBase(appIds[4])\n            )\n        );\n        emit InstalledApp(colony, appIds[4]);\n\n        // Permissions\n        acl.grantPermission(colony, dao, dao.APP_MANAGER_ROLE());\n        acl.grantPermission(colony, acl, acl.CREATE_PERMISSIONS_ROLE());\n        acl.createPermission(finance, vault, vault.TRANSFER_ROLE(), metavoting);\n        acl.createPermission(metavoting, finance, finance.CREATE_PAYMENTS_ROLE(), metavoting);\n        acl.createPermission(metavoting, finance, finance.EXECUTE_PAYMENTS_ROLE(), metavoting);\n        acl.createPermission(metavoting, finance, finance.MANAGE_PAYMENTS_ROLE(), metavoting);\n        acl.createPermission(this, tokenManager, tokenManager.MINT_ROLE(), this);\n        acl.createPermission(metavoting, tokenManager, tokenManager.ISSUE_ROLE(), metavoting);\n        acl.createPermission(metavoting, tokenManager, tokenManager.ASSIGN_ROLE(), metavoting);\n        acl.createPermission(metavoting, tokenManager, tokenManager.REVOKE_VESTINGS_ROLE(), metavoting);\n        acl.createPermission(metavoting, tokenManager, tokenManager.BURN_ROLE(), metavoting);\n        acl.createPermission(ANY_ENTITY, metavoting, metavoting.CREATE_VOTES_ROLE(), metavoting);\n        acl.createPermission(metavoting, metavoting, metavoting.MODIFY_SUPPORT_ROLE(), metavoting);\n        acl.createPermission(metavoting, metavoting, metavoting.MODIFY_QUORUM_ROLE(), metavoting);\n        acl.createPermission(ANY_ENTITY, colony, colony.CREATE_REPOSITORY_ROLE(), metavoting);\n        acl.createPermission(metavoting, reg, reg.REGISTRY_ADD_EXECUTOR_ROLE(), metavoting);\n        acl.createPermission(metavoting, reg, reg.REGISTRY_MANAGER_ROLE(), metavoting);\n\n        // Initialize apps\n        token.changeController(tokenManager);\n        vault.initialize();\n        finance.initialize(vault, 30 days);\n        tokenManager.initialize(token, true, 0);\n        metavoting.initialize(token, uint64(50 * PCT), uint64(20 * PCT), 1 days);\n        colony.initialize(ens, devchain);\n\n        // Mint token\n        tokenManager.mint(msg.sender, uint256(1));\n\n        // Cleanup permissions\n        acl.grantPermission(metavoting, dao, dao.APP_MANAGER_ROLE());\n        acl.revokePermission(this, dao, dao.APP_MANAGER_ROLE());\n        acl.setPermissionManager(metavoting, dao, dao.APP_MANAGER_ROLE());\n        acl.grantPermission(metavoting, acl, acl.CREATE_PERMISSIONS_ROLE());\n        acl.revokePermission(this, acl, acl.CREATE_PERMISSIONS_ROLE());\n        acl.setPermissionManager(metavoting, acl, acl.CREATE_PERMISSIONS_ROLE());\n        acl.grantPermission(metavoting, tokenManager, tokenManager.MINT_ROLE());\n        acl.revokePermission(this, tokenManager, tokenManager.MINT_ROLE());\n        acl.setPermissionManager(metavoting, tokenManager, tokenManager.MINT_ROLE());\n\n        emit DeployInstance(dao);\n    }\n}\n",
  "sourcePath": "/Users/osarrouy/Documents/PandoNetwork/pando/packages/pando-kit/contracts/PandoKit.sol",
  "ast": {
    "absolutePath": "/Users/osarrouy/Documents/PandoNetwork/pando/packages/pando-kit/contracts/PandoKit.sol",
    "exportedSymbols": {
      "APMNamehash": [
        68
      ],
      "KitBase": [
        159
      ],
      "PandoKit": [
        768
      ]
    },
    "id": 769,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 1,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:0"
      },
      {
        "absolutePath": "@aragon/os/contracts/lib/ens/ENS.sol",
        "file": "@aragon/os/contracts/lib/ens/ENS.sol",
        "id": 2,
        "nodeType": "ImportDirective",
        "scope": 769,
        "sourceUnit": 11105,
        "src": "26:46:0",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "@aragon/os/contracts/lib/ens/PublicResolver.sol",
        "file": "@aragon/os/contracts/lib/ens/PublicResolver.sol",
        "id": 3,
        "nodeType": "ImportDirective",
        "scope": 769,
        "sourceUnit": 11567,
        "src": "73:57:0",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "@aragon/os/contracts/apm/Repo.sol",
        "file": "@aragon/os/contracts/apm/Repo.sol",
        "id": 4,
        "nodeType": "ImportDirective",
        "scope": 769,
        "sourceUnit": 8092,
        "src": "131:43:0",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "@aragon/os/contracts/factory/DAOFactory.sol",
        "file": "@aragon/os/contracts/factory/DAOFactory.sol",
        "id": 5,
        "nodeType": "ImportDirective",
        "scope": 769,
        "sourceUnit": 10091,
        "src": "175:53:0",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "@aragon/apps-shared-minime/contracts/MiniMeToken.sol",
        "file": "@aragon/apps-shared-minime/contracts/MiniMeToken.sol",
        "id": 6,
        "nodeType": "ImportDirective",
        "scope": 769,
        "sourceUnit": 3785,
        "src": "229:62:0",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "@aragon/apps-vault/contracts/Vault.sol",
        "file": "@aragon/apps-vault/contracts/Vault.sol",
        "id": 7,
        "nodeType": "ImportDirective",
        "scope": 769,
        "sourceUnit": 4918,
        "src": "292:48:0",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "@aragon/apps-finance/contracts/Finance.sol",
        "file": "@aragon/apps-finance/contracts/Finance.sol",
        "id": 8,
        "nodeType": "ImportDirective",
        "scope": 769,
        "sourceUnit": 2646,
        "src": "341:52:0",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "@aragon/apps-voting/contracts/Voting.sol",
        "file": "@aragon/apps-voting/contracts/Voting.sol",
        "id": 9,
        "nodeType": "ImportDirective",
        "scope": 769,
        "sourceUnit": 5863,
        "src": "394:50:0",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "@pando/colony/contracts/PandoColony.sol",
        "file": "@pando/colony/contracts/PandoColony.sol",
        "id": 11,
        "nodeType": "ImportDirective",
        "scope": 769,
        "sourceUnit": 12134,
        "src": "445:70:0",
        "symbolAliases": [
          {
            "foreign": 10,
            "local": null
          }
        ],
        "unitAlias": ""
      },
      {
        "absolutePath": "@aragon/apps-token-manager/contracts/TokenManager.sol",
        "file": "@aragon/apps-token-manager/contracts/TokenManager.sol",
        "id": 13,
        "nodeType": "ImportDirective",
        "scope": 769,
        "sourceUnit": 4664,
        "src": "516:85:0",
        "symbolAliases": [
          {
            "foreign": 12,
            "local": null
          }
        ],
        "unitAlias": ""
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 68,
        "linearizedBaseContracts": [
          68
        ],
        "name": "APMNamehash",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": true,
            "id": 23,
            "name": "ETH_NODE",
            "nodeType": "VariableDeclaration",
            "scope": 68,
            "src": "631:74:0",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 14,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "631:7:0",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "value": {
              "argumentTypes": null,
              "arguments": [
                {
                  "argumentTypes": null,
                  "arguments": [
                    {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 17,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "684:1:0",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    }
                  ],
                  "expression": {
                    "argumentTypes": [
                      {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      }
                    ],
                    "id": 16,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "lValueRequested": false,
                    "nodeType": "ElementaryTypeNameExpression",
                    "src": "676:7:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_type$_t_bytes32_$",
                      "typeString": "type(bytes32)"
                    },
                    "typeName": "bytes32"
                  },
                  "id": 18,
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "kind": "typeConversion",
                  "lValueRequested": false,
                  "names": [],
                  "nodeType": "FunctionCall",
                  "src": "676:10:0",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                {
                  "argumentTypes": null,
                  "arguments": [
                    {
                      "argumentTypes": null,
                      "hexValue": "657468",
                      "id": 20,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "string",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "698:5:0",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_stringliteral_4f5b812789fc606be1b3b16908db13fc7a9adf7ca72641f84d75b47069d3d7f0",
                        "typeString": "literal_string \"eth\""
                      },
                      "value": "eth"
                    }
                  ],
                  "expression": {
                    "argumentTypes": [
                      {
                        "typeIdentifier": "t_stringliteral_4f5b812789fc606be1b3b16908db13fc7a9adf7ca72641f84d75b47069d3d7f0",
                        "typeString": "literal_string \"eth\""
                      }
                    ],
                    "id": 19,
                    "name": "keccak256",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 12664,
                    "src": "688:9:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                      "typeString": "function () pure returns (bytes32)"
                    }
                  },
                  "id": 21,
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "kind": "functionCall",
                  "lValueRequested": false,
                  "names": [],
                  "nodeType": "FunctionCall",
                  "src": "688:16:0",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                }
              ],
              "expression": {
                "argumentTypes": [
                  {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                ],
                "id": 15,
                "name": "keccak256",
                "nodeType": "Identifier",
                "overloadedDeclarations": [],
                "referencedDeclaration": 12664,
                "src": "666:9:0",
                "typeDescriptions": {
                  "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                  "typeString": "function () pure returns (bytes32)"
                }
              },
              "id": 22,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "functionCall",
              "lValueRequested": false,
              "names": [],
              "nodeType": "FunctionCall",
              "src": "666:39:0",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 31,
            "name": "APM_NODE",
            "nodeType": "VariableDeclaration",
            "scope": 68,
            "src": "711:77:0",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 24,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "711:7:0",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "value": {
              "argumentTypes": null,
              "arguments": [
                {
                  "argumentTypes": null,
                  "id": 26,
                  "name": "ETH_NODE",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 23,
                  "src": "756:8:0",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                {
                  "argumentTypes": null,
                  "arguments": [
                    {
                      "argumentTypes": null,
                      "hexValue": "617261676f6e706d",
                      "id": 28,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "string",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "776:10:0",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_stringliteral_1542111b4698ac085139692eae7c6efb632a4ae2779f8686da94511ebbbff594",
                        "typeString": "literal_string \"aragonpm\""
                      },
                      "value": "aragonpm"
                    }
                  ],
                  "expression": {
                    "argumentTypes": [
                      {
                        "typeIdentifier": "t_stringliteral_1542111b4698ac085139692eae7c6efb632a4ae2779f8686da94511ebbbff594",
                        "typeString": "literal_string \"aragonpm\""
                      }
                    ],
                    "id": 27,
                    "name": "keccak256",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 12664,
                    "src": "766:9:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                      "typeString": "function () pure returns (bytes32)"
                    }
                  },
                  "id": 29,
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "kind": "functionCall",
                  "lValueRequested": false,
                  "names": [],
                  "nodeType": "FunctionCall",
                  "src": "766:21:0",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                }
              ],
              "expression": {
                "argumentTypes": [
                  {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                ],
                "id": 25,
                "name": "keccak256",
                "nodeType": "Identifier",
                "overloadedDeclarations": [],
                "referencedDeclaration": 12664,
                "src": "746:9:0",
                "typeDescriptions": {
                  "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                  "typeString": "function () pure returns (bytes32)"
                }
              },
              "id": 30,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "functionCall",
              "lValueRequested": false,
              "names": [],
              "nodeType": "FunctionCall",
              "src": "746:42:0",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 39,
            "name": "OPEN_NODE",
            "nodeType": "VariableDeclaration",
            "scope": 68,
            "src": "794:74:0",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 32,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "794:7:0",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "value": {
              "argumentTypes": null,
              "arguments": [
                {
                  "argumentTypes": null,
                  "id": 34,
                  "name": "APM_NODE",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 31,
                  "src": "840:8:0",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                {
                  "argumentTypes": null,
                  "arguments": [
                    {
                      "argumentTypes": null,
                      "hexValue": "6f70656e",
                      "id": 36,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "string",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "860:6:0",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_stringliteral_99f30275ab70dd1890c0789c4570632b6f0b0284d11c2d9e587d0368f7027018",
                        "typeString": "literal_string \"open\""
                      },
                      "value": "open"
                    }
                  ],
                  "expression": {
                    "argumentTypes": [
                      {
                        "typeIdentifier": "t_stringliteral_99f30275ab70dd1890c0789c4570632b6f0b0284d11c2d9e587d0368f7027018",
                        "typeString": "literal_string \"open\""
                      }
                    ],
                    "id": 35,
                    "name": "keccak256",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 12664,
                    "src": "850:9:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                      "typeString": "function () pure returns (bytes32)"
                    }
                  },
                  "id": 37,
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "kind": "functionCall",
                  "lValueRequested": false,
                  "names": [],
                  "nodeType": "FunctionCall",
                  "src": "850:17:0",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                }
              ],
              "expression": {
                "argumentTypes": [
                  {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                ],
                "id": 33,
                "name": "keccak256",
                "nodeType": "Identifier",
                "overloadedDeclarations": [],
                "referencedDeclaration": 12664,
                "src": "830:9:0",
                "typeDescriptions": {
                  "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                  "typeString": "function () pure returns (bytes32)"
                }
              },
              "id": 38,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "functionCall",
              "lValueRequested": false,
              "names": [],
              "nodeType": "FunctionCall",
              "src": "830:38:0",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "visibility": "public"
          },
          {
            "body": {
              "id": 66,
              "nodeType": "Block",
              "src": "952:169:0",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "id": 48,
                    "name": "open",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 43,
                    "src": "966:4:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 64,
                    "nodeType": "Block",
                    "src": "1047:68:0",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 58,
                              "name": "APM_NODE",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 31,
                              "src": "1078:8:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 60,
                                  "name": "name",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 41,
                                  "src": "1098:4:0",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                ],
                                "id": 59,
                                "name": "keccak256",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 12664,
                                "src": "1088:9:0",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                                  "typeString": "function () pure returns (bytes32)"
                                }
                              },
                              "id": 61,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "1088:15:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 57,
                            "name": "keccak256",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 12664,
                            "src": "1068:9:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                              "typeString": "function () pure returns (bytes32)"
                            }
                          },
                          "id": 62,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1068:36:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "functionReturnParameters": 47,
                        "id": 63,
                        "nodeType": "Return",
                        "src": "1061:43:0"
                      }
                    ]
                  },
                  "id": 65,
                  "nodeType": "IfStatement",
                  "src": "962:153:0",
                  "trueBody": {
                    "id": 56,
                    "nodeType": "Block",
                    "src": "972:69:0",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 50,
                              "name": "OPEN_NODE",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 39,
                              "src": "1003:9:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 52,
                                  "name": "name",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 41,
                                  "src": "1024:4:0",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                ],
                                "id": 51,
                                "name": "keccak256",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 12664,
                                "src": "1014:9:0",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                                  "typeString": "function () pure returns (bytes32)"
                                }
                              },
                              "id": 53,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "1014:15:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 49,
                            "name": "keccak256",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 12664,
                            "src": "993:9:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                              "typeString": "function () pure returns (bytes32)"
                            }
                          },
                          "id": 54,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "993:37:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "functionReturnParameters": 47,
                        "id": 55,
                        "nodeType": "Return",
                        "src": "986:44:0"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": null,
            "id": 67,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "apmNamehash",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 44,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 41,
                  "name": "name",
                  "nodeType": "VariableDeclaration",
                  "scope": 67,
                  "src": "896:11:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 40,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "896:6:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 43,
                  "name": "open",
                  "nodeType": "VariableDeclaration",
                  "scope": 67,
                  "src": "909:9:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 42,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "909:4:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "895:24:0"
            },
            "payable": false,
            "returnParameters": {
              "id": 47,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 46,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 67,
                  "src": "943:7:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 45,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "943:7:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "942:9:0"
            },
            "scope": 68,
            "src": "875:246:0",
            "stateMutability": "pure",
            "superFunction": null,
            "visibility": "internal"
          }
        ],
        "scope": 769,
        "src": "604:519:0"
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 69,
              "name": "APMNamehash",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 68,
              "src": "1146:11:0",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_APMNamehash_$68",
                "typeString": "contract APMNamehash"
              }
            },
            "id": 70,
            "nodeType": "InheritanceSpecifier",
            "src": "1146:11:0"
          }
        ],
        "contractDependencies": [
          68
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 159,
        "linearizedBaseContracts": [
          159,
          68
        ],
        "name": "KitBase",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 72,
            "name": "ens",
            "nodeType": "VariableDeclaration",
            "scope": 159,
            "src": "1164:21:0",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_ENS_$11104",
              "typeString": "contract ENS"
            },
            "typeName": {
              "contractScope": null,
              "id": 71,
              "name": "ENS",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 11104,
              "src": "1164:3:0",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ENS_$11104",
                "typeString": "contract ENS"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 74,
            "name": "fac",
            "nodeType": "VariableDeclaration",
            "scope": 159,
            "src": "1191:21:0",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_DAOFactory_$10090",
              "typeString": "contract DAOFactory"
            },
            "typeName": {
              "contractScope": null,
              "id": 73,
              "name": "DAOFactory",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 10090,
              "src": "1191:10:0",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_DAOFactory_$10090",
                "typeString": "contract DAOFactory"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 78,
            "name": "DeployInstance",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 77,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 76,
                  "indexed": false,
                  "name": "dao",
                  "nodeType": "VariableDeclaration",
                  "scope": 78,
                  "src": "1240:11:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 75,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1240:7:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1239:13:0"
            },
            "src": "1219:34:0"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 84,
            "name": "InstalledApp",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 83,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 80,
                  "indexed": false,
                  "name": "appProxy",
                  "nodeType": "VariableDeclaration",
                  "scope": 84,
                  "src": "1277:16:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 79,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1277:7:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 82,
                  "indexed": false,
                  "name": "appId",
                  "nodeType": "VariableDeclaration",
                  "scope": 84,
                  "src": "1295:13:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 81,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1295:7:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1276:33:0"
            },
            "src": "1258:52:0"
          },
          {
            "body": {
              "id": 126,
              "nodeType": "Block",
              "src": "1362:314:0",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 93,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 91,
                      "name": "ens",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 72,
                      "src": "1372:3:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_ENS_$11104",
                        "typeString": "contract ENS"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 92,
                      "name": "_ens",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 88,
                      "src": "1378:4:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_ENS_$11104",
                        "typeString": "contract ENS"
                      }
                    },
                    "src": "1372:10:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ENS_$11104",
                      "typeString": "contract ENS"
                    }
                  },
                  "id": 94,
                  "nodeType": "ExpressionStatement",
                  "src": "1372:10:0"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 101,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 96,
                          "name": "_fac",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 86,
                          "src": "1471:4:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_DAOFactory_$10090",
                            "typeString": "contract DAOFactory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_contract$_DAOFactory_$10090",
                            "typeString": "contract DAOFactory"
                          }
                        ],
                        "id": 95,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "1463:7:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_address_$",
                          "typeString": "type(address)"
                        },
                        "typeName": "address"
                      },
                      "id": 97,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1463:13:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 99,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "1488:1:0",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          }
                        ],
                        "id": 98,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "1480:7:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_address_$",
                          "typeString": "type(address)"
                        },
                        "typeName": "address"
                      },
                      "id": 100,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1480:10:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "1463:27:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 124,
                    "nodeType": "Block",
                    "src": "1635:35:0",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 122,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 120,
                            "name": "fac",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 74,
                            "src": "1649:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_DAOFactory_$10090",
                              "typeString": "contract DAOFactory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "id": 121,
                            "name": "_fac",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 86,
                            "src": "1655:4:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_DAOFactory_$10090",
                              "typeString": "contract DAOFactory"
                            }
                          },
                          "src": "1649:10:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_DAOFactory_$10090",
                            "typeString": "contract DAOFactory"
                          }
                        },
                        "id": 123,
                        "nodeType": "ExpressionStatement",
                        "src": "1649:10:0"
                      }
                    ]
                  },
                  "id": 125,
                  "nodeType": "IfStatement",
                  "src": "1459:211:0",
                  "trueBody": {
                    "id": 119,
                    "nodeType": "Block",
                    "src": "1492:137:0",
                    "statements": [
                      {
                        "assignments": [
                          103
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 103,
                            "name": "bareKit",
                            "nodeType": "VariableDeclaration",
                            "scope": 127,
                            "src": "1506:15:0",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            "typeName": {
                              "id": 102,
                              "name": "bytes32",
                              "nodeType": "ElementaryTypeName",
                              "src": "1506:7:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 108,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "hexValue": "626172652d6b6974",
                              "id": 105,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "1536:10:0",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_eae34e1d5adf3d84ddaf56c05425677b54d69a021ff0c01c8b5f2289b91a4e9f",
                                "typeString": "literal_string \"bare-kit\""
                              },
                              "value": "bare-kit"
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "66616c7365",
                              "id": 106,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "1548:5:0",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "value": "false"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_eae34e1d5adf3d84ddaf56c05425677b54d69a021ff0c01c8b5f2289b91a4e9f",
                                "typeString": "literal_string \"bare-kit\""
                              },
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "id": 104,
                            "name": "apmNamehash",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 67,
                            "src": "1524:11:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_bool_$returns$_t_bytes32_$",
                              "typeString": "function (string memory,bool) pure returns (bytes32)"
                            }
                          },
                          "id": 107,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1524:30:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "1506:48:0"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 117,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 109,
                            "name": "fac",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 74,
                            "src": "1568:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_DAOFactory_$10090",
                              "typeString": "contract DAOFactory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "id": 112,
                                        "name": "bareKit",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 103,
                                        "src": "1603:7:0",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      ],
                                      "id": 111,
                                      "name": "latestVersionAppBase",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 158,
                                      "src": "1582:20:0",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
                                        "typeString": "function (bytes32) view returns (address)"
                                      }
                                    },
                                    "id": 113,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "1582:29:0",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "id": 110,
                                  "name": "KitBase",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 159,
                                  "src": "1574:7:0",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_KitBase_$159_$",
                                    "typeString": "type(contract KitBase)"
                                  }
                                },
                                "id": 114,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "1574:38:0",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_KitBase_$159",
                                  "typeString": "contract KitBase"
                                }
                              },
                              "id": 115,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "fac",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 74,
                              "src": "1574:42:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_DAOFactory_$10090_$",
                                "typeString": "function () view external returns (contract DAOFactory)"
                              }
                            },
                            "id": 116,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "1574:44:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_DAOFactory_$10090",
                              "typeString": "contract DAOFactory"
                            }
                          },
                          "src": "1568:50:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_DAOFactory_$10090",
                            "typeString": "contract DAOFactory"
                          }
                        },
                        "id": 118,
                        "nodeType": "ExpressionStatement",
                        "src": "1568:50:0"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": null,
            "id": 127,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 89,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 86,
                  "name": "_fac",
                  "nodeType": "VariableDeclaration",
                  "scope": 127,
                  "src": "1328:15:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_DAOFactory_$10090",
                    "typeString": "contract DAOFactory"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 85,
                    "name": "DAOFactory",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 10090,
                    "src": "1328:10:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_DAOFactory_$10090",
                      "typeString": "contract DAOFactory"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 88,
                  "name": "_ens",
                  "nodeType": "VariableDeclaration",
                  "scope": 127,
                  "src": "1345:8:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_ENS_$11104",
                    "typeString": "contract ENS"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 87,
                    "name": "ENS",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 11104,
                    "src": "1345:3:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ENS_$11104",
                      "typeString": "contract ENS"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1327:27:0"
            },
            "payable": false,
            "returnParameters": {
              "id": 90,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1362:0:0"
            },
            "scope": 159,
            "src": "1316:360:0",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 157,
              "nodeType": "Block",
              "src": "1762:141:0",
              "statements": [
                {
                  "assignments": [
                    135
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 135,
                      "name": "repo",
                      "nodeType": "VariableDeclaration",
                      "scope": 158,
                      "src": "1772:9:0",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_Repo_$8091",
                        "typeString": "contract Repo"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 134,
                        "name": "Repo",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 8091,
                        "src": "1772:4:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Repo_$8091",
                          "typeString": "contract Repo"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 147,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 144,
                            "name": "appId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 129,
                            "src": "1830:5:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 140,
                                    "name": "appId",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 129,
                                    "src": "1817:5:0",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 138,
                                    "name": "ens",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 72,
                                    "src": "1804:3:0",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_contract$_ENS_$11104",
                                      "typeString": "contract ENS"
                                    }
                                  },
                                  "id": 139,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "resolver",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 10989,
                                  "src": "1804:12:0",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$",
                                    "typeString": "function (bytes32) view external returns (address)"
                                  }
                                },
                                "id": 141,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "1804:19:0",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "id": 137,
                              "name": "PublicResolver",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 11566,
                              "src": "1789:14:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_PublicResolver_$11566_$",
                                "typeString": "type(contract PublicResolver)"
                              }
                            },
                            "id": 142,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "1789:35:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_PublicResolver_$11566",
                              "typeString": "contract PublicResolver"
                            }
                          },
                          "id": 143,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "addr",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 11272,
                          "src": "1789:40:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$",
                            "typeString": "function (bytes32) view external returns (address)"
                          }
                        },
                        "id": 145,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1789:47:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 136,
                      "name": "Repo",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8091,
                      "src": "1784:4:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_contract$_Repo_$8091_$",
                        "typeString": "type(contract Repo)"
                      }
                    },
                    "id": 146,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1784:53:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_Repo_$8091",
                      "typeString": "contract Repo"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1772:65:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 153,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        null,
                        {
                          "argumentTypes": null,
                          "id": 148,
                          "name": "base",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 132,
                          "src": "1849:4:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        null
                      ],
                      "id": 149,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "1847:8:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$__$_t_address_$__$",
                        "typeString": "tuple(,address,)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "expression": {
                          "argumentTypes": null,
                          "id": 150,
                          "name": "repo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 135,
                          "src": "1858:4:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_Repo_$8091",
                            "typeString": "contract Repo"
                          }
                        },
                        "id": 151,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "getLatest",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 7895,
                        "src": "1858:14:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_uint16_$3_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$",
                          "typeString": "function () view external returns (uint16[3] memory,address,bytes memory)"
                        }
                      },
                      "id": 152,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1858:16:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_array$_t_uint16_$3_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$",
                        "typeString": "tuple(uint16[3] memory,address,bytes memory)"
                      }
                    },
                    "src": "1847:27:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 154,
                  "nodeType": "ExpressionStatement",
                  "src": "1847:27:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 155,
                    "name": "base",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 132,
                    "src": "1892:4:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "functionReturnParameters": 133,
                  "id": 156,
                  "nodeType": "Return",
                  "src": "1885:11:0"
                }
              ]
            },
            "documentation": null,
            "id": 158,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "latestVersionAppBase",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 130,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 129,
                  "name": "appId",
                  "nodeType": "VariableDeclaration",
                  "scope": 158,
                  "src": "1712:13:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 128,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1712:7:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1711:15:0"
            },
            "payable": false,
            "returnParameters": {
              "id": 133,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 132,
                  "name": "base",
                  "nodeType": "VariableDeclaration",
                  "scope": 158,
                  "src": "1748:12:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 131,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1748:7:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1747:14:0"
            },
            "scope": 159,
            "src": "1682:221:0",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 769,
        "src": "1126:779:0"
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 160,
              "name": "KitBase",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 159,
              "src": "1929:7:0",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_KitBase_$159",
                "typeString": "contract KitBase"
              }
            },
            "id": 161,
            "nodeType": "InheritanceSpecifier",
            "src": "1929:7:0"
          }
        ],
        "contractDependencies": [
          68,
          159
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 768,
        "linearizedBaseContracts": [
          768,
          159,
          68
        ],
        "name": "PandoKit",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 163,
            "name": "devchain",
            "nodeType": "VariableDeclaration",
            "scope": 768,
            "src": "1943:13:0",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bool",
              "typeString": "bool"
            },
            "typeName": {
              "id": 162,
              "name": "bool",
              "nodeType": "ElementaryTypeName",
              "src": "1943:4:0",
              "typeDescriptions": {
                "typeIdentifier": "t_bool",
                "typeString": "bool"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 165,
            "name": "tokenFactory",
            "nodeType": "VariableDeclaration",
            "scope": 768,
            "src": "1962:31:0",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_MiniMeTokenFactory_$3784",
              "typeString": "contract MiniMeTokenFactory"
            },
            "typeName": {
              "contractScope": null,
              "id": 164,
              "name": "MiniMeTokenFactory",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 3784,
              "src": "1962:18:0",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_MiniMeTokenFactory_$3784",
                "typeString": "contract MiniMeTokenFactory"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 170,
            "name": "PCT",
            "nodeType": "VariableDeclaration",
            "scope": 768,
            "src": "2000:31:0",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 166,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "2000:7:0",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "commonType": {
                "typeIdentifier": "t_rational_10000000000000000_by_1",
                "typeString": "int_const 10000000000000000"
              },
              "id": 169,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "lValueRequested": false,
              "leftExpression": {
                "argumentTypes": null,
                "hexValue": "3130",
                "id": 167,
                "isConstant": false,
                "isLValue": false,
                "isPure": true,
                "kind": "number",
                "lValueRequested": false,
                "nodeType": "Literal",
                "src": "2023:2:0",
                "subdenomination": null,
                "typeDescriptions": {
                  "typeIdentifier": "t_rational_10_by_1",
                  "typeString": "int_const 10"
                },
                "value": "10"
              },
              "nodeType": "BinaryOperation",
              "operator": "**",
              "rightExpression": {
                "argumentTypes": null,
                "hexValue": "3136",
                "id": 168,
                "isConstant": false,
                "isLValue": false,
                "isPure": true,
                "kind": "number",
                "lValueRequested": false,
                "nodeType": "Literal",
                "src": "2029:2:0",
                "subdenomination": null,
                "typeDescriptions": {
                  "typeIdentifier": "t_rational_16_by_1",
                  "typeString": "int_const 16"
                },
                "value": "16"
              },
              "src": "2023:8:0",
              "typeDescriptions": {
                "typeIdentifier": "t_rational_10000000000000000_by_1",
                "typeString": "int_const 10000000000000000"
              }
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 176,
            "name": "ANY_ENTITY",
            "nodeType": "VariableDeclaration",
            "scope": 768,
            "src": "2037:41:0",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 171,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "2037:7:0",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "value": {
              "argumentTypes": null,
              "arguments": [
                {
                  "argumentTypes": null,
                  "id": 174,
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "lValueRequested": false,
                  "nodeType": "UnaryOperation",
                  "operator": "-",
                  "prefix": true,
                  "src": "2075:2:0",
                  "subExpression": {
                    "argumentTypes": null,
                    "hexValue": "31",
                    "id": 173,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "2076:1:0",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_rational_1_by_1",
                      "typeString": "int_const 1"
                    },
                    "value": "1"
                  },
                  "typeDescriptions": {
                    "typeIdentifier": "t_rational_-1_by_1",
                    "typeString": "int_const -1"
                  }
                }
              ],
              "expression": {
                "argumentTypes": [
                  {
                    "typeIdentifier": "t_rational_-1_by_1",
                    "typeString": "int_const -1"
                  }
                ],
                "id": 172,
                "isConstant": false,
                "isLValue": false,
                "isPure": true,
                "lValueRequested": false,
                "nodeType": "ElementaryTypeNameExpression",
                "src": "2067:7:0",
                "typeDescriptions": {
                  "typeIdentifier": "t_type$_t_address_$",
                  "typeString": "type(address)"
                },
                "typeName": "address"
              },
              "id": 175,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "typeConversion",
              "lValueRequested": false,
              "names": [],
              "nodeType": "FunctionCall",
              "src": "2067:11:0",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "visibility": "internal"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 184,
            "name": "DeployToken",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 183,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 178,
                  "indexed": false,
                  "name": "token",
                  "nodeType": "VariableDeclaration",
                  "scope": 184,
                  "src": "2103:13:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 177,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2103:7:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 180,
                  "indexed": false,
                  "name": "name",
                  "nodeType": "VariableDeclaration",
                  "scope": 184,
                  "src": "2118:11:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 179,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2118:6:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 182,
                  "indexed": false,
                  "name": "symbol",
                  "nodeType": "VariableDeclaration",
                  "scope": 184,
                  "src": "2131:13:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 181,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2131:6:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2102:43:0"
            },
            "src": "2085:61:0"
          },
          {
            "body": {
              "id": 207,
              "nodeType": "Block",
              "src": "2260:75:0",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 201,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 199,
                      "name": "devchain",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 163,
                      "src": "2270:8:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 200,
                      "name": "_devchain",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 190,
                      "src": "2281:9:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "2270:20:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 202,
                  "nodeType": "ExpressionStatement",
                  "src": "2270:20:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 205,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 203,
                      "name": "tokenFactory",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 165,
                      "src": "2300:12:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_MiniMeTokenFactory_$3784",
                        "typeString": "contract MiniMeTokenFactory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 204,
                      "name": "_tokenFactory",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 188,
                      "src": "2315:13:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_MiniMeTokenFactory_$3784",
                        "typeString": "contract MiniMeTokenFactory"
                      }
                    },
                    "src": "2300:28:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_MiniMeTokenFactory_$3784",
                      "typeString": "contract MiniMeTokenFactory"
                    }
                  },
                  "id": 206,
                  "nodeType": "ExpressionStatement",
                  "src": "2300:28:0"
                }
              ]
            },
            "documentation": null,
            "id": 208,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 194,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2250:1:0",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        }
                      ],
                      "id": 193,
                      "name": "DAOFactory",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10090,
                      "src": "2239:10:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_contract$_DAOFactory_$10090_$",
                        "typeString": "type(contract DAOFactory)"
                      }
                    },
                    "id": 195,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2239:13:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_DAOFactory_$10090",
                      "typeString": "contract DAOFactory"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 196,
                    "name": "_ens",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 186,
                    "src": "2254:4:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ENS_$11104",
                      "typeString": "contract ENS"
                    }
                  }
                ],
                "id": 197,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 192,
                  "name": "KitBase",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 159,
                  "src": "2231:7:0",
                  "typeDescriptions": {
                    "typeIdentifier": "t_type$_t_contract$_KitBase_$159_$",
                    "typeString": "type(contract KitBase)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2231:28:0"
              }
            ],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 191,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 186,
                  "name": "_ens",
                  "nodeType": "VariableDeclaration",
                  "scope": 208,
                  "src": "2164:8:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_ENS_$11104",
                    "typeString": "contract ENS"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 185,
                    "name": "ENS",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 11104,
                    "src": "2164:3:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ENS_$11104",
                      "typeString": "contract ENS"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 188,
                  "name": "_tokenFactory",
                  "nodeType": "VariableDeclaration",
                  "scope": 208,
                  "src": "2174:32:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_MiniMeTokenFactory_$3784",
                    "typeString": "contract MiniMeTokenFactory"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 187,
                    "name": "MiniMeTokenFactory",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 3784,
                    "src": "2174:18:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_MiniMeTokenFactory_$3784",
                      "typeString": "contract MiniMeTokenFactory"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 190,
                  "name": "_devchain",
                  "nodeType": "VariableDeclaration",
                  "scope": 208,
                  "src": "2208:14:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 189,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2208:4:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2163:60:0"
            },
            "payable": false,
            "returnParameters": {
              "id": 198,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2260:0:0"
            },
            "scope": 768,
            "src": "2152:183:0",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 239,
              "nodeType": "Block",
              "src": "2398:178:0",
              "statements": [
                {
                  "assignments": [
                    216
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 216,
                      "name": "token",
                      "nodeType": "VariableDeclaration",
                      "scope": 240,
                      "src": "2408:17:0",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_MiniMeToken_$3743",
                        "typeString": "contract MiniMeToken"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 215,
                        "name": "MiniMeToken",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 3743,
                        "src": "2408:11:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_MiniMeToken_$3743",
                          "typeString": "contract MiniMeToken"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 230,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "hexValue": "30",
                                "id": 221,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "2478:1:0",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                }
                              ],
                              "id": 220,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "2470:7:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_address_$",
                                "typeString": "type(address)"
                              },
                              "typeName": "address"
                            },
                            "id": 222,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2470:10:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 219,
                          "name": "MiniMeToken",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3743,
                          "src": "2458:11:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_MiniMeToken_$3743_$",
                            "typeString": "type(contract MiniMeToken)"
                          }
                        },
                        "id": 223,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2458:23:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_MiniMeToken_$3743",
                          "typeString": "contract MiniMeToken"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 224,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2483:1:0",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      {
                        "argumentTypes": null,
                        "id": 225,
                        "name": "_name",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 210,
                        "src": "2486:5:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 226,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2493:1:0",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      {
                        "argumentTypes": null,
                        "id": 227,
                        "name": "_symbol",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 212,
                        "src": "2496:7:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "74727565",
                        "id": 228,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "bool",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2505:4:0",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "value": "true"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_MiniMeToken_$3743",
                          "typeString": "contract MiniMeToken"
                        },
                        {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        },
                        {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        },
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 217,
                        "name": "tokenFactory",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 165,
                        "src": "2428:12:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_MiniMeTokenFactory_$3784",
                          "typeString": "contract MiniMeTokenFactory"
                        }
                      },
                      "id": 218,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "createCloneToken",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 3783,
                      "src": "2428:29:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_contract$_MiniMeToken_$3743_$_t_uint256_$_t_string_memory_ptr_$_t_uint8_$_t_string_memory_ptr_$_t_bool_$returns$_t_contract$_MiniMeToken_$3743_$",
                        "typeString": "function (contract MiniMeToken,uint256,string memory,uint8,string memory,bool) external returns (contract MiniMeToken)"
                      }
                    },
                    "id": 229,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2428:82:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_MiniMeToken_$3743",
                      "typeString": "contract MiniMeToken"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2408:102:0"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 233,
                            "name": "token",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 216,
                            "src": "2546:5:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_MiniMeToken_$3743",
                              "typeString": "contract MiniMeToken"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_contract$_MiniMeToken_$3743",
                              "typeString": "contract MiniMeToken"
                            }
                          ],
                          "id": 232,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "2538:7:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": "address"
                        },
                        "id": 234,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2538:14:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 235,
                        "name": "_name",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 210,
                        "src": "2554:5:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 236,
                        "name": "_symbol",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 212,
                        "src": "2561:7:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        },
                        {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      ],
                      "id": 231,
                      "name": "DeployToken",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 184,
                      "src": "2526:11:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (address,string memory,string memory)"
                      }
                    },
                    "id": 237,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2526:43:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 238,
                  "nodeType": "EmitStatement",
                  "src": "2521:48:0"
                }
              ]
            },
            "documentation": null,
            "id": 240,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "newToken",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 213,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 210,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 240,
                  "src": "2359:12:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 209,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2359:6:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 212,
                  "name": "_symbol",
                  "nodeType": "VariableDeclaration",
                  "scope": 240,
                  "src": "2373:14:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 211,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2373:6:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2358:30:0"
            },
            "payable": false,
            "returnParameters": {
              "id": 214,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2398:0:0"
            },
            "scope": 768,
            "src": "2341:235:0",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 766,
              "nodeType": "Block",
              "src": "2631:4466:0",
              "statements": [
                {
                  "assignments": [
                    249
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 249,
                      "name": "appIds",
                      "nodeType": "VariableDeclaration",
                      "scope": 767,
                      "src": "2641:24:0",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes32_$5_memory_ptr",
                        "typeString": "bytes32[5]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 247,
                          "name": "bytes32",
                          "nodeType": "ElementaryTypeName",
                          "src": "2641:7:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "id": 248,
                        "length": {
                          "argumentTypes": null,
                          "hexValue": "35",
                          "id": 246,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2649:1:0",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": null,
                            "typeString": null
                          },
                          "value": "5"
                        },
                        "nodeType": "ArrayTypeName",
                        "src": "2641:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_bytes32_$5_storage_ptr",
                          "typeString": "bytes32[5]"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 272,
                  "initialValue": {
                    "argumentTypes": null,
                    "components": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "7661756c74",
                            "id": 251,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2694:7:0",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_23c14fceac7676b670aa56866076586ea1ce15ddcf19208ec6346cf748dffbee",
                              "typeString": "literal_string \"vault\""
                            },
                            "value": "vault"
                          },
                          {
                            "argumentTypes": null,
                            "hexValue": "66616c7365",
                            "id": 252,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "bool",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2703:5:0",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "value": "false"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_stringliteral_23c14fceac7676b670aa56866076586ea1ce15ddcf19208ec6346cf748dffbee",
                              "typeString": "literal_string \"vault\""
                            },
                            {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          ],
                          "id": 250,
                          "name": "apmNamehash",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 67,
                          "src": "2682:11:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_bool_$returns$_t_bytes32_$",
                            "typeString": "function (string memory,bool) pure returns (bytes32)"
                          }
                        },
                        "id": 253,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2682:27:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "66696e616e6365",
                            "id": 255,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2751:9:0",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_2af4c2fb0d9965fa818b9c58b2744b328ab67b082ec92907629457399dacdb35",
                              "typeString": "literal_string \"finance\""
                            },
                            "value": "finance"
                          },
                          {
                            "argumentTypes": null,
                            "hexValue": "66616c7365",
                            "id": 256,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "bool",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2762:5:0",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "value": "false"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_stringliteral_2af4c2fb0d9965fa818b9c58b2744b328ab67b082ec92907629457399dacdb35",
                              "typeString": "literal_string \"finance\""
                            },
                            {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          ],
                          "id": 254,
                          "name": "apmNamehash",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 67,
                          "src": "2739:11:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_bool_$returns$_t_bytes32_$",
                            "typeString": "function (string memory,bool) pure returns (bytes32)"
                          }
                        },
                        "id": 257,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2739:29:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "746f6b656e2d6d616e61676572",
                            "id": 259,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2808:15:0",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_de5fa9c0ef6d18cdb8ef4461bfb45c94dc915629a2a1f311fb33838aff95436f",
                              "typeString": "literal_string \"token-manager\""
                            },
                            "value": "token-manager"
                          },
                          {
                            "argumentTypes": null,
                            "hexValue": "66616c7365",
                            "id": 260,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "bool",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2825:5:0",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "value": "false"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_stringliteral_de5fa9c0ef6d18cdb8ef4461bfb45c94dc915629a2a1f311fb33838aff95436f",
                              "typeString": "literal_string \"token-manager\""
                            },
                            {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          ],
                          "id": 258,
                          "name": "apmNamehash",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 67,
                          "src": "2796:11:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_bool_$returns$_t_bytes32_$",
                            "typeString": "function (string memory,bool) pure returns (bytes32)"
                          }
                        },
                        "id": 261,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2796:35:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "766f74696e67",
                            "id": 263,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2865:8:0",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_0e49311626a26ba5be58a3b13d239908e80ce0dffdd5c50bf1d9c82ff35d1ab3",
                              "typeString": "literal_string \"voting\""
                            },
                            "value": "voting"
                          },
                          {
                            "argumentTypes": null,
                            "hexValue": "66616c7365",
                            "id": 264,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "bool",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2875:5:0",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "value": "false"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_stringliteral_0e49311626a26ba5be58a3b13d239908e80ce0dffdd5c50bf1d9c82ff35d1ab3",
                              "typeString": "literal_string \"voting\""
                            },
                            {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          ],
                          "id": 262,
                          "name": "apmNamehash",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 67,
                          "src": "2853:11:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_bool_$returns$_t_bytes32_$",
                            "typeString": "function (string memory,bool) pure returns (bytes32)"
                          }
                        },
                        "id": 265,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2853:28:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "70616e646f2d636f6c6f6e79",
                            "id": 267,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2922:14:0",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_39fdfce5f61008c6306b497a2146ae2105fed6d2c6c32e9325a73fce867e5af1",
                              "typeString": "literal_string \"pando-colony\""
                            },
                            "value": "pando-colony"
                          },
                          {
                            "argumentTypes": null,
                            "id": 269,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "UnaryOperation",
                            "operator": "!",
                            "prefix": true,
                            "src": "2938:9:0",
                            "subExpression": {
                              "argumentTypes": null,
                              "id": 268,
                              "name": "devchain",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 163,
                              "src": "2939:8:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_stringliteral_39fdfce5f61008c6306b497a2146ae2105fed6d2c6c32e9325a73fce867e5af1",
                              "typeString": "literal_string \"pando-colony\""
                            },
                            {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          ],
                          "id": 266,
                          "name": "apmNamehash",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 67,
                          "src": "2910:11:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_bool_$returns$_t_bytes32_$",
                            "typeString": "function (string memory,bool) pure returns (bytes32)"
                          }
                        },
                        "id": 270,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2910:38:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "id": 271,
                    "isConstant": false,
                    "isInlineArray": true,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "TupleExpression",
                    "src": "2668:296:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$5_memory_ptr",
                      "typeString": "bytes32[5] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2641:323:0"
                },
                {
                  "assignments": [
                    274
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 274,
                      "name": "dao",
                      "nodeType": "VariableDeclaration",
                      "scope": 767,
                      "src": "2990:10:0",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_Kernel_$10747",
                        "typeString": "contract Kernel"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 273,
                        "name": "Kernel",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 10747,
                        "src": "2990:6:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Kernel_$10747",
                          "typeString": "contract Kernel"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 279,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 277,
                        "name": "this",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12811,
                        "src": "3014:4:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_PandoKit_$768",
                          "typeString": "contract PandoKit"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_PandoKit_$768",
                          "typeString": "contract PandoKit"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 275,
                        "name": "fac",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 74,
                        "src": "3003:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_DAOFactory_$10090",
                          "typeString": "contract DAOFactory"
                        }
                      },
                      "id": 276,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "newDAO",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10089,
                      "src": "3003:10:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_contract$_Kernel_$10747_$",
                        "typeString": "function (address) external returns (contract Kernel)"
                      }
                    },
                    "id": 278,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3003:16:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_Kernel_$10747",
                      "typeString": "contract Kernel"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2990:29:0"
                },
                {
                  "assignments": [
                    281
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 281,
                      "name": "acl",
                      "nodeType": "VariableDeclaration",
                      "scope": 767,
                      "src": "3029:10:0",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_ACL_$7166",
                        "typeString": "contract ACL"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 280,
                        "name": "ACL",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 7166,
                        "src": "3029:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 287,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 283,
                            "name": "dao",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 274,
                            "src": "3046:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Kernel_$10747",
                              "typeString": "contract Kernel"
                            }
                          },
                          "id": 284,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "acl",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 10609,
                          "src": "3046:7:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IACL_$7681_$",
                            "typeString": "function () view external returns (contract IACL)"
                          }
                        },
                        "id": 285,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3046:9:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IACL_$7681",
                          "typeString": "contract IACL"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_IACL_$7681",
                          "typeString": "contract IACL"
                        }
                      ],
                      "id": 282,
                      "name": "ACL",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7166,
                      "src": "3042:3:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_contract$_ACL_$7166_$",
                        "typeString": "type(contract ACL)"
                      }
                    },
                    "id": 286,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3042:14:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ACL_$7166",
                      "typeString": "contract ACL"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3029:27:0"
                },
                {
                  "assignments": [
                    289
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 289,
                      "name": "reg",
                      "nodeType": "VariableDeclaration",
                      "scope": 767,
                      "src": "3066:21:0",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_EVMScriptRegistry_$9287",
                        "typeString": "contract EVMScriptRegistry"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 288,
                        "name": "EVMScriptRegistry",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 9287,
                        "src": "3066:17:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_EVMScriptRegistry_$9287",
                          "typeString": "contract EVMScriptRegistry"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 295,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 291,
                            "name": "acl",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 281,
                            "src": "3108:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ACL_$7166",
                              "typeString": "contract ACL"
                            }
                          },
                          "id": 292,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "getEVMScriptRegistry",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 9356,
                          "src": "3108:24:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IEVMScriptRegistry_$9523_$",
                            "typeString": "function () view external returns (contract IEVMScriptRegistry)"
                          }
                        },
                        "id": 293,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3108:26:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IEVMScriptRegistry_$9523",
                          "typeString": "contract IEVMScriptRegistry"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_IEVMScriptRegistry_$9523",
                          "typeString": "contract IEVMScriptRegistry"
                        }
                      ],
                      "id": 290,
                      "name": "EVMScriptRegistry",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9287,
                      "src": "3090:17:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_contract$_EVMScriptRegistry_$9287_$",
                        "typeString": "type(contract EVMScriptRegistry)"
                      }
                    },
                    "id": 294,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3090:45:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_EVMScriptRegistry_$9287",
                      "typeString": "contract EVMScriptRegistry"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3066:69:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 299,
                        "name": "this",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12811,
                        "src": "3166:4:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_PandoKit_$768",
                          "typeString": "contract PandoKit"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 300,
                        "name": "dao",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 274,
                        "src": "3172:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Kernel_$10747",
                          "typeString": "contract Kernel"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 301,
                            "name": "dao",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 274,
                            "src": "3177:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Kernel_$10747",
                              "typeString": "contract Kernel"
                            }
                          },
                          "id": 302,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "APP_MANAGER_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 10281,
                          "src": "3177:20:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 303,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3177:22:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 304,
                        "name": "this",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12811,
                        "src": "3201:4:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_PandoKit_$768",
                          "typeString": "contract PandoKit"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_PandoKit_$768",
                          "typeString": "contract PandoKit"
                        },
                        {
                          "typeIdentifier": "t_contract$_Kernel_$10747",
                          "typeString": "contract Kernel"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_PandoKit_$768",
                          "typeString": "contract PandoKit"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 296,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "3145:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 298,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "createPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6082,
                      "src": "3145:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (address,address,bytes32,address) external"
                      }
                    },
                    "id": 305,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3145:61:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 306,
                  "nodeType": "ExpressionStatement",
                  "src": "3145:61:0"
                },
                {
                  "assignments": [
                    308
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 308,
                      "name": "vault",
                      "nodeType": "VariableDeclaration",
                      "scope": 767,
                      "src": "3233:11:0",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_Vault_$4917",
                        "typeString": "contract Vault"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 307,
                        "name": "Vault",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 4917,
                        "src": "3233:5:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vault_$4917",
                          "typeString": "contract Vault"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 327,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 312,
                              "name": "appIds",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 249,
                              "src": "3302:6:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes32_$5_memory_ptr",
                                "typeString": "bytes32[5] memory"
                              }
                            },
                            "id": 314,
                            "indexExpression": {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 313,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "3309:1:0",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "3302:9:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 316,
                                  "name": "appIds",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 249,
                                  "src": "3350:6:0",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_bytes32_$5_memory_ptr",
                                    "typeString": "bytes32[5] memory"
                                  }
                                },
                                "id": 318,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "hexValue": "30",
                                  "id": 317,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "3357:1:0",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "3350:9:0",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 315,
                              "name": "latestVersionAppBase",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 158,
                              "src": "3329:20:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
                                "typeString": "function (bytes32) view returns (address)"
                              }
                            },
                            "id": 319,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3329:31:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "hexValue": "30",
                                "id": 322,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "3388:1:0",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                }
                              ],
                              "id": 321,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "NewExpression",
                              "src": "3378:9:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$",
                                "typeString": "function (uint256) pure returns (bytes memory)"
                              },
                              "typeName": {
                                "id": 320,
                                "name": "bytes",
                                "nodeType": "ElementaryTypeName",
                                "src": "3382:5:0",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_storage_ptr",
                                  "typeString": "bytes"
                                }
                              }
                            },
                            "id": 323,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3378:12:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory",
                              "typeString": "bytes memory"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "hexValue": "74727565",
                            "id": 324,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "bool",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3408:4:0",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "value": "true"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_bytes_memory",
                              "typeString": "bytes memory"
                            },
                            {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 310,
                            "name": "dao",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 274,
                            "src": "3266:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Kernel_$10747",
                              "typeString": "contract Kernel"
                            }
                          },
                          "id": 311,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "newAppInstance",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 10417,
                          "src": "3266:18:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$_t_contract$_ERCProxy_$11872_$",
                            "typeString": "function (bytes32,address,bytes memory,bool) external returns (contract ERCProxy)"
                          }
                        },
                        "id": 325,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3266:160:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ERCProxy_$11872",
                          "typeString": "contract ERCProxy"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_ERCProxy_$11872",
                          "typeString": "contract ERCProxy"
                        }
                      ],
                      "id": 309,
                      "name": "Vault",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4917,
                      "src": "3247:5:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_contract$_Vault_$4917_$",
                        "typeString": "type(contract Vault)"
                      }
                    },
                    "id": 326,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3247:189:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_Vault_$4917",
                      "typeString": "contract Vault"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3233:203:0"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 329,
                        "name": "vault",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 308,
                        "src": "3464:5:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vault_$4917",
                          "typeString": "contract Vault"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 330,
                          "name": "appIds",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 249,
                          "src": "3471:6:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_bytes32_$5_memory_ptr",
                            "typeString": "bytes32[5] memory"
                          }
                        },
                        "id": 332,
                        "indexExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 331,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "3478:1:0",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "3471:9:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Vault_$4917",
                          "typeString": "contract Vault"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 328,
                      "name": "InstalledApp",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 84,
                      "src": "3451:12:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$returns$__$",
                        "typeString": "function (address,bytes32)"
                      }
                    },
                    "id": 333,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3451:30:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 334,
                  "nodeType": "EmitStatement",
                  "src": "3446:35:0"
                },
                {
                  "assignments": [
                    336
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 336,
                      "name": "finance",
                      "nodeType": "VariableDeclaration",
                      "scope": 767,
                      "src": "3492:15:0",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_Finance_$2645",
                        "typeString": "contract Finance"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 335,
                        "name": "Finance",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 2645,
                        "src": "3492:7:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Finance_$2645",
                          "typeString": "contract Finance"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 350,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 340,
                              "name": "appIds",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 249,
                              "src": "3567:6:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes32_$5_memory_ptr",
                                "typeString": "bytes32[5] memory"
                              }
                            },
                            "id": 342,
                            "indexExpression": {
                              "argumentTypes": null,
                              "hexValue": "31",
                              "id": 341,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "3574:1:0",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_1_by_1",
                                "typeString": "int_const 1"
                              },
                              "value": "1"
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "3567:9:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 344,
                                  "name": "appIds",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 249,
                                  "src": "3615:6:0",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_bytes32_$5_memory_ptr",
                                    "typeString": "bytes32[5] memory"
                                  }
                                },
                                "id": 346,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "hexValue": "31",
                                  "id": 345,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "3622:1:0",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_1_by_1",
                                    "typeString": "int_const 1"
                                  },
                                  "value": "1"
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "3615:9:0",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 343,
                              "name": "latestVersionAppBase",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 158,
                              "src": "3594:20:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
                                "typeString": "function (bytes32) view returns (address)"
                              }
                            },
                            "id": 347,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3594:31:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 338,
                            "name": "dao",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 274,
                            "src": "3531:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Kernel_$10747",
                              "typeString": "contract Kernel"
                            }
                          },
                          "id": 339,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "newAppInstance",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 10373,
                          "src": "3531:18:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$_t_contract$_ERCProxy_$11872_$",
                            "typeString": "function (bytes32,address) external returns (contract ERCProxy)"
                          }
                        },
                        "id": 348,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3531:108:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ERCProxy_$11872",
                          "typeString": "contract ERCProxy"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_ERCProxy_$11872",
                          "typeString": "contract ERCProxy"
                        }
                      ],
                      "id": 337,
                      "name": "Finance",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2645,
                      "src": "3510:7:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_contract$_Finance_$2645_$",
                        "typeString": "type(contract Finance)"
                      }
                    },
                    "id": 349,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3510:139:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_Finance_$2645",
                      "typeString": "contract Finance"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3492:157:0"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 352,
                        "name": "finance",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 336,
                        "src": "3677:7:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Finance_$2645",
                          "typeString": "contract Finance"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 353,
                          "name": "appIds",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 249,
                          "src": "3686:6:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_bytes32_$5_memory_ptr",
                            "typeString": "bytes32[5] memory"
                          }
                        },
                        "id": 355,
                        "indexExpression": {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 354,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "3693:1:0",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "3686:9:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Finance_$2645",
                          "typeString": "contract Finance"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 351,
                      "name": "InstalledApp",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 84,
                      "src": "3664:12:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$returns$__$",
                        "typeString": "function (address,bytes32)"
                      }
                    },
                    "id": 356,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3664:32:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 357,
                  "nodeType": "EmitStatement",
                  "src": "3659:37:0"
                },
                {
                  "assignments": [
                    359
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 359,
                      "name": "tokenManager",
                      "nodeType": "VariableDeclaration",
                      "scope": 767,
                      "src": "3707:25:0",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_TokenManager_$4663",
                        "typeString": "contract TokenManager"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 358,
                        "name": "TokenManager",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 4663,
                        "src": "3707:12:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 373,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 363,
                              "name": "appIds",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 249,
                              "src": "3797:6:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes32_$5_memory_ptr",
                                "typeString": "bytes32[5] memory"
                              }
                            },
                            "id": 365,
                            "indexExpression": {
                              "argumentTypes": null,
                              "hexValue": "32",
                              "id": 364,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "3804:1:0",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_2_by_1",
                                "typeString": "int_const 2"
                              },
                              "value": "2"
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "3797:9:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 367,
                                  "name": "appIds",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 249,
                                  "src": "3845:6:0",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_bytes32_$5_memory_ptr",
                                    "typeString": "bytes32[5] memory"
                                  }
                                },
                                "id": 369,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "hexValue": "32",
                                  "id": 368,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "3852:1:0",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_2_by_1",
                                    "typeString": "int_const 2"
                                  },
                                  "value": "2"
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "3845:9:0",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 366,
                              "name": "latestVersionAppBase",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 158,
                              "src": "3824:20:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
                                "typeString": "function (bytes32) view returns (address)"
                              }
                            },
                            "id": 370,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3824:31:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 361,
                            "name": "dao",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 274,
                            "src": "3761:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Kernel_$10747",
                              "typeString": "contract Kernel"
                            }
                          },
                          "id": 362,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "newAppInstance",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 10373,
                          "src": "3761:18:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$_t_contract$_ERCProxy_$11872_$",
                            "typeString": "function (bytes32,address) external returns (contract ERCProxy)"
                          }
                        },
                        "id": 371,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3761:108:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ERCProxy_$11872",
                          "typeString": "contract ERCProxy"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_ERCProxy_$11872",
                          "typeString": "contract ERCProxy"
                        }
                      ],
                      "id": 360,
                      "name": "TokenManager",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4663,
                      "src": "3735:12:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_contract$_TokenManager_$4663_$",
                        "typeString": "type(contract TokenManager)"
                      }
                    },
                    "id": 372,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3735:144:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_TokenManager_$4663",
                      "typeString": "contract TokenManager"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3707:172:0"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 375,
                        "name": "tokenManager",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 359,
                        "src": "3907:12:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 376,
                          "name": "appIds",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 249,
                          "src": "3921:6:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_bytes32_$5_memory_ptr",
                            "typeString": "bytes32[5] memory"
                          }
                        },
                        "id": 378,
                        "indexExpression": {
                          "argumentTypes": null,
                          "hexValue": "32",
                          "id": 377,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "3928:1:0",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_2_by_1",
                            "typeString": "int_const 2"
                          },
                          "value": "2"
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "3921:9:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 374,
                      "name": "InstalledApp",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 84,
                      "src": "3894:12:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$returns$__$",
                        "typeString": "function (address,bytes32)"
                      }
                    },
                    "id": 379,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3894:37:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 380,
                  "nodeType": "EmitStatement",
                  "src": "3889:42:0"
                },
                {
                  "assignments": [
                    382
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 382,
                      "name": "metavoting",
                      "nodeType": "VariableDeclaration",
                      "scope": 767,
                      "src": "3942:17:0",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_Voting_$5862",
                        "typeString": "contract Voting"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 381,
                        "name": "Voting",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 5862,
                        "src": "3942:6:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 396,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 386,
                              "name": "appIds",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 249,
                              "src": "4018:6:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes32_$5_memory_ptr",
                                "typeString": "bytes32[5] memory"
                              }
                            },
                            "id": 388,
                            "indexExpression": {
                              "argumentTypes": null,
                              "hexValue": "33",
                              "id": 387,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "4025:1:0",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_3_by_1",
                                "typeString": "int_const 3"
                              },
                              "value": "3"
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "4018:9:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 390,
                                  "name": "appIds",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 249,
                                  "src": "4066:6:0",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_bytes32_$5_memory_ptr",
                                    "typeString": "bytes32[5] memory"
                                  }
                                },
                                "id": 392,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "hexValue": "33",
                                  "id": 391,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "4073:1:0",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_3_by_1",
                                    "typeString": "int_const 3"
                                  },
                                  "value": "3"
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "4066:9:0",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 389,
                              "name": "latestVersionAppBase",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 158,
                              "src": "4045:20:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
                                "typeString": "function (bytes32) view returns (address)"
                              }
                            },
                            "id": 393,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4045:31:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 384,
                            "name": "dao",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 274,
                            "src": "3982:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Kernel_$10747",
                              "typeString": "contract Kernel"
                            }
                          },
                          "id": 385,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "newAppInstance",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 10373,
                          "src": "3982:18:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$_t_contract$_ERCProxy_$11872_$",
                            "typeString": "function (bytes32,address) external returns (contract ERCProxy)"
                          }
                        },
                        "id": 394,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3982:108:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ERCProxy_$11872",
                          "typeString": "contract ERCProxy"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_ERCProxy_$11872",
                          "typeString": "contract ERCProxy"
                        }
                      ],
                      "id": 383,
                      "name": "Voting",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5862,
                      "src": "3962:6:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_contract$_Voting_$5862_$",
                        "typeString": "type(contract Voting)"
                      }
                    },
                    "id": 395,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3962:138:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_Voting_$5862",
                      "typeString": "contract Voting"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3942:158:0"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 398,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "4128:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 399,
                          "name": "appIds",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 249,
                          "src": "4140:6:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_bytes32_$5_memory_ptr",
                            "typeString": "bytes32[5] memory"
                          }
                        },
                        "id": 401,
                        "indexExpression": {
                          "argumentTypes": null,
                          "hexValue": "33",
                          "id": 400,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "4147:1:0",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_3_by_1",
                            "typeString": "int_const 3"
                          },
                          "value": "3"
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "4140:9:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 397,
                      "name": "InstalledApp",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 84,
                      "src": "4115:12:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$returns$__$",
                        "typeString": "function (address,bytes32)"
                      }
                    },
                    "id": 402,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4115:35:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 403,
                  "nodeType": "EmitStatement",
                  "src": "4110:40:0"
                },
                {
                  "assignments": [
                    405
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 405,
                      "name": "colony",
                      "nodeType": "VariableDeclaration",
                      "scope": 767,
                      "src": "4161:18:0",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_PandoColony_$12133",
                        "typeString": "contract PandoColony"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 404,
                        "name": "PandoColony",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 12133,
                        "src": "4161:11:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_PandoColony_$12133",
                          "typeString": "contract PandoColony"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 419,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 409,
                              "name": "appIds",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 249,
                              "src": "4243:6:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes32_$5_memory_ptr",
                                "typeString": "bytes32[5] memory"
                              }
                            },
                            "id": 411,
                            "indexExpression": {
                              "argumentTypes": null,
                              "hexValue": "34",
                              "id": 410,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "4250:1:0",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_4_by_1",
                                "typeString": "int_const 4"
                              },
                              "value": "4"
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "4243:9:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 413,
                                  "name": "appIds",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 249,
                                  "src": "4291:6:0",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_bytes32_$5_memory_ptr",
                                    "typeString": "bytes32[5] memory"
                                  }
                                },
                                "id": 415,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "hexValue": "34",
                                  "id": 414,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "4298:1:0",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_4_by_1",
                                    "typeString": "int_const 4"
                                  },
                                  "value": "4"
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "4291:9:0",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 412,
                              "name": "latestVersionAppBase",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 158,
                              "src": "4270:20:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
                                "typeString": "function (bytes32) view returns (address)"
                              }
                            },
                            "id": 416,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4270:31:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 407,
                            "name": "dao",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 274,
                            "src": "4207:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Kernel_$10747",
                              "typeString": "contract Kernel"
                            }
                          },
                          "id": 408,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "newAppInstance",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 10373,
                          "src": "4207:18:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$_t_contract$_ERCProxy_$11872_$",
                            "typeString": "function (bytes32,address) external returns (contract ERCProxy)"
                          }
                        },
                        "id": 417,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4207:108:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ERCProxy_$11872",
                          "typeString": "contract ERCProxy"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_ERCProxy_$11872",
                          "typeString": "contract ERCProxy"
                        }
                      ],
                      "id": 406,
                      "name": "PandoColony",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 12133,
                      "src": "4182:11:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_contract$_PandoColony_$12133_$",
                        "typeString": "type(contract PandoColony)"
                      }
                    },
                    "id": 418,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4182:143:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_PandoColony_$12133",
                      "typeString": "contract PandoColony"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4161:164:0"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 421,
                        "name": "colony",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 405,
                        "src": "4353:6:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_PandoColony_$12133",
                          "typeString": "contract PandoColony"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 422,
                          "name": "appIds",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 249,
                          "src": "4361:6:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_bytes32_$5_memory_ptr",
                            "typeString": "bytes32[5] memory"
                          }
                        },
                        "id": 424,
                        "indexExpression": {
                          "argumentTypes": null,
                          "hexValue": "34",
                          "id": 423,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "4368:1:0",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_4_by_1",
                            "typeString": "int_const 4"
                          },
                          "value": "4"
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "4361:9:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_PandoColony_$12133",
                          "typeString": "contract PandoColony"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 420,
                      "name": "InstalledApp",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 84,
                      "src": "4340:12:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$returns$__$",
                        "typeString": "function (address,bytes32)"
                      }
                    },
                    "id": 425,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4340:31:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 426,
                  "nodeType": "EmitStatement",
                  "src": "4335:36:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 430,
                        "name": "colony",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 405,
                        "src": "4425:6:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_PandoColony_$12133",
                          "typeString": "contract PandoColony"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 431,
                        "name": "dao",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 274,
                        "src": "4433:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Kernel_$10747",
                          "typeString": "contract Kernel"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 432,
                            "name": "dao",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 274,
                            "src": "4438:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Kernel_$10747",
                              "typeString": "contract Kernel"
                            }
                          },
                          "id": 433,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "APP_MANAGER_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 10281,
                          "src": "4438:20:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 434,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4438:22:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_PandoColony_$12133",
                          "typeString": "contract PandoColony"
                        },
                        {
                          "typeIdentifier": "t_contract$_Kernel_$10747",
                          "typeString": "contract Kernel"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 427,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "4405:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 429,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "grantPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6103,
                      "src": "4405:19:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$",
                        "typeString": "function (address,address,bytes32) external"
                      }
                    },
                    "id": 435,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4405:56:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 436,
                  "nodeType": "ExpressionStatement",
                  "src": "4405:56:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 440,
                        "name": "colony",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 405,
                        "src": "4491:6:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_PandoColony_$12133",
                          "typeString": "contract PandoColony"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 441,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "4499:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 442,
                            "name": "acl",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 281,
                            "src": "4504:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ACL_$7166",
                              "typeString": "contract ACL"
                            }
                          },
                          "id": 443,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "CREATE_PERMISSIONS_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 5880,
                          "src": "4504:27:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 444,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4504:29:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_PandoColony_$12133",
                          "typeString": "contract PandoColony"
                        },
                        {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 437,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "4471:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 439,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "grantPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6103,
                      "src": "4471:19:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$",
                        "typeString": "function (address,address,bytes32) external"
                      }
                    },
                    "id": 445,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4471:63:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 446,
                  "nodeType": "ExpressionStatement",
                  "src": "4471:63:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 450,
                        "name": "finance",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 336,
                        "src": "4565:7:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Finance_$2645",
                          "typeString": "contract Finance"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 451,
                        "name": "vault",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 308,
                        "src": "4574:5:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vault_$4917",
                          "typeString": "contract Vault"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 452,
                            "name": "vault",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 308,
                            "src": "4581:5:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Vault_$4917",
                              "typeString": "contract Vault"
                            }
                          },
                          "id": 453,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "TRANSFER_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4680,
                          "src": "4581:19:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 454,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4581:21:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 455,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "4604:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Finance_$2645",
                          "typeString": "contract Finance"
                        },
                        {
                          "typeIdentifier": "t_contract$_Vault_$4917",
                          "typeString": "contract Vault"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 447,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "4544:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 449,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "createPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6082,
                      "src": "4544:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (address,address,bytes32,address) external"
                      }
                    },
                    "id": 456,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4544:71:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 457,
                  "nodeType": "ExpressionStatement",
                  "src": "4544:71:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 461,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "4646:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 462,
                        "name": "finance",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 336,
                        "src": "4658:7:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Finance_$2645",
                          "typeString": "contract Finance"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 463,
                            "name": "finance",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 336,
                            "src": "4667:7:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Finance_$2645",
                              "typeString": "contract Finance"
                            }
                          },
                          "id": 464,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "CREATE_PAYMENTS_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 860,
                          "src": "4667:28:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 465,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4667:30:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 466,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "4699:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_contract$_Finance_$2645",
                          "typeString": "contract Finance"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 458,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "4625:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 460,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "createPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6082,
                      "src": "4625:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (address,address,bytes32,address) external"
                      }
                    },
                    "id": 467,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4625:85:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 468,
                  "nodeType": "ExpressionStatement",
                  "src": "4625:85:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 472,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "4741:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 473,
                        "name": "finance",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 336,
                        "src": "4753:7:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Finance_$2645",
                          "typeString": "contract Finance"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 474,
                            "name": "finance",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 336,
                            "src": "4762:7:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Finance_$2645",
                              "typeString": "contract Finance"
                            }
                          },
                          "id": 475,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "EXECUTE_PAYMENTS_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 875,
                          "src": "4762:29:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 476,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4762:31:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 477,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "4795:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_contract$_Finance_$2645",
                          "typeString": "contract Finance"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 469,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "4720:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 471,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "createPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6082,
                      "src": "4720:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (address,address,bytes32,address) external"
                      }
                    },
                    "id": 478,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4720:86:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 479,
                  "nodeType": "ExpressionStatement",
                  "src": "4720:86:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 483,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "4837:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 484,
                        "name": "finance",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 336,
                        "src": "4849:7:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Finance_$2645",
                          "typeString": "contract Finance"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 485,
                            "name": "finance",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 336,
                            "src": "4858:7:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Finance_$2645",
                              "typeString": "contract Finance"
                            }
                          },
                          "id": 486,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "MANAGE_PAYMENTS_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 880,
                          "src": "4858:28:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 487,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4858:30:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 488,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "4890:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_contract$_Finance_$2645",
                          "typeString": "contract Finance"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 480,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "4816:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 482,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "createPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6082,
                      "src": "4816:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (address,address,bytes32,address) external"
                      }
                    },
                    "id": 489,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4816:85:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 490,
                  "nodeType": "ExpressionStatement",
                  "src": "4816:85:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 494,
                        "name": "this",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12811,
                        "src": "4932:4:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_PandoKit_$768",
                          "typeString": "contract PandoKit"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 495,
                        "name": "tokenManager",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 359,
                        "src": "4938:12:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 496,
                            "name": "tokenManager",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 359,
                            "src": "4952:12:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_TokenManager_$4663",
                              "typeString": "contract TokenManager"
                            }
                          },
                          "id": 497,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "MINT_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 3810,
                          "src": "4952:22:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 498,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4952:24:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 499,
                        "name": "this",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12811,
                        "src": "4978:4:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_PandoKit_$768",
                          "typeString": "contract PandoKit"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_PandoKit_$768",
                          "typeString": "contract PandoKit"
                        },
                        {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_PandoKit_$768",
                          "typeString": "contract PandoKit"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 491,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "4911:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 493,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "createPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6082,
                      "src": "4911:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (address,address,bytes32,address) external"
                      }
                    },
                    "id": 500,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4911:72:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 501,
                  "nodeType": "ExpressionStatement",
                  "src": "4911:72:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 505,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5014:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 506,
                        "name": "tokenManager",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 359,
                        "src": "5026:12:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 507,
                            "name": "tokenManager",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 359,
                            "src": "5040:12:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_TokenManager_$4663",
                              "typeString": "contract TokenManager"
                            }
                          },
                          "id": 508,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "ISSUE_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 3815,
                          "src": "5040:23:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 509,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5040:25:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 510,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5067:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 502,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "4993:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 504,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "createPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6082,
                      "src": "4993:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (address,address,bytes32,address) external"
                      }
                    },
                    "id": 511,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4993:85:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 512,
                  "nodeType": "ExpressionStatement",
                  "src": "4993:85:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 516,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5109:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 517,
                        "name": "tokenManager",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 359,
                        "src": "5121:12:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 518,
                            "name": "tokenManager",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 359,
                            "src": "5135:12:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_TokenManager_$4663",
                              "typeString": "contract TokenManager"
                            }
                          },
                          "id": 519,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "ASSIGN_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 3820,
                          "src": "5135:24:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 520,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5135:26:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 521,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5163:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 513,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "5088:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 515,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "createPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6082,
                      "src": "5088:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (address,address,bytes32,address) external"
                      }
                    },
                    "id": 522,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5088:86:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 523,
                  "nodeType": "ExpressionStatement",
                  "src": "5088:86:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 527,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5205:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 528,
                        "name": "tokenManager",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 359,
                        "src": "5217:12:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 529,
                            "name": "tokenManager",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 359,
                            "src": "5231:12:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_TokenManager_$4663",
                              "typeString": "contract TokenManager"
                            }
                          },
                          "id": 530,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "REVOKE_VESTINGS_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 3825,
                          "src": "5231:33:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 531,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5231:35:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 532,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5268:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 524,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "5184:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 526,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "createPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6082,
                      "src": "5184:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (address,address,bytes32,address) external"
                      }
                    },
                    "id": 533,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5184:95:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 534,
                  "nodeType": "ExpressionStatement",
                  "src": "5184:95:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 538,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5310:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 539,
                        "name": "tokenManager",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 359,
                        "src": "5322:12:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 540,
                            "name": "tokenManager",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 359,
                            "src": "5336:12:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_TokenManager_$4663",
                              "typeString": "contract TokenManager"
                            }
                          },
                          "id": 541,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "BURN_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 3830,
                          "src": "5336:22:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 542,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5336:24:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 543,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5362:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 535,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "5289:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 537,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "createPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6082,
                      "src": "5289:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (address,address,bytes32,address) external"
                      }
                    },
                    "id": 544,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5289:84:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 545,
                  "nodeType": "ExpressionStatement",
                  "src": "5289:84:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 549,
                        "name": "ANY_ENTITY",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 176,
                        "src": "5404:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 550,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5416:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 551,
                            "name": "metavoting",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 382,
                            "src": "5428:10:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Voting_$5862",
                              "typeString": "contract Voting"
                            }
                          },
                          "id": 552,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "CREATE_VOTES_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4939,
                          "src": "5428:28:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 553,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5428:30:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 554,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5460:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 546,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "5383:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 548,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "createPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6082,
                      "src": "5383:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (address,address,bytes32,address) external"
                      }
                    },
                    "id": 555,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5383:88:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 556,
                  "nodeType": "ExpressionStatement",
                  "src": "5383:88:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 560,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5502:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 561,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5514:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 562,
                            "name": "metavoting",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 382,
                            "src": "5526:10:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Voting_$5862",
                              "typeString": "contract Voting"
                            }
                          },
                          "id": 563,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "MODIFY_SUPPORT_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4944,
                          "src": "5526:30:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 564,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5526:32:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 565,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5560:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 557,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "5481:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 559,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "createPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6082,
                      "src": "5481:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (address,address,bytes32,address) external"
                      }
                    },
                    "id": 566,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5481:90:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 567,
                  "nodeType": "ExpressionStatement",
                  "src": "5481:90:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 571,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5602:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 572,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5614:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 573,
                            "name": "metavoting",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 382,
                            "src": "5626:10:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Voting_$5862",
                              "typeString": "contract Voting"
                            }
                          },
                          "id": 574,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "MODIFY_QUORUM_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4949,
                          "src": "5626:29:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 575,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5626:31:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 576,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5659:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 568,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "5581:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 570,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "createPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6082,
                      "src": "5581:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (address,address,bytes32,address) external"
                      }
                    },
                    "id": 577,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5581:89:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 578,
                  "nodeType": "ExpressionStatement",
                  "src": "5581:89:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 582,
                        "name": "ANY_ENTITY",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 176,
                        "src": "5701:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 583,
                        "name": "colony",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 405,
                        "src": "5713:6:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_PandoColony_$12133",
                          "typeString": "contract PandoColony"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 584,
                            "name": "colony",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 405,
                            "src": "5721:6:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_PandoColony_$12133",
                              "typeString": "contract PandoColony"
                            }
                          },
                          "id": 585,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "CREATE_REPOSITORY_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 11957,
                          "src": "5721:29:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 586,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5721:31:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 587,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5754:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_contract$_PandoColony_$12133",
                          "typeString": "contract PandoColony"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 579,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "5680:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 581,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "createPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6082,
                      "src": "5680:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (address,address,bytes32,address) external"
                      }
                    },
                    "id": 588,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5680:85:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 589,
                  "nodeType": "ExpressionStatement",
                  "src": "5680:85:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 593,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5796:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 594,
                        "name": "reg",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 289,
                        "src": "5808:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_EVMScriptRegistry_$9287",
                          "typeString": "contract EVMScriptRegistry"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 595,
                            "name": "reg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 289,
                            "src": "5813:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_EVMScriptRegistry_$9287",
                              "typeString": "contract EVMScriptRegistry"
                            }
                          },
                          "id": 596,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "REGISTRY_ADD_EXECUTOR_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 9084,
                          "src": "5813:30:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 597,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5813:32:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 598,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5847:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_contract$_EVMScriptRegistry_$9287",
                          "typeString": "contract EVMScriptRegistry"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 590,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "5775:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 592,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "createPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6082,
                      "src": "5775:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (address,address,bytes32,address) external"
                      }
                    },
                    "id": 599,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5775:83:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 600,
                  "nodeType": "ExpressionStatement",
                  "src": "5775:83:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 604,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5889:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 605,
                        "name": "reg",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 289,
                        "src": "5901:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_EVMScriptRegistry_$9287",
                          "typeString": "contract EVMScriptRegistry"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 606,
                            "name": "reg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 289,
                            "src": "5906:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_EVMScriptRegistry_$9287",
                              "typeString": "contract EVMScriptRegistry"
                            }
                          },
                          "id": 607,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "REGISTRY_MANAGER_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 9087,
                          "src": "5906:25:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 608,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5906:27:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 609,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5935:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_contract$_EVMScriptRegistry_$9287",
                          "typeString": "contract EVMScriptRegistry"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 601,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "5868:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 603,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "createPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6082,
                      "src": "5868:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (address,address,bytes32,address) external"
                      }
                    },
                    "id": 610,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5868:78:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 611,
                  "nodeType": "ExpressionStatement",
                  "src": "5868:78:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 615,
                        "name": "tokenManager",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 359,
                        "src": "6007:12:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 612,
                        "name": "token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 242,
                        "src": "5984:5:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_MiniMeToken_$3743",
                          "typeString": "contract MiniMeToken"
                        }
                      },
                      "id": 614,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "changeController",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2714,
                      "src": "5984:22:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$",
                        "typeString": "function (address) external"
                      }
                    },
                    "id": 616,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5984:36:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 617,
                  "nodeType": "ExpressionStatement",
                  "src": "5984:36:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "argumentTypes": null,
                        "id": 618,
                        "name": "vault",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 308,
                        "src": "6030:5:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vault_$4917",
                          "typeString": "contract Vault"
                        }
                      },
                      "id": 620,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "initialize",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4754,
                      "src": "6030:16:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
                        "typeString": "function () external"
                      }
                    },
                    "id": 621,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6030:18:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 622,
                  "nodeType": "ExpressionStatement",
                  "src": "6030:18:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 626,
                        "name": "vault",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 308,
                        "src": "6077:5:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vault_$4917",
                          "typeString": "contract Vault"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "3330",
                        "id": 627,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6084:7:0",
                        "subdenomination": "days",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_2592000_by_1",
                          "typeString": "int_const 2592000"
                        },
                        "value": "30"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Vault_$4917",
                          "typeString": "contract Vault"
                        },
                        {
                          "typeIdentifier": "t_rational_2592000_by_1",
                          "typeString": "int_const 2592000"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 623,
                        "name": "finance",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 336,
                        "src": "6058:7:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Finance_$2645",
                          "typeString": "contract Finance"
                        }
                      },
                      "id": 625,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "initialize",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 1232,
                      "src": "6058:18:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_contract$_Vault_$4917_$_t_uint64_$returns$__$",
                        "typeString": "function (contract Vault,uint64) external"
                      }
                    },
                    "id": 628,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6058:34:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 629,
                  "nodeType": "ExpressionStatement",
                  "src": "6058:34:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 633,
                        "name": "token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 242,
                        "src": "6126:5:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_MiniMeToken_$3743",
                          "typeString": "contract MiniMeToken"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "74727565",
                        "id": 634,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "bool",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6133:4:0",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "value": "true"
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 635,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6139:1:0",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_MiniMeToken_$3743",
                          "typeString": "contract MiniMeToken"
                        },
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 630,
                        "name": "tokenManager",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 359,
                        "src": "6102:12:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        }
                      },
                      "id": 632,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "initialize",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 3986,
                      "src": "6102:23:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_contract$_MiniMeToken_$3743_$_t_bool_$_t_uint256_$returns$__$",
                        "typeString": "function (contract MiniMeToken,bool,uint256) external"
                      }
                    },
                    "id": 636,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6102:39:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 637,
                  "nodeType": "ExpressionStatement",
                  "src": "6102:39:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 641,
                        "name": "token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 242,
                        "src": "6173:5:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_MiniMeToken_$3743",
                          "typeString": "contract MiniMeToken"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 645,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "hexValue": "3530",
                              "id": 643,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6187:2:0",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_50_by_1",
                                "typeString": "int_const 50"
                              },
                              "value": "50"
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "*",
                            "rightExpression": {
                              "argumentTypes": null,
                              "id": 644,
                              "name": "PCT",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 170,
                              "src": "6192:3:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "6187:8:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "id": 642,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "6180:6:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_uint64_$",
                            "typeString": "type(uint64)"
                          },
                          "typeName": "uint64"
                        },
                        "id": 646,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6180:16:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 650,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "hexValue": "3230",
                              "id": 648,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6205:2:0",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_20_by_1",
                                "typeString": "int_const 20"
                              },
                              "value": "20"
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "*",
                            "rightExpression": {
                              "argumentTypes": null,
                              "id": 649,
                              "name": "PCT",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 170,
                              "src": "6210:3:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "6205:8:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "id": 647,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "6198:6:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_uint64_$",
                            "typeString": "type(uint64)"
                          },
                          "typeName": "uint64"
                        },
                        "id": 651,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6198:16:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 652,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6216:6:0",
                        "subdenomination": "days",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_86400_by_1",
                          "typeString": "int_const 86400"
                        },
                        "value": "1"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_MiniMeToken_$3743",
                          "typeString": "contract MiniMeToken"
                        },
                        {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        },
                        {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        },
                        {
                          "typeIdentifier": "t_rational_86400_by_1",
                          "typeString": "int_const 86400"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 638,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "6151:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      "id": 640,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "initialize",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 5115,
                      "src": "6151:21:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_contract$_MiniMeToken_$3743_$_t_uint64_$_t_uint64_$_t_uint64_$returns$__$",
                        "typeString": "function (contract MiniMeToken,uint64,uint64,uint64) external"
                      }
                    },
                    "id": 653,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6151:72:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 654,
                  "nodeType": "ExpressionStatement",
                  "src": "6151:72:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 658,
                        "name": "ens",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 72,
                        "src": "6251:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ENS_$11104",
                          "typeString": "contract ENS"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 659,
                        "name": "devchain",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 163,
                        "src": "6256:8:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_ENS_$11104",
                          "typeString": "contract ENS"
                        },
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 655,
                        "name": "colony",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 405,
                        "src": "6233:6:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_PandoColony_$12133",
                          "typeString": "contract PandoColony"
                        }
                      },
                      "id": 657,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "initialize",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 11993,
                      "src": "6233:17:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_contract$_ENS_$11104_$_t_bool_$returns$__$",
                        "typeString": "function (contract ENS,bool) external"
                      }
                    },
                    "id": 660,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6233:32:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 661,
                  "nodeType": "ExpressionStatement",
                  "src": "6233:32:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 665,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 12670,
                          "src": "6316:3:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 666,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "6316:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "31",
                            "id": 668,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "6336:1:0",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_1_by_1",
                              "typeString": "int_const 1"
                            },
                            "value": "1"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_rational_1_by_1",
                              "typeString": "int_const 1"
                            }
                          ],
                          "id": 667,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "6328:7:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_uint256_$",
                            "typeString": "type(uint256)"
                          },
                          "typeName": "uint256"
                        },
                        "id": 669,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6328:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 662,
                        "name": "tokenManager",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 359,
                        "src": "6298:12:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        }
                      },
                      "id": 664,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "mint",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4014,
                      "src": "6298:17:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256) external"
                      }
                    },
                    "id": 670,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6298:41:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 671,
                  "nodeType": "ExpressionStatement",
                  "src": "6298:41:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 675,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "6401:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 676,
                        "name": "dao",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 274,
                        "src": "6413:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Kernel_$10747",
                          "typeString": "contract Kernel"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 677,
                            "name": "dao",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 274,
                            "src": "6418:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Kernel_$10747",
                              "typeString": "contract Kernel"
                            }
                          },
                          "id": 678,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "APP_MANAGER_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 10281,
                          "src": "6418:20:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 679,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6418:22:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_contract$_Kernel_$10747",
                          "typeString": "contract Kernel"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 672,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "6381:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 674,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "grantPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6103,
                      "src": "6381:19:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$",
                        "typeString": "function (address,address,bytes32) external"
                      }
                    },
                    "id": 680,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6381:60:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 681,
                  "nodeType": "ExpressionStatement",
                  "src": "6381:60:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 685,
                        "name": "this",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12811,
                        "src": "6472:4:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_PandoKit_$768",
                          "typeString": "contract PandoKit"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 686,
                        "name": "dao",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 274,
                        "src": "6478:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Kernel_$10747",
                          "typeString": "contract Kernel"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 687,
                            "name": "dao",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 274,
                            "src": "6483:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Kernel_$10747",
                              "typeString": "contract Kernel"
                            }
                          },
                          "id": 688,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "APP_MANAGER_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 10281,
                          "src": "6483:20:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 689,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6483:22:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_PandoKit_$768",
                          "typeString": "contract PandoKit"
                        },
                        {
                          "typeIdentifier": "t_contract$_Kernel_$10747",
                          "typeString": "contract Kernel"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 682,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "6451:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 684,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "revokePermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6160,
                      "src": "6451:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$",
                        "typeString": "function (address,address,bytes32) external"
                      }
                    },
                    "id": 690,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6451:55:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 691,
                  "nodeType": "ExpressionStatement",
                  "src": "6451:55:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 695,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "6541:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 696,
                        "name": "dao",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 274,
                        "src": "6553:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Kernel_$10747",
                          "typeString": "contract Kernel"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 697,
                            "name": "dao",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 274,
                            "src": "6558:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Kernel_$10747",
                              "typeString": "contract Kernel"
                            }
                          },
                          "id": 698,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "APP_MANAGER_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 10281,
                          "src": "6558:20:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 699,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6558:22:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_contract$_Kernel_$10747",
                          "typeString": "contract Kernel"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 692,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "6516:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 694,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "setPermissionManager",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6180,
                      "src": "6516:24:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$",
                        "typeString": "function (address,address,bytes32) external"
                      }
                    },
                    "id": 700,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6516:65:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 701,
                  "nodeType": "ExpressionStatement",
                  "src": "6516:65:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 705,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "6611:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 706,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "6623:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 707,
                            "name": "acl",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 281,
                            "src": "6628:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ACL_$7166",
                              "typeString": "contract ACL"
                            }
                          },
                          "id": 708,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "CREATE_PERMISSIONS_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 5880,
                          "src": "6628:27:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 709,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6628:29:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 702,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "6591:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 704,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "grantPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6103,
                      "src": "6591:19:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$",
                        "typeString": "function (address,address,bytes32) external"
                      }
                    },
                    "id": 710,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6591:67:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 711,
                  "nodeType": "ExpressionStatement",
                  "src": "6591:67:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 715,
                        "name": "this",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12811,
                        "src": "6689:4:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_PandoKit_$768",
                          "typeString": "contract PandoKit"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 716,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "6695:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 717,
                            "name": "acl",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 281,
                            "src": "6700:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ACL_$7166",
                              "typeString": "contract ACL"
                            }
                          },
                          "id": 718,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "CREATE_PERMISSIONS_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 5880,
                          "src": "6700:27:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 719,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6700:29:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_PandoKit_$768",
                          "typeString": "contract PandoKit"
                        },
                        {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 712,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "6668:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 714,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "revokePermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6160,
                      "src": "6668:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$",
                        "typeString": "function (address,address,bytes32) external"
                      }
                    },
                    "id": 720,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6668:62:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 721,
                  "nodeType": "ExpressionStatement",
                  "src": "6668:62:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 725,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "6765:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 726,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "6777:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 727,
                            "name": "acl",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 281,
                            "src": "6782:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ACL_$7166",
                              "typeString": "contract ACL"
                            }
                          },
                          "id": 728,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "CREATE_PERMISSIONS_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 5880,
                          "src": "6782:27:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 729,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6782:29:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 722,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "6740:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 724,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "setPermissionManager",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6180,
                      "src": "6740:24:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$",
                        "typeString": "function (address,address,bytes32) external"
                      }
                    },
                    "id": 730,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6740:72:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 731,
                  "nodeType": "ExpressionStatement",
                  "src": "6740:72:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 735,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "6842:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 736,
                        "name": "tokenManager",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 359,
                        "src": "6854:12:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 737,
                            "name": "tokenManager",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 359,
                            "src": "6868:12:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_TokenManager_$4663",
                              "typeString": "contract TokenManager"
                            }
                          },
                          "id": 738,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "MINT_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 3810,
                          "src": "6868:22:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 739,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6868:24:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 732,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "6822:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 734,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "grantPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6103,
                      "src": "6822:19:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$",
                        "typeString": "function (address,address,bytes32) external"
                      }
                    },
                    "id": 740,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6822:71:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 741,
                  "nodeType": "ExpressionStatement",
                  "src": "6822:71:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 745,
                        "name": "this",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12811,
                        "src": "6924:4:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_PandoKit_$768",
                          "typeString": "contract PandoKit"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 746,
                        "name": "tokenManager",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 359,
                        "src": "6930:12:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 747,
                            "name": "tokenManager",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 359,
                            "src": "6944:12:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_TokenManager_$4663",
                              "typeString": "contract TokenManager"
                            }
                          },
                          "id": 748,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "MINT_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 3810,
                          "src": "6944:22:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 749,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6944:24:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_PandoKit_$768",
                          "typeString": "contract PandoKit"
                        },
                        {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 742,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "6903:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 744,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "revokePermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6160,
                      "src": "6903:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$",
                        "typeString": "function (address,address,bytes32) external"
                      }
                    },
                    "id": 750,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6903:66:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 751,
                  "nodeType": "ExpressionStatement",
                  "src": "6903:66:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 755,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "7004:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 756,
                        "name": "tokenManager",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 359,
                        "src": "7016:12:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 757,
                            "name": "tokenManager",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 359,
                            "src": "7030:12:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_TokenManager_$4663",
                              "typeString": "contract TokenManager"
                            }
                          },
                          "id": 758,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "MINT_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 3810,
                          "src": "7030:22:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 759,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "7030:24:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 752,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "6979:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 754,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "setPermissionManager",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6180,
                      "src": "6979:24:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$",
                        "typeString": "function (address,address,bytes32) external"
                      }
                    },
                    "id": 760,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6979:76:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 761,
                  "nodeType": "ExpressionStatement",
                  "src": "6979:76:0"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 763,
                        "name": "dao",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 274,
                        "src": "7086:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Kernel_$10747",
                          "typeString": "contract Kernel"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Kernel_$10747",
                          "typeString": "contract Kernel"
                        }
                      ],
                      "id": 762,
                      "name": "DeployInstance",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 78,
                      "src": "7071:14:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$",
                        "typeString": "function (address)"
                      }
                    },
                    "id": 764,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7071:19:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 765,
                  "nodeType": "EmitStatement",
                  "src": "7066:24:0"
                }
              ]
            },
            "documentation": null,
            "id": 767,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "newInstance",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 243,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 242,
                  "name": "token",
                  "nodeType": "VariableDeclaration",
                  "scope": 767,
                  "src": "2603:17:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_MiniMeToken_$3743",
                    "typeString": "contract MiniMeToken"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 241,
                    "name": "MiniMeToken",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 3743,
                    "src": "2603:11:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_MiniMeToken_$3743",
                      "typeString": "contract MiniMeToken"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2602:19:0"
            },
            "payable": false,
            "returnParameters": {
              "id": 244,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2631:0:0"
            },
            "scope": 768,
            "src": "2582:4515:0",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          }
        ],
        "scope": 769,
        "src": "1908:5191:0"
      }
    ],
    "src": "0:7100:0"
  },
  "legacyAST": {
    "absolutePath": "/Users/osarrouy/Documents/PandoNetwork/pando/packages/pando-kit/contracts/PandoKit.sol",
    "exportedSymbols": {
      "APMNamehash": [
        68
      ],
      "KitBase": [
        159
      ],
      "PandoKit": [
        768
      ]
    },
    "id": 769,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 1,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:0"
      },
      {
        "absolutePath": "@aragon/os/contracts/lib/ens/ENS.sol",
        "file": "@aragon/os/contracts/lib/ens/ENS.sol",
        "id": 2,
        "nodeType": "ImportDirective",
        "scope": 769,
        "sourceUnit": 11105,
        "src": "26:46:0",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "@aragon/os/contracts/lib/ens/PublicResolver.sol",
        "file": "@aragon/os/contracts/lib/ens/PublicResolver.sol",
        "id": 3,
        "nodeType": "ImportDirective",
        "scope": 769,
        "sourceUnit": 11567,
        "src": "73:57:0",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "@aragon/os/contracts/apm/Repo.sol",
        "file": "@aragon/os/contracts/apm/Repo.sol",
        "id": 4,
        "nodeType": "ImportDirective",
        "scope": 769,
        "sourceUnit": 8092,
        "src": "131:43:0",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "@aragon/os/contracts/factory/DAOFactory.sol",
        "file": "@aragon/os/contracts/factory/DAOFactory.sol",
        "id": 5,
        "nodeType": "ImportDirective",
        "scope": 769,
        "sourceUnit": 10091,
        "src": "175:53:0",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "@aragon/apps-shared-minime/contracts/MiniMeToken.sol",
        "file": "@aragon/apps-shared-minime/contracts/MiniMeToken.sol",
        "id": 6,
        "nodeType": "ImportDirective",
        "scope": 769,
        "sourceUnit": 3785,
        "src": "229:62:0",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "@aragon/apps-vault/contracts/Vault.sol",
        "file": "@aragon/apps-vault/contracts/Vault.sol",
        "id": 7,
        "nodeType": "ImportDirective",
        "scope": 769,
        "sourceUnit": 4918,
        "src": "292:48:0",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "@aragon/apps-finance/contracts/Finance.sol",
        "file": "@aragon/apps-finance/contracts/Finance.sol",
        "id": 8,
        "nodeType": "ImportDirective",
        "scope": 769,
        "sourceUnit": 2646,
        "src": "341:52:0",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "@aragon/apps-voting/contracts/Voting.sol",
        "file": "@aragon/apps-voting/contracts/Voting.sol",
        "id": 9,
        "nodeType": "ImportDirective",
        "scope": 769,
        "sourceUnit": 5863,
        "src": "394:50:0",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "@pando/colony/contracts/PandoColony.sol",
        "file": "@pando/colony/contracts/PandoColony.sol",
        "id": 11,
        "nodeType": "ImportDirective",
        "scope": 769,
        "sourceUnit": 12134,
        "src": "445:70:0",
        "symbolAliases": [
          {
            "foreign": 10,
            "local": null
          }
        ],
        "unitAlias": ""
      },
      {
        "absolutePath": "@aragon/apps-token-manager/contracts/TokenManager.sol",
        "file": "@aragon/apps-token-manager/contracts/TokenManager.sol",
        "id": 13,
        "nodeType": "ImportDirective",
        "scope": 769,
        "sourceUnit": 4664,
        "src": "516:85:0",
        "symbolAliases": [
          {
            "foreign": 12,
            "local": null
          }
        ],
        "unitAlias": ""
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 68,
        "linearizedBaseContracts": [
          68
        ],
        "name": "APMNamehash",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": true,
            "id": 23,
            "name": "ETH_NODE",
            "nodeType": "VariableDeclaration",
            "scope": 68,
            "src": "631:74:0",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 14,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "631:7:0",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "value": {
              "argumentTypes": null,
              "arguments": [
                {
                  "argumentTypes": null,
                  "arguments": [
                    {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 17,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "684:1:0",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    }
                  ],
                  "expression": {
                    "argumentTypes": [
                      {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      }
                    ],
                    "id": 16,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "lValueRequested": false,
                    "nodeType": "ElementaryTypeNameExpression",
                    "src": "676:7:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_type$_t_bytes32_$",
                      "typeString": "type(bytes32)"
                    },
                    "typeName": "bytes32"
                  },
                  "id": 18,
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "kind": "typeConversion",
                  "lValueRequested": false,
                  "names": [],
                  "nodeType": "FunctionCall",
                  "src": "676:10:0",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                {
                  "argumentTypes": null,
                  "arguments": [
                    {
                      "argumentTypes": null,
                      "hexValue": "657468",
                      "id": 20,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "string",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "698:5:0",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_stringliteral_4f5b812789fc606be1b3b16908db13fc7a9adf7ca72641f84d75b47069d3d7f0",
                        "typeString": "literal_string \"eth\""
                      },
                      "value": "eth"
                    }
                  ],
                  "expression": {
                    "argumentTypes": [
                      {
                        "typeIdentifier": "t_stringliteral_4f5b812789fc606be1b3b16908db13fc7a9adf7ca72641f84d75b47069d3d7f0",
                        "typeString": "literal_string \"eth\""
                      }
                    ],
                    "id": 19,
                    "name": "keccak256",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 12664,
                    "src": "688:9:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                      "typeString": "function () pure returns (bytes32)"
                    }
                  },
                  "id": 21,
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "kind": "functionCall",
                  "lValueRequested": false,
                  "names": [],
                  "nodeType": "FunctionCall",
                  "src": "688:16:0",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                }
              ],
              "expression": {
                "argumentTypes": [
                  {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                ],
                "id": 15,
                "name": "keccak256",
                "nodeType": "Identifier",
                "overloadedDeclarations": [],
                "referencedDeclaration": 12664,
                "src": "666:9:0",
                "typeDescriptions": {
                  "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                  "typeString": "function () pure returns (bytes32)"
                }
              },
              "id": 22,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "functionCall",
              "lValueRequested": false,
              "names": [],
              "nodeType": "FunctionCall",
              "src": "666:39:0",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 31,
            "name": "APM_NODE",
            "nodeType": "VariableDeclaration",
            "scope": 68,
            "src": "711:77:0",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 24,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "711:7:0",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "value": {
              "argumentTypes": null,
              "arguments": [
                {
                  "argumentTypes": null,
                  "id": 26,
                  "name": "ETH_NODE",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 23,
                  "src": "756:8:0",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                {
                  "argumentTypes": null,
                  "arguments": [
                    {
                      "argumentTypes": null,
                      "hexValue": "617261676f6e706d",
                      "id": 28,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "string",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "776:10:0",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_stringliteral_1542111b4698ac085139692eae7c6efb632a4ae2779f8686da94511ebbbff594",
                        "typeString": "literal_string \"aragonpm\""
                      },
                      "value": "aragonpm"
                    }
                  ],
                  "expression": {
                    "argumentTypes": [
                      {
                        "typeIdentifier": "t_stringliteral_1542111b4698ac085139692eae7c6efb632a4ae2779f8686da94511ebbbff594",
                        "typeString": "literal_string \"aragonpm\""
                      }
                    ],
                    "id": 27,
                    "name": "keccak256",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 12664,
                    "src": "766:9:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                      "typeString": "function () pure returns (bytes32)"
                    }
                  },
                  "id": 29,
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "kind": "functionCall",
                  "lValueRequested": false,
                  "names": [],
                  "nodeType": "FunctionCall",
                  "src": "766:21:0",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                }
              ],
              "expression": {
                "argumentTypes": [
                  {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                ],
                "id": 25,
                "name": "keccak256",
                "nodeType": "Identifier",
                "overloadedDeclarations": [],
                "referencedDeclaration": 12664,
                "src": "746:9:0",
                "typeDescriptions": {
                  "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                  "typeString": "function () pure returns (bytes32)"
                }
              },
              "id": 30,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "functionCall",
              "lValueRequested": false,
              "names": [],
              "nodeType": "FunctionCall",
              "src": "746:42:0",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 39,
            "name": "OPEN_NODE",
            "nodeType": "VariableDeclaration",
            "scope": 68,
            "src": "794:74:0",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 32,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "794:7:0",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "value": {
              "argumentTypes": null,
              "arguments": [
                {
                  "argumentTypes": null,
                  "id": 34,
                  "name": "APM_NODE",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 31,
                  "src": "840:8:0",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                {
                  "argumentTypes": null,
                  "arguments": [
                    {
                      "argumentTypes": null,
                      "hexValue": "6f70656e",
                      "id": 36,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "string",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "860:6:0",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_stringliteral_99f30275ab70dd1890c0789c4570632b6f0b0284d11c2d9e587d0368f7027018",
                        "typeString": "literal_string \"open\""
                      },
                      "value": "open"
                    }
                  ],
                  "expression": {
                    "argumentTypes": [
                      {
                        "typeIdentifier": "t_stringliteral_99f30275ab70dd1890c0789c4570632b6f0b0284d11c2d9e587d0368f7027018",
                        "typeString": "literal_string \"open\""
                      }
                    ],
                    "id": 35,
                    "name": "keccak256",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 12664,
                    "src": "850:9:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                      "typeString": "function () pure returns (bytes32)"
                    }
                  },
                  "id": 37,
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "kind": "functionCall",
                  "lValueRequested": false,
                  "names": [],
                  "nodeType": "FunctionCall",
                  "src": "850:17:0",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                }
              ],
              "expression": {
                "argumentTypes": [
                  {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                ],
                "id": 33,
                "name": "keccak256",
                "nodeType": "Identifier",
                "overloadedDeclarations": [],
                "referencedDeclaration": 12664,
                "src": "830:9:0",
                "typeDescriptions": {
                  "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                  "typeString": "function () pure returns (bytes32)"
                }
              },
              "id": 38,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "functionCall",
              "lValueRequested": false,
              "names": [],
              "nodeType": "FunctionCall",
              "src": "830:38:0",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "visibility": "public"
          },
          {
            "body": {
              "id": 66,
              "nodeType": "Block",
              "src": "952:169:0",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "id": 48,
                    "name": "open",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 43,
                    "src": "966:4:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 64,
                    "nodeType": "Block",
                    "src": "1047:68:0",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 58,
                              "name": "APM_NODE",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 31,
                              "src": "1078:8:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 60,
                                  "name": "name",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 41,
                                  "src": "1098:4:0",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                ],
                                "id": 59,
                                "name": "keccak256",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 12664,
                                "src": "1088:9:0",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                                  "typeString": "function () pure returns (bytes32)"
                                }
                              },
                              "id": 61,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "1088:15:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 57,
                            "name": "keccak256",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 12664,
                            "src": "1068:9:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                              "typeString": "function () pure returns (bytes32)"
                            }
                          },
                          "id": 62,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1068:36:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "functionReturnParameters": 47,
                        "id": 63,
                        "nodeType": "Return",
                        "src": "1061:43:0"
                      }
                    ]
                  },
                  "id": 65,
                  "nodeType": "IfStatement",
                  "src": "962:153:0",
                  "trueBody": {
                    "id": 56,
                    "nodeType": "Block",
                    "src": "972:69:0",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 50,
                              "name": "OPEN_NODE",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 39,
                              "src": "1003:9:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 52,
                                  "name": "name",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 41,
                                  "src": "1024:4:0",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                ],
                                "id": 51,
                                "name": "keccak256",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 12664,
                                "src": "1014:9:0",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                                  "typeString": "function () pure returns (bytes32)"
                                }
                              },
                              "id": 53,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "1014:15:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 49,
                            "name": "keccak256",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 12664,
                            "src": "993:9:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                              "typeString": "function () pure returns (bytes32)"
                            }
                          },
                          "id": 54,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "993:37:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "functionReturnParameters": 47,
                        "id": 55,
                        "nodeType": "Return",
                        "src": "986:44:0"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": null,
            "id": 67,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "apmNamehash",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 44,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 41,
                  "name": "name",
                  "nodeType": "VariableDeclaration",
                  "scope": 67,
                  "src": "896:11:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 40,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "896:6:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 43,
                  "name": "open",
                  "nodeType": "VariableDeclaration",
                  "scope": 67,
                  "src": "909:9:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 42,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "909:4:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "895:24:0"
            },
            "payable": false,
            "returnParameters": {
              "id": 47,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 46,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 67,
                  "src": "943:7:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 45,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "943:7:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "942:9:0"
            },
            "scope": 68,
            "src": "875:246:0",
            "stateMutability": "pure",
            "superFunction": null,
            "visibility": "internal"
          }
        ],
        "scope": 769,
        "src": "604:519:0"
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 69,
              "name": "APMNamehash",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 68,
              "src": "1146:11:0",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_APMNamehash_$68",
                "typeString": "contract APMNamehash"
              }
            },
            "id": 70,
            "nodeType": "InheritanceSpecifier",
            "src": "1146:11:0"
          }
        ],
        "contractDependencies": [
          68
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 159,
        "linearizedBaseContracts": [
          159,
          68
        ],
        "name": "KitBase",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 72,
            "name": "ens",
            "nodeType": "VariableDeclaration",
            "scope": 159,
            "src": "1164:21:0",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_ENS_$11104",
              "typeString": "contract ENS"
            },
            "typeName": {
              "contractScope": null,
              "id": 71,
              "name": "ENS",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 11104,
              "src": "1164:3:0",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ENS_$11104",
                "typeString": "contract ENS"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 74,
            "name": "fac",
            "nodeType": "VariableDeclaration",
            "scope": 159,
            "src": "1191:21:0",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_DAOFactory_$10090",
              "typeString": "contract DAOFactory"
            },
            "typeName": {
              "contractScope": null,
              "id": 73,
              "name": "DAOFactory",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 10090,
              "src": "1191:10:0",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_DAOFactory_$10090",
                "typeString": "contract DAOFactory"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 78,
            "name": "DeployInstance",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 77,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 76,
                  "indexed": false,
                  "name": "dao",
                  "nodeType": "VariableDeclaration",
                  "scope": 78,
                  "src": "1240:11:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 75,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1240:7:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1239:13:0"
            },
            "src": "1219:34:0"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 84,
            "name": "InstalledApp",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 83,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 80,
                  "indexed": false,
                  "name": "appProxy",
                  "nodeType": "VariableDeclaration",
                  "scope": 84,
                  "src": "1277:16:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 79,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1277:7:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 82,
                  "indexed": false,
                  "name": "appId",
                  "nodeType": "VariableDeclaration",
                  "scope": 84,
                  "src": "1295:13:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 81,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1295:7:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1276:33:0"
            },
            "src": "1258:52:0"
          },
          {
            "body": {
              "id": 126,
              "nodeType": "Block",
              "src": "1362:314:0",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 93,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 91,
                      "name": "ens",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 72,
                      "src": "1372:3:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_ENS_$11104",
                        "typeString": "contract ENS"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 92,
                      "name": "_ens",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 88,
                      "src": "1378:4:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_ENS_$11104",
                        "typeString": "contract ENS"
                      }
                    },
                    "src": "1372:10:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ENS_$11104",
                      "typeString": "contract ENS"
                    }
                  },
                  "id": 94,
                  "nodeType": "ExpressionStatement",
                  "src": "1372:10:0"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 101,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 96,
                          "name": "_fac",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 86,
                          "src": "1471:4:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_DAOFactory_$10090",
                            "typeString": "contract DAOFactory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_contract$_DAOFactory_$10090",
                            "typeString": "contract DAOFactory"
                          }
                        ],
                        "id": 95,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "1463:7:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_address_$",
                          "typeString": "type(address)"
                        },
                        "typeName": "address"
                      },
                      "id": 97,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1463:13:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 99,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "1488:1:0",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          }
                        ],
                        "id": 98,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "1480:7:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_address_$",
                          "typeString": "type(address)"
                        },
                        "typeName": "address"
                      },
                      "id": 100,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1480:10:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "1463:27:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 124,
                    "nodeType": "Block",
                    "src": "1635:35:0",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 122,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 120,
                            "name": "fac",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 74,
                            "src": "1649:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_DAOFactory_$10090",
                              "typeString": "contract DAOFactory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "id": 121,
                            "name": "_fac",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 86,
                            "src": "1655:4:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_DAOFactory_$10090",
                              "typeString": "contract DAOFactory"
                            }
                          },
                          "src": "1649:10:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_DAOFactory_$10090",
                            "typeString": "contract DAOFactory"
                          }
                        },
                        "id": 123,
                        "nodeType": "ExpressionStatement",
                        "src": "1649:10:0"
                      }
                    ]
                  },
                  "id": 125,
                  "nodeType": "IfStatement",
                  "src": "1459:211:0",
                  "trueBody": {
                    "id": 119,
                    "nodeType": "Block",
                    "src": "1492:137:0",
                    "statements": [
                      {
                        "assignments": [
                          103
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 103,
                            "name": "bareKit",
                            "nodeType": "VariableDeclaration",
                            "scope": 127,
                            "src": "1506:15:0",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            "typeName": {
                              "id": 102,
                              "name": "bytes32",
                              "nodeType": "ElementaryTypeName",
                              "src": "1506:7:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 108,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "hexValue": "626172652d6b6974",
                              "id": 105,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "1536:10:0",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_eae34e1d5adf3d84ddaf56c05425677b54d69a021ff0c01c8b5f2289b91a4e9f",
                                "typeString": "literal_string \"bare-kit\""
                              },
                              "value": "bare-kit"
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "66616c7365",
                              "id": 106,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "1548:5:0",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "value": "false"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_eae34e1d5adf3d84ddaf56c05425677b54d69a021ff0c01c8b5f2289b91a4e9f",
                                "typeString": "literal_string \"bare-kit\""
                              },
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "id": 104,
                            "name": "apmNamehash",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 67,
                            "src": "1524:11:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_bool_$returns$_t_bytes32_$",
                              "typeString": "function (string memory,bool) pure returns (bytes32)"
                            }
                          },
                          "id": 107,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1524:30:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "1506:48:0"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 117,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 109,
                            "name": "fac",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 74,
                            "src": "1568:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_DAOFactory_$10090",
                              "typeString": "contract DAOFactory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "id": 112,
                                        "name": "bareKit",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 103,
                                        "src": "1603:7:0",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      ],
                                      "id": 111,
                                      "name": "latestVersionAppBase",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 158,
                                      "src": "1582:20:0",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
                                        "typeString": "function (bytes32) view returns (address)"
                                      }
                                    },
                                    "id": 113,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "1582:29:0",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  ],
                                  "id": 110,
                                  "name": "KitBase",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 159,
                                  "src": "1574:7:0",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_contract$_KitBase_$159_$",
                                    "typeString": "type(contract KitBase)"
                                  }
                                },
                                "id": 114,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "1574:38:0",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_KitBase_$159",
                                  "typeString": "contract KitBase"
                                }
                              },
                              "id": 115,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "fac",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 74,
                              "src": "1574:42:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_DAOFactory_$10090_$",
                                "typeString": "function () view external returns (contract DAOFactory)"
                              }
                            },
                            "id": 116,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "1574:44:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_DAOFactory_$10090",
                              "typeString": "contract DAOFactory"
                            }
                          },
                          "src": "1568:50:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_DAOFactory_$10090",
                            "typeString": "contract DAOFactory"
                          }
                        },
                        "id": 118,
                        "nodeType": "ExpressionStatement",
                        "src": "1568:50:0"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": null,
            "id": 127,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 89,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 86,
                  "name": "_fac",
                  "nodeType": "VariableDeclaration",
                  "scope": 127,
                  "src": "1328:15:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_DAOFactory_$10090",
                    "typeString": "contract DAOFactory"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 85,
                    "name": "DAOFactory",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 10090,
                    "src": "1328:10:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_DAOFactory_$10090",
                      "typeString": "contract DAOFactory"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 88,
                  "name": "_ens",
                  "nodeType": "VariableDeclaration",
                  "scope": 127,
                  "src": "1345:8:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_ENS_$11104",
                    "typeString": "contract ENS"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 87,
                    "name": "ENS",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 11104,
                    "src": "1345:3:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ENS_$11104",
                      "typeString": "contract ENS"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1327:27:0"
            },
            "payable": false,
            "returnParameters": {
              "id": 90,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1362:0:0"
            },
            "scope": 159,
            "src": "1316:360:0",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 157,
              "nodeType": "Block",
              "src": "1762:141:0",
              "statements": [
                {
                  "assignments": [
                    135
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 135,
                      "name": "repo",
                      "nodeType": "VariableDeclaration",
                      "scope": 158,
                      "src": "1772:9:0",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_Repo_$8091",
                        "typeString": "contract Repo"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 134,
                        "name": "Repo",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 8091,
                        "src": "1772:4:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Repo_$8091",
                          "typeString": "contract Repo"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 147,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 144,
                            "name": "appId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 129,
                            "src": "1830:5:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 140,
                                    "name": "appId",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 129,
                                    "src": "1817:5:0",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 138,
                                    "name": "ens",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 72,
                                    "src": "1804:3:0",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_contract$_ENS_$11104",
                                      "typeString": "contract ENS"
                                    }
                                  },
                                  "id": 139,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "resolver",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 10989,
                                  "src": "1804:12:0",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$",
                                    "typeString": "function (bytes32) view external returns (address)"
                                  }
                                },
                                "id": 141,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "1804:19:0",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "id": 137,
                              "name": "PublicResolver",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 11566,
                              "src": "1789:14:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_PublicResolver_$11566_$",
                                "typeString": "type(contract PublicResolver)"
                              }
                            },
                            "id": 142,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "1789:35:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_PublicResolver_$11566",
                              "typeString": "contract PublicResolver"
                            }
                          },
                          "id": 143,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "addr",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 11272,
                          "src": "1789:40:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$",
                            "typeString": "function (bytes32) view external returns (address)"
                          }
                        },
                        "id": 145,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1789:47:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 136,
                      "name": "Repo",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8091,
                      "src": "1784:4:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_contract$_Repo_$8091_$",
                        "typeString": "type(contract Repo)"
                      }
                    },
                    "id": 146,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1784:53:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_Repo_$8091",
                      "typeString": "contract Repo"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1772:65:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 153,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        null,
                        {
                          "argumentTypes": null,
                          "id": 148,
                          "name": "base",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 132,
                          "src": "1849:4:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        null
                      ],
                      "id": 149,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "1847:8:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$__$_t_address_$__$",
                        "typeString": "tuple(,address,)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "expression": {
                          "argumentTypes": null,
                          "id": 150,
                          "name": "repo",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 135,
                          "src": "1858:4:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_Repo_$8091",
                            "typeString": "contract Repo"
                          }
                        },
                        "id": 151,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "getLatest",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 7895,
                        "src": "1858:14:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_uint16_$3_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$",
                          "typeString": "function () view external returns (uint16[3] memory,address,bytes memory)"
                        }
                      },
                      "id": 152,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1858:16:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_array$_t_uint16_$3_memory_ptr_$_t_address_$_t_bytes_memory_ptr_$",
                        "typeString": "tuple(uint16[3] memory,address,bytes memory)"
                      }
                    },
                    "src": "1847:27:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 154,
                  "nodeType": "ExpressionStatement",
                  "src": "1847:27:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 155,
                    "name": "base",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 132,
                    "src": "1892:4:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "functionReturnParameters": 133,
                  "id": 156,
                  "nodeType": "Return",
                  "src": "1885:11:0"
                }
              ]
            },
            "documentation": null,
            "id": 158,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "latestVersionAppBase",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 130,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 129,
                  "name": "appId",
                  "nodeType": "VariableDeclaration",
                  "scope": 158,
                  "src": "1712:13:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 128,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1712:7:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1711:15:0"
            },
            "payable": false,
            "returnParameters": {
              "id": 133,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 132,
                  "name": "base",
                  "nodeType": "VariableDeclaration",
                  "scope": 158,
                  "src": "1748:12:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 131,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1748:7:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1747:14:0"
            },
            "scope": 159,
            "src": "1682:221:0",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 769,
        "src": "1126:779:0"
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 160,
              "name": "KitBase",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 159,
              "src": "1929:7:0",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_KitBase_$159",
                "typeString": "contract KitBase"
              }
            },
            "id": 161,
            "nodeType": "InheritanceSpecifier",
            "src": "1929:7:0"
          }
        ],
        "contractDependencies": [
          68,
          159
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 768,
        "linearizedBaseContracts": [
          768,
          159,
          68
        ],
        "name": "PandoKit",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 163,
            "name": "devchain",
            "nodeType": "VariableDeclaration",
            "scope": 768,
            "src": "1943:13:0",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bool",
              "typeString": "bool"
            },
            "typeName": {
              "id": 162,
              "name": "bool",
              "nodeType": "ElementaryTypeName",
              "src": "1943:4:0",
              "typeDescriptions": {
                "typeIdentifier": "t_bool",
                "typeString": "bool"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 165,
            "name": "tokenFactory",
            "nodeType": "VariableDeclaration",
            "scope": 768,
            "src": "1962:31:0",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_MiniMeTokenFactory_$3784",
              "typeString": "contract MiniMeTokenFactory"
            },
            "typeName": {
              "contractScope": null,
              "id": 164,
              "name": "MiniMeTokenFactory",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 3784,
              "src": "1962:18:0",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_MiniMeTokenFactory_$3784",
                "typeString": "contract MiniMeTokenFactory"
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 170,
            "name": "PCT",
            "nodeType": "VariableDeclaration",
            "scope": 768,
            "src": "2000:31:0",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 166,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "2000:7:0",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "commonType": {
                "typeIdentifier": "t_rational_10000000000000000_by_1",
                "typeString": "int_const 10000000000000000"
              },
              "id": 169,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "lValueRequested": false,
              "leftExpression": {
                "argumentTypes": null,
                "hexValue": "3130",
                "id": 167,
                "isConstant": false,
                "isLValue": false,
                "isPure": true,
                "kind": "number",
                "lValueRequested": false,
                "nodeType": "Literal",
                "src": "2023:2:0",
                "subdenomination": null,
                "typeDescriptions": {
                  "typeIdentifier": "t_rational_10_by_1",
                  "typeString": "int_const 10"
                },
                "value": "10"
              },
              "nodeType": "BinaryOperation",
              "operator": "**",
              "rightExpression": {
                "argumentTypes": null,
                "hexValue": "3136",
                "id": 168,
                "isConstant": false,
                "isLValue": false,
                "isPure": true,
                "kind": "number",
                "lValueRequested": false,
                "nodeType": "Literal",
                "src": "2029:2:0",
                "subdenomination": null,
                "typeDescriptions": {
                  "typeIdentifier": "t_rational_16_by_1",
                  "typeString": "int_const 16"
                },
                "value": "16"
              },
              "src": "2023:8:0",
              "typeDescriptions": {
                "typeIdentifier": "t_rational_10000000000000000_by_1",
                "typeString": "int_const 10000000000000000"
              }
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 176,
            "name": "ANY_ENTITY",
            "nodeType": "VariableDeclaration",
            "scope": 768,
            "src": "2037:41:0",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 171,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "2037:7:0",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "value": {
              "argumentTypes": null,
              "arguments": [
                {
                  "argumentTypes": null,
                  "id": 174,
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "lValueRequested": false,
                  "nodeType": "UnaryOperation",
                  "operator": "-",
                  "prefix": true,
                  "src": "2075:2:0",
                  "subExpression": {
                    "argumentTypes": null,
                    "hexValue": "31",
                    "id": 173,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "2076:1:0",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_rational_1_by_1",
                      "typeString": "int_const 1"
                    },
                    "value": "1"
                  },
                  "typeDescriptions": {
                    "typeIdentifier": "t_rational_-1_by_1",
                    "typeString": "int_const -1"
                  }
                }
              ],
              "expression": {
                "argumentTypes": [
                  {
                    "typeIdentifier": "t_rational_-1_by_1",
                    "typeString": "int_const -1"
                  }
                ],
                "id": 172,
                "isConstant": false,
                "isLValue": false,
                "isPure": true,
                "lValueRequested": false,
                "nodeType": "ElementaryTypeNameExpression",
                "src": "2067:7:0",
                "typeDescriptions": {
                  "typeIdentifier": "t_type$_t_address_$",
                  "typeString": "type(address)"
                },
                "typeName": "address"
              },
              "id": 175,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "typeConversion",
              "lValueRequested": false,
              "names": [],
              "nodeType": "FunctionCall",
              "src": "2067:11:0",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "visibility": "internal"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 184,
            "name": "DeployToken",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 183,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 178,
                  "indexed": false,
                  "name": "token",
                  "nodeType": "VariableDeclaration",
                  "scope": 184,
                  "src": "2103:13:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 177,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2103:7:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 180,
                  "indexed": false,
                  "name": "name",
                  "nodeType": "VariableDeclaration",
                  "scope": 184,
                  "src": "2118:11:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 179,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2118:6:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 182,
                  "indexed": false,
                  "name": "symbol",
                  "nodeType": "VariableDeclaration",
                  "scope": 184,
                  "src": "2131:13:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 181,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2131:6:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2102:43:0"
            },
            "src": "2085:61:0"
          },
          {
            "body": {
              "id": 207,
              "nodeType": "Block",
              "src": "2260:75:0",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 201,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 199,
                      "name": "devchain",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 163,
                      "src": "2270:8:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 200,
                      "name": "_devchain",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 190,
                      "src": "2281:9:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "2270:20:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 202,
                  "nodeType": "ExpressionStatement",
                  "src": "2270:20:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 205,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 203,
                      "name": "tokenFactory",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 165,
                      "src": "2300:12:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_MiniMeTokenFactory_$3784",
                        "typeString": "contract MiniMeTokenFactory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 204,
                      "name": "_tokenFactory",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 188,
                      "src": "2315:13:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_MiniMeTokenFactory_$3784",
                        "typeString": "contract MiniMeTokenFactory"
                      }
                    },
                    "src": "2300:28:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_MiniMeTokenFactory_$3784",
                      "typeString": "contract MiniMeTokenFactory"
                    }
                  },
                  "id": 206,
                  "nodeType": "ExpressionStatement",
                  "src": "2300:28:0"
                }
              ]
            },
            "documentation": null,
            "id": 208,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 194,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2250:1:0",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        }
                      ],
                      "id": 193,
                      "name": "DAOFactory",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 10090,
                      "src": "2239:10:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_contract$_DAOFactory_$10090_$",
                        "typeString": "type(contract DAOFactory)"
                      }
                    },
                    "id": 195,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2239:13:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_DAOFactory_$10090",
                      "typeString": "contract DAOFactory"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 196,
                    "name": "_ens",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 186,
                    "src": "2254:4:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ENS_$11104",
                      "typeString": "contract ENS"
                    }
                  }
                ],
                "id": 197,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 192,
                  "name": "KitBase",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 159,
                  "src": "2231:7:0",
                  "typeDescriptions": {
                    "typeIdentifier": "t_type$_t_contract$_KitBase_$159_$",
                    "typeString": "type(contract KitBase)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2231:28:0"
              }
            ],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 191,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 186,
                  "name": "_ens",
                  "nodeType": "VariableDeclaration",
                  "scope": 208,
                  "src": "2164:8:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_ENS_$11104",
                    "typeString": "contract ENS"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 185,
                    "name": "ENS",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 11104,
                    "src": "2164:3:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ENS_$11104",
                      "typeString": "contract ENS"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 188,
                  "name": "_tokenFactory",
                  "nodeType": "VariableDeclaration",
                  "scope": 208,
                  "src": "2174:32:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_MiniMeTokenFactory_$3784",
                    "typeString": "contract MiniMeTokenFactory"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 187,
                    "name": "MiniMeTokenFactory",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 3784,
                    "src": "2174:18:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_MiniMeTokenFactory_$3784",
                      "typeString": "contract MiniMeTokenFactory"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 190,
                  "name": "_devchain",
                  "nodeType": "VariableDeclaration",
                  "scope": 208,
                  "src": "2208:14:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 189,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2208:4:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2163:60:0"
            },
            "payable": false,
            "returnParameters": {
              "id": 198,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2260:0:0"
            },
            "scope": 768,
            "src": "2152:183:0",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 239,
              "nodeType": "Block",
              "src": "2398:178:0",
              "statements": [
                {
                  "assignments": [
                    216
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 216,
                      "name": "token",
                      "nodeType": "VariableDeclaration",
                      "scope": 240,
                      "src": "2408:17:0",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_MiniMeToken_$3743",
                        "typeString": "contract MiniMeToken"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 215,
                        "name": "MiniMeToken",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 3743,
                        "src": "2408:11:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_MiniMeToken_$3743",
                          "typeString": "contract MiniMeToken"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 230,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "hexValue": "30",
                                "id": 221,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "2478:1:0",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                }
                              ],
                              "id": 220,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "2470:7:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_address_$",
                                "typeString": "type(address)"
                              },
                              "typeName": "address"
                            },
                            "id": 222,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2470:10:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 219,
                          "name": "MiniMeToken",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3743,
                          "src": "2458:11:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_MiniMeToken_$3743_$",
                            "typeString": "type(contract MiniMeToken)"
                          }
                        },
                        "id": 223,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2458:23:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_MiniMeToken_$3743",
                          "typeString": "contract MiniMeToken"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 224,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2483:1:0",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      {
                        "argumentTypes": null,
                        "id": 225,
                        "name": "_name",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 210,
                        "src": "2486:5:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 226,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2493:1:0",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      {
                        "argumentTypes": null,
                        "id": 227,
                        "name": "_symbol",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 212,
                        "src": "2496:7:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "74727565",
                        "id": 228,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "bool",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2505:4:0",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "value": "true"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_MiniMeToken_$3743",
                          "typeString": "contract MiniMeToken"
                        },
                        {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        },
                        {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        },
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 217,
                        "name": "tokenFactory",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 165,
                        "src": "2428:12:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_MiniMeTokenFactory_$3784",
                          "typeString": "contract MiniMeTokenFactory"
                        }
                      },
                      "id": 218,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "createCloneToken",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 3783,
                      "src": "2428:29:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_contract$_MiniMeToken_$3743_$_t_uint256_$_t_string_memory_ptr_$_t_uint8_$_t_string_memory_ptr_$_t_bool_$returns$_t_contract$_MiniMeToken_$3743_$",
                        "typeString": "function (contract MiniMeToken,uint256,string memory,uint8,string memory,bool) external returns (contract MiniMeToken)"
                      }
                    },
                    "id": 229,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2428:82:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_MiniMeToken_$3743",
                      "typeString": "contract MiniMeToken"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2408:102:0"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 233,
                            "name": "token",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 216,
                            "src": "2546:5:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_MiniMeToken_$3743",
                              "typeString": "contract MiniMeToken"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_contract$_MiniMeToken_$3743",
                              "typeString": "contract MiniMeToken"
                            }
                          ],
                          "id": 232,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "2538:7:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": "address"
                        },
                        "id": 234,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2538:14:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 235,
                        "name": "_name",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 210,
                        "src": "2554:5:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 236,
                        "name": "_symbol",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 212,
                        "src": "2561:7:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        },
                        {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      ],
                      "id": 231,
                      "name": "DeployToken",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 184,
                      "src": "2526:11:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (address,string memory,string memory)"
                      }
                    },
                    "id": 237,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2526:43:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 238,
                  "nodeType": "EmitStatement",
                  "src": "2521:48:0"
                }
              ]
            },
            "documentation": null,
            "id": 240,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "newToken",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 213,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 210,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 240,
                  "src": "2359:12:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 209,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2359:6:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 212,
                  "name": "_symbol",
                  "nodeType": "VariableDeclaration",
                  "scope": 240,
                  "src": "2373:14:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 211,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2373:6:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2358:30:0"
            },
            "payable": false,
            "returnParameters": {
              "id": 214,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2398:0:0"
            },
            "scope": 768,
            "src": "2341:235:0",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 766,
              "nodeType": "Block",
              "src": "2631:4466:0",
              "statements": [
                {
                  "assignments": [
                    249
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 249,
                      "name": "appIds",
                      "nodeType": "VariableDeclaration",
                      "scope": 767,
                      "src": "2641:24:0",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes32_$5_memory_ptr",
                        "typeString": "bytes32[5]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 247,
                          "name": "bytes32",
                          "nodeType": "ElementaryTypeName",
                          "src": "2641:7:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "id": 248,
                        "length": {
                          "argumentTypes": null,
                          "hexValue": "35",
                          "id": 246,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2649:1:0",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": null,
                            "typeString": null
                          },
                          "value": "5"
                        },
                        "nodeType": "ArrayTypeName",
                        "src": "2641:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_bytes32_$5_storage_ptr",
                          "typeString": "bytes32[5]"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 272,
                  "initialValue": {
                    "argumentTypes": null,
                    "components": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "7661756c74",
                            "id": 251,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2694:7:0",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_23c14fceac7676b670aa56866076586ea1ce15ddcf19208ec6346cf748dffbee",
                              "typeString": "literal_string \"vault\""
                            },
                            "value": "vault"
                          },
                          {
                            "argumentTypes": null,
                            "hexValue": "66616c7365",
                            "id": 252,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "bool",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2703:5:0",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "value": "false"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_stringliteral_23c14fceac7676b670aa56866076586ea1ce15ddcf19208ec6346cf748dffbee",
                              "typeString": "literal_string \"vault\""
                            },
                            {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          ],
                          "id": 250,
                          "name": "apmNamehash",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 67,
                          "src": "2682:11:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_bool_$returns$_t_bytes32_$",
                            "typeString": "function (string memory,bool) pure returns (bytes32)"
                          }
                        },
                        "id": 253,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2682:27:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "66696e616e6365",
                            "id": 255,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2751:9:0",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_2af4c2fb0d9965fa818b9c58b2744b328ab67b082ec92907629457399dacdb35",
                              "typeString": "literal_string \"finance\""
                            },
                            "value": "finance"
                          },
                          {
                            "argumentTypes": null,
                            "hexValue": "66616c7365",
                            "id": 256,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "bool",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2762:5:0",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "value": "false"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_stringliteral_2af4c2fb0d9965fa818b9c58b2744b328ab67b082ec92907629457399dacdb35",
                              "typeString": "literal_string \"finance\""
                            },
                            {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          ],
                          "id": 254,
                          "name": "apmNamehash",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 67,
                          "src": "2739:11:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_bool_$returns$_t_bytes32_$",
                            "typeString": "function (string memory,bool) pure returns (bytes32)"
                          }
                        },
                        "id": 257,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2739:29:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "746f6b656e2d6d616e61676572",
                            "id": 259,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2808:15:0",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_de5fa9c0ef6d18cdb8ef4461bfb45c94dc915629a2a1f311fb33838aff95436f",
                              "typeString": "literal_string \"token-manager\""
                            },
                            "value": "token-manager"
                          },
                          {
                            "argumentTypes": null,
                            "hexValue": "66616c7365",
                            "id": 260,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "bool",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2825:5:0",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "value": "false"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_stringliteral_de5fa9c0ef6d18cdb8ef4461bfb45c94dc915629a2a1f311fb33838aff95436f",
                              "typeString": "literal_string \"token-manager\""
                            },
                            {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          ],
                          "id": 258,
                          "name": "apmNamehash",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 67,
                          "src": "2796:11:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_bool_$returns$_t_bytes32_$",
                            "typeString": "function (string memory,bool) pure returns (bytes32)"
                          }
                        },
                        "id": 261,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2796:35:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "766f74696e67",
                            "id": 263,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2865:8:0",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_0e49311626a26ba5be58a3b13d239908e80ce0dffdd5c50bf1d9c82ff35d1ab3",
                              "typeString": "literal_string \"voting\""
                            },
                            "value": "voting"
                          },
                          {
                            "argumentTypes": null,
                            "hexValue": "66616c7365",
                            "id": 264,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "bool",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2875:5:0",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "value": "false"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_stringliteral_0e49311626a26ba5be58a3b13d239908e80ce0dffdd5c50bf1d9c82ff35d1ab3",
                              "typeString": "literal_string \"voting\""
                            },
                            {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          ],
                          "id": 262,
                          "name": "apmNamehash",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 67,
                          "src": "2853:11:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_bool_$returns$_t_bytes32_$",
                            "typeString": "function (string memory,bool) pure returns (bytes32)"
                          }
                        },
                        "id": 265,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2853:28:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "70616e646f2d636f6c6f6e79",
                            "id": 267,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2922:14:0",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_39fdfce5f61008c6306b497a2146ae2105fed6d2c6c32e9325a73fce867e5af1",
                              "typeString": "literal_string \"pando-colony\""
                            },
                            "value": "pando-colony"
                          },
                          {
                            "argumentTypes": null,
                            "id": 269,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "UnaryOperation",
                            "operator": "!",
                            "prefix": true,
                            "src": "2938:9:0",
                            "subExpression": {
                              "argumentTypes": null,
                              "id": 268,
                              "name": "devchain",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 163,
                              "src": "2939:8:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_stringliteral_39fdfce5f61008c6306b497a2146ae2105fed6d2c6c32e9325a73fce867e5af1",
                              "typeString": "literal_string \"pando-colony\""
                            },
                            {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          ],
                          "id": 266,
                          "name": "apmNamehash",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 67,
                          "src": "2910:11:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_bool_$returns$_t_bytes32_$",
                            "typeString": "function (string memory,bool) pure returns (bytes32)"
                          }
                        },
                        "id": 270,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2910:38:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "id": 271,
                    "isConstant": false,
                    "isInlineArray": true,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "TupleExpression",
                    "src": "2668:296:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$5_memory_ptr",
                      "typeString": "bytes32[5] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2641:323:0"
                },
                {
                  "assignments": [
                    274
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 274,
                      "name": "dao",
                      "nodeType": "VariableDeclaration",
                      "scope": 767,
                      "src": "2990:10:0",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_Kernel_$10747",
                        "typeString": "contract Kernel"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 273,
                        "name": "Kernel",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 10747,
                        "src": "2990:6:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Kernel_$10747",
                          "typeString": "contract Kernel"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 279,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 277,
                        "name": "this",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12811,
                        "src": "3014:4:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_PandoKit_$768",
                          "typeString": "contract PandoKit"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_PandoKit_$768",
                          "typeString": "contract PandoKit"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 275,
                        "name": "fac",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 74,
                        "src": "3003:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_DAOFactory_$10090",
                          "typeString": "contract DAOFactory"
                        }
                      },
                      "id": 276,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "newDAO",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 10089,
                      "src": "3003:10:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_contract$_Kernel_$10747_$",
                        "typeString": "function (address) external returns (contract Kernel)"
                      }
                    },
                    "id": 278,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3003:16:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_Kernel_$10747",
                      "typeString": "contract Kernel"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2990:29:0"
                },
                {
                  "assignments": [
                    281
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 281,
                      "name": "acl",
                      "nodeType": "VariableDeclaration",
                      "scope": 767,
                      "src": "3029:10:0",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_ACL_$7166",
                        "typeString": "contract ACL"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 280,
                        "name": "ACL",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 7166,
                        "src": "3029:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 287,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 283,
                            "name": "dao",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 274,
                            "src": "3046:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Kernel_$10747",
                              "typeString": "contract Kernel"
                            }
                          },
                          "id": 284,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "acl",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 10609,
                          "src": "3046:7:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IACL_$7681_$",
                            "typeString": "function () view external returns (contract IACL)"
                          }
                        },
                        "id": 285,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3046:9:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IACL_$7681",
                          "typeString": "contract IACL"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_IACL_$7681",
                          "typeString": "contract IACL"
                        }
                      ],
                      "id": 282,
                      "name": "ACL",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 7166,
                      "src": "3042:3:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_contract$_ACL_$7166_$",
                        "typeString": "type(contract ACL)"
                      }
                    },
                    "id": 286,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3042:14:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ACL_$7166",
                      "typeString": "contract ACL"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3029:27:0"
                },
                {
                  "assignments": [
                    289
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 289,
                      "name": "reg",
                      "nodeType": "VariableDeclaration",
                      "scope": 767,
                      "src": "3066:21:0",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_EVMScriptRegistry_$9287",
                        "typeString": "contract EVMScriptRegistry"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 288,
                        "name": "EVMScriptRegistry",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 9287,
                        "src": "3066:17:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_EVMScriptRegistry_$9287",
                          "typeString": "contract EVMScriptRegistry"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 295,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 291,
                            "name": "acl",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 281,
                            "src": "3108:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ACL_$7166",
                              "typeString": "contract ACL"
                            }
                          },
                          "id": 292,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "getEVMScriptRegistry",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 9356,
                          "src": "3108:24:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IEVMScriptRegistry_$9523_$",
                            "typeString": "function () view external returns (contract IEVMScriptRegistry)"
                          }
                        },
                        "id": 293,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3108:26:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IEVMScriptRegistry_$9523",
                          "typeString": "contract IEVMScriptRegistry"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_IEVMScriptRegistry_$9523",
                          "typeString": "contract IEVMScriptRegistry"
                        }
                      ],
                      "id": 290,
                      "name": "EVMScriptRegistry",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9287,
                      "src": "3090:17:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_contract$_EVMScriptRegistry_$9287_$",
                        "typeString": "type(contract EVMScriptRegistry)"
                      }
                    },
                    "id": 294,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3090:45:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_EVMScriptRegistry_$9287",
                      "typeString": "contract EVMScriptRegistry"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3066:69:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 299,
                        "name": "this",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12811,
                        "src": "3166:4:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_PandoKit_$768",
                          "typeString": "contract PandoKit"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 300,
                        "name": "dao",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 274,
                        "src": "3172:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Kernel_$10747",
                          "typeString": "contract Kernel"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 301,
                            "name": "dao",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 274,
                            "src": "3177:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Kernel_$10747",
                              "typeString": "contract Kernel"
                            }
                          },
                          "id": 302,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "APP_MANAGER_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 10281,
                          "src": "3177:20:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 303,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3177:22:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 304,
                        "name": "this",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12811,
                        "src": "3201:4:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_PandoKit_$768",
                          "typeString": "contract PandoKit"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_PandoKit_$768",
                          "typeString": "contract PandoKit"
                        },
                        {
                          "typeIdentifier": "t_contract$_Kernel_$10747",
                          "typeString": "contract Kernel"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_PandoKit_$768",
                          "typeString": "contract PandoKit"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 296,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "3145:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 298,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "createPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6082,
                      "src": "3145:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (address,address,bytes32,address) external"
                      }
                    },
                    "id": 305,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3145:61:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 306,
                  "nodeType": "ExpressionStatement",
                  "src": "3145:61:0"
                },
                {
                  "assignments": [
                    308
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 308,
                      "name": "vault",
                      "nodeType": "VariableDeclaration",
                      "scope": 767,
                      "src": "3233:11:0",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_Vault_$4917",
                        "typeString": "contract Vault"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 307,
                        "name": "Vault",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 4917,
                        "src": "3233:5:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vault_$4917",
                          "typeString": "contract Vault"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 327,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 312,
                              "name": "appIds",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 249,
                              "src": "3302:6:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes32_$5_memory_ptr",
                                "typeString": "bytes32[5] memory"
                              }
                            },
                            "id": 314,
                            "indexExpression": {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 313,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "3309:1:0",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "3302:9:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 316,
                                  "name": "appIds",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 249,
                                  "src": "3350:6:0",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_bytes32_$5_memory_ptr",
                                    "typeString": "bytes32[5] memory"
                                  }
                                },
                                "id": 318,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "hexValue": "30",
                                  "id": 317,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "3357:1:0",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "3350:9:0",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 315,
                              "name": "latestVersionAppBase",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 158,
                              "src": "3329:20:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
                                "typeString": "function (bytes32) view returns (address)"
                              }
                            },
                            "id": 319,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3329:31:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "hexValue": "30",
                                "id": 322,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "3388:1:0",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                }
                              ],
                              "id": 321,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "NewExpression",
                              "src": "3378:9:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$",
                                "typeString": "function (uint256) pure returns (bytes memory)"
                              },
                              "typeName": {
                                "id": 320,
                                "name": "bytes",
                                "nodeType": "ElementaryTypeName",
                                "src": "3382:5:0",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes_storage_ptr",
                                  "typeString": "bytes"
                                }
                              }
                            },
                            "id": 323,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3378:12:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory",
                              "typeString": "bytes memory"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "hexValue": "74727565",
                            "id": 324,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "bool",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3408:4:0",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "value": "true"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_bytes_memory",
                              "typeString": "bytes memory"
                            },
                            {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 310,
                            "name": "dao",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 274,
                            "src": "3266:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Kernel_$10747",
                              "typeString": "contract Kernel"
                            }
                          },
                          "id": 311,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "newAppInstance",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 10417,
                          "src": "3266:18:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_bool_$returns$_t_contract$_ERCProxy_$11872_$",
                            "typeString": "function (bytes32,address,bytes memory,bool) external returns (contract ERCProxy)"
                          }
                        },
                        "id": 325,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3266:160:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ERCProxy_$11872",
                          "typeString": "contract ERCProxy"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_ERCProxy_$11872",
                          "typeString": "contract ERCProxy"
                        }
                      ],
                      "id": 309,
                      "name": "Vault",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4917,
                      "src": "3247:5:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_contract$_Vault_$4917_$",
                        "typeString": "type(contract Vault)"
                      }
                    },
                    "id": 326,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3247:189:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_Vault_$4917",
                      "typeString": "contract Vault"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3233:203:0"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 329,
                        "name": "vault",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 308,
                        "src": "3464:5:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vault_$4917",
                          "typeString": "contract Vault"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 330,
                          "name": "appIds",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 249,
                          "src": "3471:6:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_bytes32_$5_memory_ptr",
                            "typeString": "bytes32[5] memory"
                          }
                        },
                        "id": 332,
                        "indexExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 331,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "3478:1:0",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "3471:9:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Vault_$4917",
                          "typeString": "contract Vault"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 328,
                      "name": "InstalledApp",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 84,
                      "src": "3451:12:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$returns$__$",
                        "typeString": "function (address,bytes32)"
                      }
                    },
                    "id": 333,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3451:30:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 334,
                  "nodeType": "EmitStatement",
                  "src": "3446:35:0"
                },
                {
                  "assignments": [
                    336
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 336,
                      "name": "finance",
                      "nodeType": "VariableDeclaration",
                      "scope": 767,
                      "src": "3492:15:0",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_Finance_$2645",
                        "typeString": "contract Finance"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 335,
                        "name": "Finance",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 2645,
                        "src": "3492:7:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Finance_$2645",
                          "typeString": "contract Finance"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 350,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 340,
                              "name": "appIds",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 249,
                              "src": "3567:6:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes32_$5_memory_ptr",
                                "typeString": "bytes32[5] memory"
                              }
                            },
                            "id": 342,
                            "indexExpression": {
                              "argumentTypes": null,
                              "hexValue": "31",
                              "id": 341,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "3574:1:0",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_1_by_1",
                                "typeString": "int_const 1"
                              },
                              "value": "1"
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "3567:9:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 344,
                                  "name": "appIds",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 249,
                                  "src": "3615:6:0",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_bytes32_$5_memory_ptr",
                                    "typeString": "bytes32[5] memory"
                                  }
                                },
                                "id": 346,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "hexValue": "31",
                                  "id": 345,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "3622:1:0",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_1_by_1",
                                    "typeString": "int_const 1"
                                  },
                                  "value": "1"
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "3615:9:0",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 343,
                              "name": "latestVersionAppBase",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 158,
                              "src": "3594:20:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
                                "typeString": "function (bytes32) view returns (address)"
                              }
                            },
                            "id": 347,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3594:31:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 338,
                            "name": "dao",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 274,
                            "src": "3531:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Kernel_$10747",
                              "typeString": "contract Kernel"
                            }
                          },
                          "id": 339,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "newAppInstance",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 10373,
                          "src": "3531:18:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$_t_contract$_ERCProxy_$11872_$",
                            "typeString": "function (bytes32,address) external returns (contract ERCProxy)"
                          }
                        },
                        "id": 348,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3531:108:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ERCProxy_$11872",
                          "typeString": "contract ERCProxy"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_ERCProxy_$11872",
                          "typeString": "contract ERCProxy"
                        }
                      ],
                      "id": 337,
                      "name": "Finance",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2645,
                      "src": "3510:7:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_contract$_Finance_$2645_$",
                        "typeString": "type(contract Finance)"
                      }
                    },
                    "id": 349,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3510:139:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_Finance_$2645",
                      "typeString": "contract Finance"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3492:157:0"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 352,
                        "name": "finance",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 336,
                        "src": "3677:7:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Finance_$2645",
                          "typeString": "contract Finance"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 353,
                          "name": "appIds",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 249,
                          "src": "3686:6:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_bytes32_$5_memory_ptr",
                            "typeString": "bytes32[5] memory"
                          }
                        },
                        "id": 355,
                        "indexExpression": {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 354,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "3693:1:0",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "3686:9:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Finance_$2645",
                          "typeString": "contract Finance"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 351,
                      "name": "InstalledApp",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 84,
                      "src": "3664:12:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$returns$__$",
                        "typeString": "function (address,bytes32)"
                      }
                    },
                    "id": 356,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3664:32:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 357,
                  "nodeType": "EmitStatement",
                  "src": "3659:37:0"
                },
                {
                  "assignments": [
                    359
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 359,
                      "name": "tokenManager",
                      "nodeType": "VariableDeclaration",
                      "scope": 767,
                      "src": "3707:25:0",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_TokenManager_$4663",
                        "typeString": "contract TokenManager"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 358,
                        "name": "TokenManager",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 4663,
                        "src": "3707:12:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 373,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 363,
                              "name": "appIds",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 249,
                              "src": "3797:6:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes32_$5_memory_ptr",
                                "typeString": "bytes32[5] memory"
                              }
                            },
                            "id": 365,
                            "indexExpression": {
                              "argumentTypes": null,
                              "hexValue": "32",
                              "id": 364,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "3804:1:0",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_2_by_1",
                                "typeString": "int_const 2"
                              },
                              "value": "2"
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "3797:9:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 367,
                                  "name": "appIds",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 249,
                                  "src": "3845:6:0",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_bytes32_$5_memory_ptr",
                                    "typeString": "bytes32[5] memory"
                                  }
                                },
                                "id": 369,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "hexValue": "32",
                                  "id": 368,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "3852:1:0",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_2_by_1",
                                    "typeString": "int_const 2"
                                  },
                                  "value": "2"
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "3845:9:0",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 366,
                              "name": "latestVersionAppBase",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 158,
                              "src": "3824:20:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
                                "typeString": "function (bytes32) view returns (address)"
                              }
                            },
                            "id": 370,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3824:31:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 361,
                            "name": "dao",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 274,
                            "src": "3761:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Kernel_$10747",
                              "typeString": "contract Kernel"
                            }
                          },
                          "id": 362,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "newAppInstance",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 10373,
                          "src": "3761:18:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$_t_contract$_ERCProxy_$11872_$",
                            "typeString": "function (bytes32,address) external returns (contract ERCProxy)"
                          }
                        },
                        "id": 371,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3761:108:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ERCProxy_$11872",
                          "typeString": "contract ERCProxy"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_ERCProxy_$11872",
                          "typeString": "contract ERCProxy"
                        }
                      ],
                      "id": 360,
                      "name": "TokenManager",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4663,
                      "src": "3735:12:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_contract$_TokenManager_$4663_$",
                        "typeString": "type(contract TokenManager)"
                      }
                    },
                    "id": 372,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3735:144:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_TokenManager_$4663",
                      "typeString": "contract TokenManager"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3707:172:0"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 375,
                        "name": "tokenManager",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 359,
                        "src": "3907:12:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 376,
                          "name": "appIds",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 249,
                          "src": "3921:6:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_bytes32_$5_memory_ptr",
                            "typeString": "bytes32[5] memory"
                          }
                        },
                        "id": 378,
                        "indexExpression": {
                          "argumentTypes": null,
                          "hexValue": "32",
                          "id": 377,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "3928:1:0",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_2_by_1",
                            "typeString": "int_const 2"
                          },
                          "value": "2"
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "3921:9:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 374,
                      "name": "InstalledApp",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 84,
                      "src": "3894:12:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$returns$__$",
                        "typeString": "function (address,bytes32)"
                      }
                    },
                    "id": 379,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3894:37:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 380,
                  "nodeType": "EmitStatement",
                  "src": "3889:42:0"
                },
                {
                  "assignments": [
                    382
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 382,
                      "name": "metavoting",
                      "nodeType": "VariableDeclaration",
                      "scope": 767,
                      "src": "3942:17:0",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_Voting_$5862",
                        "typeString": "contract Voting"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 381,
                        "name": "Voting",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 5862,
                        "src": "3942:6:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 396,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 386,
                              "name": "appIds",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 249,
                              "src": "4018:6:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes32_$5_memory_ptr",
                                "typeString": "bytes32[5] memory"
                              }
                            },
                            "id": 388,
                            "indexExpression": {
                              "argumentTypes": null,
                              "hexValue": "33",
                              "id": 387,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "4025:1:0",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_3_by_1",
                                "typeString": "int_const 3"
                              },
                              "value": "3"
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "4018:9:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 390,
                                  "name": "appIds",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 249,
                                  "src": "4066:6:0",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_bytes32_$5_memory_ptr",
                                    "typeString": "bytes32[5] memory"
                                  }
                                },
                                "id": 392,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "hexValue": "33",
                                  "id": 391,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "4073:1:0",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_3_by_1",
                                    "typeString": "int_const 3"
                                  },
                                  "value": "3"
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "4066:9:0",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 389,
                              "name": "latestVersionAppBase",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 158,
                              "src": "4045:20:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
                                "typeString": "function (bytes32) view returns (address)"
                              }
                            },
                            "id": 393,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4045:31:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 384,
                            "name": "dao",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 274,
                            "src": "3982:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Kernel_$10747",
                              "typeString": "contract Kernel"
                            }
                          },
                          "id": 385,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "newAppInstance",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 10373,
                          "src": "3982:18:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$_t_contract$_ERCProxy_$11872_$",
                            "typeString": "function (bytes32,address) external returns (contract ERCProxy)"
                          }
                        },
                        "id": 394,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3982:108:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ERCProxy_$11872",
                          "typeString": "contract ERCProxy"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_ERCProxy_$11872",
                          "typeString": "contract ERCProxy"
                        }
                      ],
                      "id": 383,
                      "name": "Voting",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5862,
                      "src": "3962:6:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_contract$_Voting_$5862_$",
                        "typeString": "type(contract Voting)"
                      }
                    },
                    "id": 395,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3962:138:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_Voting_$5862",
                      "typeString": "contract Voting"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3942:158:0"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 398,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "4128:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 399,
                          "name": "appIds",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 249,
                          "src": "4140:6:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_bytes32_$5_memory_ptr",
                            "typeString": "bytes32[5] memory"
                          }
                        },
                        "id": 401,
                        "indexExpression": {
                          "argumentTypes": null,
                          "hexValue": "33",
                          "id": 400,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "4147:1:0",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_3_by_1",
                            "typeString": "int_const 3"
                          },
                          "value": "3"
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "4140:9:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 397,
                      "name": "InstalledApp",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 84,
                      "src": "4115:12:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$returns$__$",
                        "typeString": "function (address,bytes32)"
                      }
                    },
                    "id": 402,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4115:35:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 403,
                  "nodeType": "EmitStatement",
                  "src": "4110:40:0"
                },
                {
                  "assignments": [
                    405
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 405,
                      "name": "colony",
                      "nodeType": "VariableDeclaration",
                      "scope": 767,
                      "src": "4161:18:0",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_PandoColony_$12133",
                        "typeString": "contract PandoColony"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 404,
                        "name": "PandoColony",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 12133,
                        "src": "4161:11:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_PandoColony_$12133",
                          "typeString": "contract PandoColony"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 419,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 409,
                              "name": "appIds",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 249,
                              "src": "4243:6:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes32_$5_memory_ptr",
                                "typeString": "bytes32[5] memory"
                              }
                            },
                            "id": 411,
                            "indexExpression": {
                              "argumentTypes": null,
                              "hexValue": "34",
                              "id": 410,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "4250:1:0",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_4_by_1",
                                "typeString": "int_const 4"
                              },
                              "value": "4"
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "4243:9:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 413,
                                  "name": "appIds",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 249,
                                  "src": "4291:6:0",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_bytes32_$5_memory_ptr",
                                    "typeString": "bytes32[5] memory"
                                  }
                                },
                                "id": 415,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "hexValue": "34",
                                  "id": 414,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "4298:1:0",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_4_by_1",
                                    "typeString": "int_const 4"
                                  },
                                  "value": "4"
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "4291:9:0",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 412,
                              "name": "latestVersionAppBase",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 158,
                              "src": "4270:20:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$",
                                "typeString": "function (bytes32) view returns (address)"
                              }
                            },
                            "id": 416,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4270:31:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 407,
                            "name": "dao",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 274,
                            "src": "4207:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Kernel_$10747",
                              "typeString": "contract Kernel"
                            }
                          },
                          "id": 408,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "newAppInstance",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 10373,
                          "src": "4207:18:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$returns$_t_contract$_ERCProxy_$11872_$",
                            "typeString": "function (bytes32,address) external returns (contract ERCProxy)"
                          }
                        },
                        "id": 417,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4207:108:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ERCProxy_$11872",
                          "typeString": "contract ERCProxy"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_ERCProxy_$11872",
                          "typeString": "contract ERCProxy"
                        }
                      ],
                      "id": 406,
                      "name": "PandoColony",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 12133,
                      "src": "4182:11:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_contract$_PandoColony_$12133_$",
                        "typeString": "type(contract PandoColony)"
                      }
                    },
                    "id": 418,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4182:143:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_PandoColony_$12133",
                      "typeString": "contract PandoColony"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4161:164:0"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 421,
                        "name": "colony",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 405,
                        "src": "4353:6:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_PandoColony_$12133",
                          "typeString": "contract PandoColony"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 422,
                          "name": "appIds",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 249,
                          "src": "4361:6:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_bytes32_$5_memory_ptr",
                            "typeString": "bytes32[5] memory"
                          }
                        },
                        "id": 424,
                        "indexExpression": {
                          "argumentTypes": null,
                          "hexValue": "34",
                          "id": 423,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "4368:1:0",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_4_by_1",
                            "typeString": "int_const 4"
                          },
                          "value": "4"
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "4361:9:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_PandoColony_$12133",
                          "typeString": "contract PandoColony"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 420,
                      "name": "InstalledApp",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 84,
                      "src": "4340:12:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$returns$__$",
                        "typeString": "function (address,bytes32)"
                      }
                    },
                    "id": 425,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4340:31:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 426,
                  "nodeType": "EmitStatement",
                  "src": "4335:36:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 430,
                        "name": "colony",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 405,
                        "src": "4425:6:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_PandoColony_$12133",
                          "typeString": "contract PandoColony"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 431,
                        "name": "dao",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 274,
                        "src": "4433:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Kernel_$10747",
                          "typeString": "contract Kernel"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 432,
                            "name": "dao",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 274,
                            "src": "4438:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Kernel_$10747",
                              "typeString": "contract Kernel"
                            }
                          },
                          "id": 433,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "APP_MANAGER_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 10281,
                          "src": "4438:20:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 434,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4438:22:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_PandoColony_$12133",
                          "typeString": "contract PandoColony"
                        },
                        {
                          "typeIdentifier": "t_contract$_Kernel_$10747",
                          "typeString": "contract Kernel"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 427,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "4405:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 429,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "grantPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6103,
                      "src": "4405:19:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$",
                        "typeString": "function (address,address,bytes32) external"
                      }
                    },
                    "id": 435,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4405:56:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 436,
                  "nodeType": "ExpressionStatement",
                  "src": "4405:56:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 440,
                        "name": "colony",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 405,
                        "src": "4491:6:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_PandoColony_$12133",
                          "typeString": "contract PandoColony"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 441,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "4499:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 442,
                            "name": "acl",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 281,
                            "src": "4504:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ACL_$7166",
                              "typeString": "contract ACL"
                            }
                          },
                          "id": 443,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "CREATE_PERMISSIONS_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 5880,
                          "src": "4504:27:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 444,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4504:29:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_PandoColony_$12133",
                          "typeString": "contract PandoColony"
                        },
                        {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 437,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "4471:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 439,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "grantPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6103,
                      "src": "4471:19:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$",
                        "typeString": "function (address,address,bytes32) external"
                      }
                    },
                    "id": 445,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4471:63:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 446,
                  "nodeType": "ExpressionStatement",
                  "src": "4471:63:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 450,
                        "name": "finance",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 336,
                        "src": "4565:7:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Finance_$2645",
                          "typeString": "contract Finance"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 451,
                        "name": "vault",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 308,
                        "src": "4574:5:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vault_$4917",
                          "typeString": "contract Vault"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 452,
                            "name": "vault",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 308,
                            "src": "4581:5:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Vault_$4917",
                              "typeString": "contract Vault"
                            }
                          },
                          "id": 453,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "TRANSFER_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4680,
                          "src": "4581:19:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 454,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4581:21:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 455,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "4604:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Finance_$2645",
                          "typeString": "contract Finance"
                        },
                        {
                          "typeIdentifier": "t_contract$_Vault_$4917",
                          "typeString": "contract Vault"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 447,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "4544:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 449,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "createPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6082,
                      "src": "4544:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (address,address,bytes32,address) external"
                      }
                    },
                    "id": 456,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4544:71:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 457,
                  "nodeType": "ExpressionStatement",
                  "src": "4544:71:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 461,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "4646:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 462,
                        "name": "finance",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 336,
                        "src": "4658:7:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Finance_$2645",
                          "typeString": "contract Finance"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 463,
                            "name": "finance",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 336,
                            "src": "4667:7:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Finance_$2645",
                              "typeString": "contract Finance"
                            }
                          },
                          "id": 464,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "CREATE_PAYMENTS_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 860,
                          "src": "4667:28:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 465,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4667:30:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 466,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "4699:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_contract$_Finance_$2645",
                          "typeString": "contract Finance"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 458,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "4625:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 460,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "createPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6082,
                      "src": "4625:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (address,address,bytes32,address) external"
                      }
                    },
                    "id": 467,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4625:85:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 468,
                  "nodeType": "ExpressionStatement",
                  "src": "4625:85:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 472,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "4741:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 473,
                        "name": "finance",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 336,
                        "src": "4753:7:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Finance_$2645",
                          "typeString": "contract Finance"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 474,
                            "name": "finance",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 336,
                            "src": "4762:7:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Finance_$2645",
                              "typeString": "contract Finance"
                            }
                          },
                          "id": 475,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "EXECUTE_PAYMENTS_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 875,
                          "src": "4762:29:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 476,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4762:31:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 477,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "4795:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_contract$_Finance_$2645",
                          "typeString": "contract Finance"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 469,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "4720:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 471,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "createPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6082,
                      "src": "4720:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (address,address,bytes32,address) external"
                      }
                    },
                    "id": 478,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4720:86:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 479,
                  "nodeType": "ExpressionStatement",
                  "src": "4720:86:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 483,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "4837:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 484,
                        "name": "finance",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 336,
                        "src": "4849:7:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Finance_$2645",
                          "typeString": "contract Finance"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 485,
                            "name": "finance",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 336,
                            "src": "4858:7:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Finance_$2645",
                              "typeString": "contract Finance"
                            }
                          },
                          "id": 486,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "MANAGE_PAYMENTS_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 880,
                          "src": "4858:28:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 487,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4858:30:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 488,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "4890:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_contract$_Finance_$2645",
                          "typeString": "contract Finance"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 480,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "4816:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 482,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "createPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6082,
                      "src": "4816:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (address,address,bytes32,address) external"
                      }
                    },
                    "id": 489,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4816:85:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 490,
                  "nodeType": "ExpressionStatement",
                  "src": "4816:85:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 494,
                        "name": "this",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12811,
                        "src": "4932:4:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_PandoKit_$768",
                          "typeString": "contract PandoKit"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 495,
                        "name": "tokenManager",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 359,
                        "src": "4938:12:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 496,
                            "name": "tokenManager",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 359,
                            "src": "4952:12:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_TokenManager_$4663",
                              "typeString": "contract TokenManager"
                            }
                          },
                          "id": 497,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "MINT_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 3810,
                          "src": "4952:22:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 498,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4952:24:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 499,
                        "name": "this",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12811,
                        "src": "4978:4:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_PandoKit_$768",
                          "typeString": "contract PandoKit"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_PandoKit_$768",
                          "typeString": "contract PandoKit"
                        },
                        {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_PandoKit_$768",
                          "typeString": "contract PandoKit"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 491,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "4911:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 493,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "createPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6082,
                      "src": "4911:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (address,address,bytes32,address) external"
                      }
                    },
                    "id": 500,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4911:72:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 501,
                  "nodeType": "ExpressionStatement",
                  "src": "4911:72:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 505,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5014:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 506,
                        "name": "tokenManager",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 359,
                        "src": "5026:12:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 507,
                            "name": "tokenManager",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 359,
                            "src": "5040:12:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_TokenManager_$4663",
                              "typeString": "contract TokenManager"
                            }
                          },
                          "id": 508,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "ISSUE_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 3815,
                          "src": "5040:23:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 509,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5040:25:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 510,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5067:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 502,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "4993:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 504,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "createPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6082,
                      "src": "4993:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (address,address,bytes32,address) external"
                      }
                    },
                    "id": 511,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4993:85:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 512,
                  "nodeType": "ExpressionStatement",
                  "src": "4993:85:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 516,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5109:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 517,
                        "name": "tokenManager",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 359,
                        "src": "5121:12:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 518,
                            "name": "tokenManager",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 359,
                            "src": "5135:12:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_TokenManager_$4663",
                              "typeString": "contract TokenManager"
                            }
                          },
                          "id": 519,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "ASSIGN_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 3820,
                          "src": "5135:24:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 520,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5135:26:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 521,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5163:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 513,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "5088:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 515,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "createPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6082,
                      "src": "5088:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (address,address,bytes32,address) external"
                      }
                    },
                    "id": 522,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5088:86:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 523,
                  "nodeType": "ExpressionStatement",
                  "src": "5088:86:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 527,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5205:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 528,
                        "name": "tokenManager",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 359,
                        "src": "5217:12:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 529,
                            "name": "tokenManager",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 359,
                            "src": "5231:12:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_TokenManager_$4663",
                              "typeString": "contract TokenManager"
                            }
                          },
                          "id": 530,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "REVOKE_VESTINGS_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 3825,
                          "src": "5231:33:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 531,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5231:35:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 532,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5268:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 524,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "5184:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 526,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "createPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6082,
                      "src": "5184:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (address,address,bytes32,address) external"
                      }
                    },
                    "id": 533,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5184:95:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 534,
                  "nodeType": "ExpressionStatement",
                  "src": "5184:95:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 538,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5310:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 539,
                        "name": "tokenManager",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 359,
                        "src": "5322:12:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 540,
                            "name": "tokenManager",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 359,
                            "src": "5336:12:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_TokenManager_$4663",
                              "typeString": "contract TokenManager"
                            }
                          },
                          "id": 541,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "BURN_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 3830,
                          "src": "5336:22:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 542,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5336:24:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 543,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5362:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 535,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "5289:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 537,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "createPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6082,
                      "src": "5289:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (address,address,bytes32,address) external"
                      }
                    },
                    "id": 544,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5289:84:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 545,
                  "nodeType": "ExpressionStatement",
                  "src": "5289:84:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 549,
                        "name": "ANY_ENTITY",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 176,
                        "src": "5404:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 550,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5416:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 551,
                            "name": "metavoting",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 382,
                            "src": "5428:10:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Voting_$5862",
                              "typeString": "contract Voting"
                            }
                          },
                          "id": 552,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "CREATE_VOTES_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4939,
                          "src": "5428:28:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 553,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5428:30:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 554,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5460:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 546,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "5383:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 548,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "createPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6082,
                      "src": "5383:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (address,address,bytes32,address) external"
                      }
                    },
                    "id": 555,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5383:88:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 556,
                  "nodeType": "ExpressionStatement",
                  "src": "5383:88:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 560,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5502:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 561,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5514:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 562,
                            "name": "metavoting",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 382,
                            "src": "5526:10:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Voting_$5862",
                              "typeString": "contract Voting"
                            }
                          },
                          "id": 563,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "MODIFY_SUPPORT_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4944,
                          "src": "5526:30:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 564,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5526:32:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 565,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5560:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 557,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "5481:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 559,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "createPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6082,
                      "src": "5481:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (address,address,bytes32,address) external"
                      }
                    },
                    "id": 566,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5481:90:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 567,
                  "nodeType": "ExpressionStatement",
                  "src": "5481:90:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 571,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5602:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 572,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5614:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 573,
                            "name": "metavoting",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 382,
                            "src": "5626:10:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Voting_$5862",
                              "typeString": "contract Voting"
                            }
                          },
                          "id": 574,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "MODIFY_QUORUM_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4949,
                          "src": "5626:29:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 575,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5626:31:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 576,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5659:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 568,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "5581:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 570,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "createPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6082,
                      "src": "5581:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (address,address,bytes32,address) external"
                      }
                    },
                    "id": 577,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5581:89:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 578,
                  "nodeType": "ExpressionStatement",
                  "src": "5581:89:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 582,
                        "name": "ANY_ENTITY",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 176,
                        "src": "5701:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 583,
                        "name": "colony",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 405,
                        "src": "5713:6:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_PandoColony_$12133",
                          "typeString": "contract PandoColony"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 584,
                            "name": "colony",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 405,
                            "src": "5721:6:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_PandoColony_$12133",
                              "typeString": "contract PandoColony"
                            }
                          },
                          "id": 585,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "CREATE_REPOSITORY_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 11957,
                          "src": "5721:29:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 586,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5721:31:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 587,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5754:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_contract$_PandoColony_$12133",
                          "typeString": "contract PandoColony"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 579,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "5680:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 581,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "createPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6082,
                      "src": "5680:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (address,address,bytes32,address) external"
                      }
                    },
                    "id": 588,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5680:85:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 589,
                  "nodeType": "ExpressionStatement",
                  "src": "5680:85:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 593,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5796:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 594,
                        "name": "reg",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 289,
                        "src": "5808:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_EVMScriptRegistry_$9287",
                          "typeString": "contract EVMScriptRegistry"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 595,
                            "name": "reg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 289,
                            "src": "5813:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_EVMScriptRegistry_$9287",
                              "typeString": "contract EVMScriptRegistry"
                            }
                          },
                          "id": 596,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "REGISTRY_ADD_EXECUTOR_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 9084,
                          "src": "5813:30:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 597,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5813:32:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 598,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5847:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_contract$_EVMScriptRegistry_$9287",
                          "typeString": "contract EVMScriptRegistry"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 590,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "5775:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 592,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "createPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6082,
                      "src": "5775:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (address,address,bytes32,address) external"
                      }
                    },
                    "id": 599,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5775:83:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 600,
                  "nodeType": "ExpressionStatement",
                  "src": "5775:83:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 604,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5889:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 605,
                        "name": "reg",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 289,
                        "src": "5901:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_EVMScriptRegistry_$9287",
                          "typeString": "contract EVMScriptRegistry"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 606,
                            "name": "reg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 289,
                            "src": "5906:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_EVMScriptRegistry_$9287",
                              "typeString": "contract EVMScriptRegistry"
                            }
                          },
                          "id": 607,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "REGISTRY_MANAGER_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 9087,
                          "src": "5906:25:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 608,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5906:27:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 609,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "5935:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_contract$_EVMScriptRegistry_$9287",
                          "typeString": "contract EVMScriptRegistry"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 601,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "5868:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 603,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "createPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6082,
                      "src": "5868:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_address_$returns$__$",
                        "typeString": "function (address,address,bytes32,address) external"
                      }
                    },
                    "id": 610,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5868:78:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 611,
                  "nodeType": "ExpressionStatement",
                  "src": "5868:78:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 615,
                        "name": "tokenManager",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 359,
                        "src": "6007:12:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 612,
                        "name": "token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 242,
                        "src": "5984:5:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_MiniMeToken_$3743",
                          "typeString": "contract MiniMeToken"
                        }
                      },
                      "id": 614,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "changeController",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2714,
                      "src": "5984:22:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$",
                        "typeString": "function (address) external"
                      }
                    },
                    "id": 616,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5984:36:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 617,
                  "nodeType": "ExpressionStatement",
                  "src": "5984:36:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "argumentTypes": null,
                        "id": 618,
                        "name": "vault",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 308,
                        "src": "6030:5:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vault_$4917",
                          "typeString": "contract Vault"
                        }
                      },
                      "id": 620,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "initialize",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4754,
                      "src": "6030:16:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
                        "typeString": "function () external"
                      }
                    },
                    "id": 621,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6030:18:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 622,
                  "nodeType": "ExpressionStatement",
                  "src": "6030:18:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 626,
                        "name": "vault",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 308,
                        "src": "6077:5:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Vault_$4917",
                          "typeString": "contract Vault"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "3330",
                        "id": 627,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6084:7:0",
                        "subdenomination": "days",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_2592000_by_1",
                          "typeString": "int_const 2592000"
                        },
                        "value": "30"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Vault_$4917",
                          "typeString": "contract Vault"
                        },
                        {
                          "typeIdentifier": "t_rational_2592000_by_1",
                          "typeString": "int_const 2592000"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 623,
                        "name": "finance",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 336,
                        "src": "6058:7:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Finance_$2645",
                          "typeString": "contract Finance"
                        }
                      },
                      "id": 625,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "initialize",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 1232,
                      "src": "6058:18:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_contract$_Vault_$4917_$_t_uint64_$returns$__$",
                        "typeString": "function (contract Vault,uint64) external"
                      }
                    },
                    "id": 628,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6058:34:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 629,
                  "nodeType": "ExpressionStatement",
                  "src": "6058:34:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 633,
                        "name": "token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 242,
                        "src": "6126:5:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_MiniMeToken_$3743",
                          "typeString": "contract MiniMeToken"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "74727565",
                        "id": 634,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "bool",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6133:4:0",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "value": "true"
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 635,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6139:1:0",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_MiniMeToken_$3743",
                          "typeString": "contract MiniMeToken"
                        },
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 630,
                        "name": "tokenManager",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 359,
                        "src": "6102:12:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        }
                      },
                      "id": 632,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "initialize",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 3986,
                      "src": "6102:23:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_contract$_MiniMeToken_$3743_$_t_bool_$_t_uint256_$returns$__$",
                        "typeString": "function (contract MiniMeToken,bool,uint256) external"
                      }
                    },
                    "id": 636,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6102:39:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 637,
                  "nodeType": "ExpressionStatement",
                  "src": "6102:39:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 641,
                        "name": "token",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 242,
                        "src": "6173:5:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_MiniMeToken_$3743",
                          "typeString": "contract MiniMeToken"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 645,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "hexValue": "3530",
                              "id": 643,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6187:2:0",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_50_by_1",
                                "typeString": "int_const 50"
                              },
                              "value": "50"
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "*",
                            "rightExpression": {
                              "argumentTypes": null,
                              "id": 644,
                              "name": "PCT",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 170,
                              "src": "6192:3:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "6187:8:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "id": 642,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "6180:6:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_uint64_$",
                            "typeString": "type(uint64)"
                          },
                          "typeName": "uint64"
                        },
                        "id": 646,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6180:16:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 650,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "hexValue": "3230",
                              "id": 648,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6205:2:0",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_20_by_1",
                                "typeString": "int_const 20"
                              },
                              "value": "20"
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "*",
                            "rightExpression": {
                              "argumentTypes": null,
                              "id": 649,
                              "name": "PCT",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 170,
                              "src": "6210:3:0",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "6205:8:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "id": 647,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "6198:6:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_uint64_$",
                            "typeString": "type(uint64)"
                          },
                          "typeName": "uint64"
                        },
                        "id": 651,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6198:16:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 652,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6216:6:0",
                        "subdenomination": "days",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_86400_by_1",
                          "typeString": "int_const 86400"
                        },
                        "value": "1"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_MiniMeToken_$3743",
                          "typeString": "contract MiniMeToken"
                        },
                        {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        },
                        {
                          "typeIdentifier": "t_uint64",
                          "typeString": "uint64"
                        },
                        {
                          "typeIdentifier": "t_rational_86400_by_1",
                          "typeString": "int_const 86400"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 638,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "6151:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      "id": 640,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "initialize",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 5115,
                      "src": "6151:21:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_contract$_MiniMeToken_$3743_$_t_uint64_$_t_uint64_$_t_uint64_$returns$__$",
                        "typeString": "function (contract MiniMeToken,uint64,uint64,uint64) external"
                      }
                    },
                    "id": 653,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6151:72:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 654,
                  "nodeType": "ExpressionStatement",
                  "src": "6151:72:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 658,
                        "name": "ens",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 72,
                        "src": "6251:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ENS_$11104",
                          "typeString": "contract ENS"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 659,
                        "name": "devchain",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 163,
                        "src": "6256:8:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_ENS_$11104",
                          "typeString": "contract ENS"
                        },
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 655,
                        "name": "colony",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 405,
                        "src": "6233:6:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_PandoColony_$12133",
                          "typeString": "contract PandoColony"
                        }
                      },
                      "id": 657,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "initialize",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 11993,
                      "src": "6233:17:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_contract$_ENS_$11104_$_t_bool_$returns$__$",
                        "typeString": "function (contract ENS,bool) external"
                      }
                    },
                    "id": 660,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6233:32:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 661,
                  "nodeType": "ExpressionStatement",
                  "src": "6233:32:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 665,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 12670,
                          "src": "6316:3:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 666,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "6316:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "31",
                            "id": 668,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "6336:1:0",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_1_by_1",
                              "typeString": "int_const 1"
                            },
                            "value": "1"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_rational_1_by_1",
                              "typeString": "int_const 1"
                            }
                          ],
                          "id": 667,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "6328:7:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_uint256_$",
                            "typeString": "type(uint256)"
                          },
                          "typeName": "uint256"
                        },
                        "id": 669,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6328:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 662,
                        "name": "tokenManager",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 359,
                        "src": "6298:12:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        }
                      },
                      "id": 664,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "mint",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4014,
                      "src": "6298:17:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256) external"
                      }
                    },
                    "id": 670,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6298:41:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 671,
                  "nodeType": "ExpressionStatement",
                  "src": "6298:41:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 675,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "6401:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 676,
                        "name": "dao",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 274,
                        "src": "6413:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Kernel_$10747",
                          "typeString": "contract Kernel"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 677,
                            "name": "dao",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 274,
                            "src": "6418:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Kernel_$10747",
                              "typeString": "contract Kernel"
                            }
                          },
                          "id": 678,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "APP_MANAGER_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 10281,
                          "src": "6418:20:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 679,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6418:22:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_contract$_Kernel_$10747",
                          "typeString": "contract Kernel"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 672,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "6381:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 674,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "grantPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6103,
                      "src": "6381:19:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$",
                        "typeString": "function (address,address,bytes32) external"
                      }
                    },
                    "id": 680,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6381:60:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 681,
                  "nodeType": "ExpressionStatement",
                  "src": "6381:60:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 685,
                        "name": "this",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12811,
                        "src": "6472:4:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_PandoKit_$768",
                          "typeString": "contract PandoKit"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 686,
                        "name": "dao",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 274,
                        "src": "6478:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Kernel_$10747",
                          "typeString": "contract Kernel"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 687,
                            "name": "dao",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 274,
                            "src": "6483:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Kernel_$10747",
                              "typeString": "contract Kernel"
                            }
                          },
                          "id": 688,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "APP_MANAGER_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 10281,
                          "src": "6483:20:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 689,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6483:22:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_PandoKit_$768",
                          "typeString": "contract PandoKit"
                        },
                        {
                          "typeIdentifier": "t_contract$_Kernel_$10747",
                          "typeString": "contract Kernel"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 682,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "6451:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 684,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "revokePermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6160,
                      "src": "6451:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$",
                        "typeString": "function (address,address,bytes32) external"
                      }
                    },
                    "id": 690,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6451:55:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 691,
                  "nodeType": "ExpressionStatement",
                  "src": "6451:55:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 695,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "6541:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 696,
                        "name": "dao",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 274,
                        "src": "6553:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Kernel_$10747",
                          "typeString": "contract Kernel"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 697,
                            "name": "dao",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 274,
                            "src": "6558:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Kernel_$10747",
                              "typeString": "contract Kernel"
                            }
                          },
                          "id": 698,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "APP_MANAGER_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 10281,
                          "src": "6558:20:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 699,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6558:22:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_contract$_Kernel_$10747",
                          "typeString": "contract Kernel"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 692,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "6516:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 694,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "setPermissionManager",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6180,
                      "src": "6516:24:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$",
                        "typeString": "function (address,address,bytes32) external"
                      }
                    },
                    "id": 700,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6516:65:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 701,
                  "nodeType": "ExpressionStatement",
                  "src": "6516:65:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 705,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "6611:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 706,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "6623:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 707,
                            "name": "acl",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 281,
                            "src": "6628:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ACL_$7166",
                              "typeString": "contract ACL"
                            }
                          },
                          "id": 708,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "CREATE_PERMISSIONS_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 5880,
                          "src": "6628:27:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 709,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6628:29:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 702,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "6591:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 704,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "grantPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6103,
                      "src": "6591:19:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$",
                        "typeString": "function (address,address,bytes32) external"
                      }
                    },
                    "id": 710,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6591:67:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 711,
                  "nodeType": "ExpressionStatement",
                  "src": "6591:67:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 715,
                        "name": "this",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12811,
                        "src": "6689:4:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_PandoKit_$768",
                          "typeString": "contract PandoKit"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 716,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "6695:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 717,
                            "name": "acl",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 281,
                            "src": "6700:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ACL_$7166",
                              "typeString": "contract ACL"
                            }
                          },
                          "id": 718,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "CREATE_PERMISSIONS_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 5880,
                          "src": "6700:27:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 719,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6700:29:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_PandoKit_$768",
                          "typeString": "contract PandoKit"
                        },
                        {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 712,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "6668:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 714,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "revokePermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6160,
                      "src": "6668:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$",
                        "typeString": "function (address,address,bytes32) external"
                      }
                    },
                    "id": 720,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6668:62:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 721,
                  "nodeType": "ExpressionStatement",
                  "src": "6668:62:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 725,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "6765:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 726,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "6777:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 727,
                            "name": "acl",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 281,
                            "src": "6782:3:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ACL_$7166",
                              "typeString": "contract ACL"
                            }
                          },
                          "id": 728,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "CREATE_PERMISSIONS_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 5880,
                          "src": "6782:27:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 729,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6782:29:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 722,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "6740:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 724,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "setPermissionManager",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6180,
                      "src": "6740:24:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$",
                        "typeString": "function (address,address,bytes32) external"
                      }
                    },
                    "id": 730,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6740:72:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 731,
                  "nodeType": "ExpressionStatement",
                  "src": "6740:72:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 735,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "6842:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 736,
                        "name": "tokenManager",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 359,
                        "src": "6854:12:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 737,
                            "name": "tokenManager",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 359,
                            "src": "6868:12:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_TokenManager_$4663",
                              "typeString": "contract TokenManager"
                            }
                          },
                          "id": 738,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "MINT_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 3810,
                          "src": "6868:22:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 739,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6868:24:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 732,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "6822:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 734,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "grantPermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6103,
                      "src": "6822:19:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$",
                        "typeString": "function (address,address,bytes32) external"
                      }
                    },
                    "id": 740,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6822:71:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 741,
                  "nodeType": "ExpressionStatement",
                  "src": "6822:71:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 745,
                        "name": "this",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12811,
                        "src": "6924:4:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_PandoKit_$768",
                          "typeString": "contract PandoKit"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 746,
                        "name": "tokenManager",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 359,
                        "src": "6930:12:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 747,
                            "name": "tokenManager",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 359,
                            "src": "6944:12:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_TokenManager_$4663",
                              "typeString": "contract TokenManager"
                            }
                          },
                          "id": 748,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "MINT_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 3810,
                          "src": "6944:22:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 749,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6944:24:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_PandoKit_$768",
                          "typeString": "contract PandoKit"
                        },
                        {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 742,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "6903:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 744,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "revokePermission",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6160,
                      "src": "6903:20:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$",
                        "typeString": "function (address,address,bytes32) external"
                      }
                    },
                    "id": 750,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6903:66:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 751,
                  "nodeType": "ExpressionStatement",
                  "src": "6903:66:0"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 755,
                        "name": "metavoting",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 382,
                        "src": "7004:10:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 756,
                        "name": "tokenManager",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 359,
                        "src": "7016:12:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 757,
                            "name": "tokenManager",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 359,
                            "src": "7030:12:0",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_TokenManager_$4663",
                              "typeString": "contract TokenManager"
                            }
                          },
                          "id": 758,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "MINT_ROLE",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 3810,
                          "src": "7030:22:0",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                            "typeString": "function () view external returns (bytes32)"
                          }
                        },
                        "id": 759,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "7030:24:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Voting_$5862",
                          "typeString": "contract Voting"
                        },
                        {
                          "typeIdentifier": "t_contract$_TokenManager_$4663",
                          "typeString": "contract TokenManager"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 752,
                        "name": "acl",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 281,
                        "src": "6979:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_ACL_$7166",
                          "typeString": "contract ACL"
                        }
                      },
                      "id": 754,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "setPermissionManager",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6180,
                      "src": "6979:24:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes32_$returns$__$",
                        "typeString": "function (address,address,bytes32) external"
                      }
                    },
                    "id": 760,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6979:76:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 761,
                  "nodeType": "ExpressionStatement",
                  "src": "6979:76:0"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 763,
                        "name": "dao",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 274,
                        "src": "7086:3:0",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_Kernel_$10747",
                          "typeString": "contract Kernel"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_Kernel_$10747",
                          "typeString": "contract Kernel"
                        }
                      ],
                      "id": 762,
                      "name": "DeployInstance",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 78,
                      "src": "7071:14:0",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$",
                        "typeString": "function (address)"
                      }
                    },
                    "id": 764,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7071:19:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 765,
                  "nodeType": "EmitStatement",
                  "src": "7066:24:0"
                }
              ]
            },
            "documentation": null,
            "id": 767,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "newInstance",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 243,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 242,
                  "name": "token",
                  "nodeType": "VariableDeclaration",
                  "scope": 767,
                  "src": "2603:17:0",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_MiniMeToken_$3743",
                    "typeString": "contract MiniMeToken"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 241,
                    "name": "MiniMeToken",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 3743,
                    "src": "2603:11:0",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_MiniMeToken_$3743",
                      "typeString": "contract MiniMeToken"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2602:19:0"
            },
            "payable": false,
            "returnParameters": {
              "id": 244,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2631:0:0"
            },
            "scope": 768,
            "src": "2582:4515:0",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          }
        ],
        "scope": 769,
        "src": "1908:5191:0"
      }
    ],
    "src": "0:7100:0"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.24+commit.e67f0147.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "3.0.1",
  "updatedAt": "2019-03-29T09:45:33.378Z",
  "devdoc": {
    "methods": {}
  },
  "userdoc": {
    "methods": {}
  }
}