{
  "contractName": "MyBalanceWidgetRenderer",
  "abi": [
    {
      "constant": true,
      "inputs": [],
      "name": "MY_BALANCE",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "SHORT_DESC",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "LONG_DESC",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "locale",
          "type": "string"
        },
        {
          "name": "key",
          "type": "string"
        },
        {
          "name": "value",
          "type": "string"
        }
      ],
      "name": "setResource",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "locale",
          "type": "string"
        },
        {
          "name": "key",
          "type": "string"
        }
      ],
      "name": "resource",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "previousOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipRenounced",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_locale",
          "type": "string"
        },
        {
          "name": "_token",
          "type": "address"
        }
      ],
      "name": "render",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405260008054600160a060020a03191633179055612047806100256000396000f3006080604052600436106100985763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416632e34ed4e811461009d578063715018a6146101275780638b5827121461013e5780638da5cb5b14610153578063ac5c6e1214610184578063ca1a70be14610199578063ed3487fe146101fd578063f2fde38b146102d2578063f65a5c1b146102f3575b600080fd5b3480156100a957600080fd5b506100b261038a565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100ec5781810151838201526020016100d4565b50505050905090810190601f1680156101195780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561013357600080fd5b5061013c6103af565b005b34801561014a57600080fd5b506100b261041b565b34801561015f57600080fd5b50610168610452565b60408051600160a060020a039092168252519081900360200190f35b34801561019057600080fd5b506100b2610461565b3480156101a557600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526100b294369492936024939284019190819084018382808284375094975050509235600160a060020a0316935061049892505050565b34801561020957600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261013c94369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750610c219650505050505050565b3480156102de57600080fd5b5061013c600160a060020a0360043516610d0e565b3480156102ff57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526100b294369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750610d319650505050505050565b60408051808201909152600a8152600080516020611ffc833981519152602082015281565b600054600160a060020a031633146103c657600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b60408051808201909152600a81527f73686f72745f6465736300000000000000000000000000000000000000000000602082015281565b600054600160a060020a031681565b60408051808201909152600981527f6c6f6e675f646573630000000000000000000000000000000000000000000000602082015281565b6060806104a3611e4c565b60408051600180825281830190925290816020015b6104c0611e7c565b8152602001906001900390816104b857905050915060e0604051908101604052806001151581526020016040805190810160405280600a8152602001600080516020611ffc83398151915281525081526020016040805190810160405280600381526020017f657468000000000000000000000000000000000000000000000000000000000081525081526020016001876040518082805190602001908083835b602083106105805780518252601f199092019160209182019101610561565b51815160209384036101000a60001901801990921691161790529201948552506040805194859003820185208582018252600a808752600080516020611ffc83398151915293870193845291519095945092508291908083835b602083106105f95780518252601f1990920191602091820191016105da565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f60026001831615909802909501169590950492830182900482028801820190528187529294509250508301828280156106ad5780601f10610682576101008083540402835291602001916106ad565b820191906000526020600020905b81548152906001019060200180831161069057829003601f168201915b5050505050815260200161075f86600160a060020a03166370a08231326040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b15801561072e57600080fd5b505af1158015610742573d6000803e3d6000fd5b505050506040513d602081101561075857600080fd5b5051610e82565b815260200161076c610fe1565b8152602001610779611034565b905282518390600090811061078a57fe5b9060200190602002018190525060a0604051908101604052806001876040518082805190602001908083835b602083106107d55780518252601f1990920191602091820191016107b6565b51815160209384036101000a60001901801990921691161790529201948552506040805194859003820185208582018252600a808752600080516020611ffc83398151915293870193845291519095945092508291908083835b6020831061084e5780518252601f19909201916020918201910161082f565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f60026001831615909802909501169590950492830182900482028801820190528187529294509250508301828280156109025780601f106108d757610100808354040283529160200191610902565b820191906000526020600020905b8154815290600101906020018083116108e557829003601f168201915b505050505081526020016001876040518082805190602001908083835b6020831061093e5780518252601f19909201916020918201910161091f565b51815160209384036101000a60001901801990921691161790529201948552506040805194859003820185208582018252600a8087527f73686f72745f646573630000000000000000000000000000000000000000000093870193845291519095945092508291908083835b602083106109c95780518252601f1990920191602091820191016109aa565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f6002600183161590980290950116959095049283018290048202880182019052818752929450925050830182828015610a7d5780601f10610a5257610100808354040283529160200191610a7d565b820191906000526020600020905b815481529060010190602001808311610a6057829003601f168201915b505050505081526020016001876040518082805190602001908083835b60208310610ab95780518252601f199092019160209182019101610a9a565b51815160209384036101000a6000190180199092169116179052920194855250604080519485900382018520858201825260098087527f6c6f6e675f64657363000000000000000000000000000000000000000000000093870193845291519095945092508291908083835b60208310610b445780518252601f199092019160209182019101610b25565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f6002600183161590980290950116959095049283018290048202880182019052818752929450925050830182828015610bf85780601f10610bcd57610100808354040283529160200191610bf8565b820191906000526020600020905b815481529060010190602001808311610bdb57829003601f168201915b5050505050815260200160048152602001838152509050610c18816110c1565b95945050505050565b600054600160a060020a03163314610c3857600080fd5b806001846040518082805190602001908083835b60208310610c6b5780518252601f199092019160209182019101610c4c565b51815160209384036101000a6000190180199092169116179052920194855250604051938490038101842087519094889450925082918401908083835b60208310610cc75780518252601f199092019160209182019101610ca8565b51815160209384036101000a60001901801990921691161790529201948552506040519384900381019093208451610d089591949190910192509050611ec8565b50505050565b600054600160a060020a03163314610d2557600080fd5b610d2e8161132f565b50565b60606001836040518082805190602001908083835b60208310610d655780518252601f199092019160209182019101610d46565b51815160209384036101000a6000190180199092169116179052920194855250604051938490038101842086519094879450925082918401908083835b60208310610dc15780518252601f199092019160209182019101610da2565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f6002600183161590980290950116959095049283018290048202880182019052818752929450925050830182828015610e755780601f10610e4a57610100808354040283529160200191610e75565b820191906000526020600020905b815481529060010190602001808311610e5857829003601f168201915b5050505050905092915050565b60608060008181851515610ecb5760408051808201909152600181527f300000000000000000000000000000000000000000000000000000000000000060208201529450610fd8565b6040805160208082528183019092529080820161040080388339019050509350600092505b6000861115610f3d57600a860660300160f860020a028484815181101515610f1457fe5b906020010190600160f860020a031916908160001a905350600a86049550600190920191610ef0565b60408051848152601f19601f86011681016020019091526000198401938015610f70578160200160208202803883390190505b509150600090505b8151811015610fd457835160001984019385918110610f9357fe5b90602001015160f860020a900460f860020a028282815181101515610fb457fe5b906020010190600160f860020a031916908160001a905350600101610f78565b8194505b50505050919050565b610fe9611f46565b506040805160a0810182526000808252602080830182905283518082018552828152838501528351808201855282815260608401528351908101909352825260808101919091525b90565b61103c611f73565b6040805160608101825260008082528251818152602081810190945291928301919061107e565b61106b611f97565b8152602001906001900390816110635790505b50815260200160006040519080825280602002602001820160405280156110b957816020015b60608152602001906001900390816110a45790505b509052905090565b60408051808201909152600a81527f7b227469746c65223a220000000000000000000000000000000000000000000060208201528151606091906000906111209061110b906113ac565b611114846113ac565b9063ffffffff6113d516565b915061116361110b6040805190810160405280600f81526020017f222c2273686f727444657363223a2200000000000000000000000000000000008152506113ac565b915061117561110b85602001516113ac565b91506111b861110b6040805190810160405280600e81526020017f222c226c6f6e6744657363223a220000000000000000000000000000000000008152506113ac565b91506111ca61110b85604001516113ac565b915061120d61110b6040805190810160405280600a81526020017f222c227769647468223a000000000000000000000000000000000000000000008152506113ac565b915061122761110b6112228660600151610e82565b6113ac565b915061126a61110b6040805190810160405280600d81526020017f2c22656c656d656e7473223a5b000000000000000000000000000000000000008152506113ac565b9150600090505b8360800151518110156112e65760008111156112b2576112af61110b60408051908101604052806001815260200160fa60020a600b028152506113ac565b91505b6112dc61110b6112228660800151848151811015156112cd57fe5b9060200190602002015161144c565b9150600101611271565b61132761110b6040805190810160405280600281526020017f5d7d0000000000000000000000000000000000000000000000000000000000008152506113ac565b949350505050565b600160a060020a038116151561134457600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6113b4611fca565b50604080518082019091528151815260208281019082018190525b50919050565b606080600083600001518560000151016040519080825280601f01601f191660200182016040528015611412578160200160208202803883390190505b50915060208201905061142e818660200151876000015161173a565b845160208501518551611444928401919061173a565b509392505050565b6060808260000151156116ff576040805190810160405280600781526020017f7b226964223a220000000000000000000000000000000000000000000000000081525090506114aa6114a184602001516113ac565b611114836113ac565b90506114ed6114a16040805190810160405280600181526020017f22000000000000000000000000000000000000000000000000000000000000008152506113ac565b60a084015151909150156115545761153c6114a16040805190810160405280600b81526020017f2c2022616374696f6e223a0000000000000000000000000000000000000000008152506113ac565b90506115516114a16112228560a0015161177e565b90505b60c083015151156115b8576115a06114a16040805190810160405280600a81526020017f2c20227461626c65223a000000000000000000000000000000000000000000008152506113ac565b90506115b56114a16112228560c00151611921565b90505b6115f96114a16040805190810160405280600981526020017f2c2274797065223a2200000000000000000000000000000000000000000000008152506113ac565b905061160b6114a184604001516113ac565b905061164e6114a16040805190810160405280600b81526020017f222c226c6162656c223a220000000000000000000000000000000000000000008152506113ac565b90506116606114a184606001516113ac565b90506116a36114a16040805190810160405280600981526020017f222c2264617461223a00000000000000000000000000000000000000000000008152506113ac565b90506116b56114a184608001516113ac565b90506116f86114a16040805190810160405280600181526020017f7d000000000000000000000000000000000000000000000000000000000000008152506113ac565b91506113cf565b60408051808201909152600481527f6e756c6c00000000000000000000000000000000000000000000000000000000602082015291506113cf565b60005b6020821061175f578251845260209384019390920191601f199091019061173d565b50905182516020929092036101000a6000190180199091169116179052565b6060808260000151156116ff576040805190810160405280600c81526020017f7b2261646472657373223a22000000000000000000000000000000000000000081525090506117df6114a16112228560200151600160a060020a0316611b38565b90506118226114a16040805190810160405280601681526020017f222c2266756e6374696f6e53656c6563746f72223a22000000000000000000008152506113ac565b90506118346114a184604001516113ac565b90506118776114a16040805190810160405280600e81526020017f222c22617267756d656e7473223a0000000000000000000000000000000000008152506113ac565b90506118896114a184606001516113ac565b90506118cc6114a16040805190810160405280600c81526020017f2c22636f6e6669726d223a2200000000000000000000000000000000000000008152506113ac565b90506118de6114a184608001516113ac565b90506116f86114a16040805190810160405280600281526020017f227d0000000000000000000000000000000000000000000000000000000000008152506113ac565b606080600080846000015115611af957505060408051808201909152600c81527f7b22636f6c756d6e73223a5b0000000000000000000000000000000000000000602082015290506000805b8460200151518110156119ef5760008211156119b7576119b46119ab60408051908101604052806001815260200160fa60020a600b028152506113ac565b611114856113ac565b92505b6119e16119ab6112228760200151848151811015156119d257fe5b90602001906020020151611c7b565b92506001918201910161196d565b611a306119ab6040805190810160405280600a81526020017f5d2c22726f7773223a5b000000000000000000000000000000000000000000008152506113ac565b925060009150600090505b846040015151811015611ab1576000821115611a7c57611a796119ab60408051908101604052806001815260200160fa60020a600b028152506113ac565b92505b611aa36119ab866040015183815181101515611a9457fe5b906020019060200201516113ac565b925060019182019101611a3b565b611af26119ab6040805190810160405280600281526020017f5d7d0000000000000000000000000000000000000000000000000000000000008152506113ac565b9350611b30565b60408051808201909152600481527f6e756c6c00000000000000000000000000000000000000000000000000000000602082015293505b505050919050565b60408051602a80825260608083019093528291600091829182916020820161054080388339505081519195507f3000000000000000000000000000000000000000000000000000000000000000918691506000908110611b9457fe5b906020010190600160f860020a031916908160001a90535083517f78000000000000000000000000000000000000000000000000000000000000009085906001908110611bdd57fe5b906020010190600160f860020a031916908160001a905350859250600091505b6028821015611c7157506030600f8316016039600160a060020a0382161115611c24576027015b8060f860020a028483602803600101815181101515611c3f57fe5b906020010190600160f860020a031916908160001a9053506010600160a060020a038416049250600190910190611bfd565b5091949350505050565b6060808260000151156116ff576040805190810160405280600781526020017f7b226964223a22000000000000000000000000000000000000000000000000008152509050611cd06114a184602001516113ac565b9050611d136114a16040805190810160405280600181526020017f22000000000000000000000000000000000000000000000000000000000000008152506113ac565b60808401515190915015611da457611d496114a160408051908101604052806001815260200160fa60020a600b028152506113ac565b9050611d8c6114a16040805190810160405280600981526020017f22616374696f6e223a00000000000000000000000000000000000000000000008152506113ac565b9050611da16114a1611222856080015161177e565b90505b611de56114a16040805190810160405280600981526020017f2c2274797065223a2200000000000000000000000000000000000000000000008152506113ac565b9050611df76114a184604001516113ac565b9050611e3a6114a16040805190810160405280600b81526020017f222c226c6162656c223a220000000000000000000000000000000000000000008152506113ac565b90506118de6114a184606001516113ac565b60a06040519081016040528060608152602001606081526020016060815260200160008152602001606081525090565b6101a06040519081016040528060001515815260200160608152602001606081526020016060815260200160608152602001611eb6611f46565b8152602001611ec3611f73565b905290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611f0957805160ff1916838001178555611f36565b82800160010185558215611f36579182015b82811115611f36578251825591602001919060010190611f1b565b50611f42929150611fe1565b5090565b6040805160a081018252600080825260208201526060918101829052818101829052608081019190915290565b60606040519081016040528060001515815260200160608152602001606081525090565b61012060405190810160405280600015158152602001606081526020016060815260200160608152602001611ec3611f46565b604080518082019091526000808252602082015290565b61103191905b80821115611f425760008155600101611fe756006d795f62616c616e636500000000000000000000000000000000000000000000a165627a7a723058208d453c0866a81d3671cbb06d5c8ea434e76b1fc3b6e7c6925fbe5da9d9617a170029",
  "deployedBytecode": "0x6080604052600436106100985763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416632e34ed4e811461009d578063715018a6146101275780638b5827121461013e5780638da5cb5b14610153578063ac5c6e1214610184578063ca1a70be14610199578063ed3487fe146101fd578063f2fde38b146102d2578063f65a5c1b146102f3575b600080fd5b3480156100a957600080fd5b506100b261038a565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100ec5781810151838201526020016100d4565b50505050905090810190601f1680156101195780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561013357600080fd5b5061013c6103af565b005b34801561014a57600080fd5b506100b261041b565b34801561015f57600080fd5b50610168610452565b60408051600160a060020a039092168252519081900360200190f35b34801561019057600080fd5b506100b2610461565b3480156101a557600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526100b294369492936024939284019190819084018382808284375094975050509235600160a060020a0316935061049892505050565b34801561020957600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261013c94369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750610c219650505050505050565b3480156102de57600080fd5b5061013c600160a060020a0360043516610d0e565b3480156102ff57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526100b294369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750610d319650505050505050565b60408051808201909152600a8152600080516020611ffc833981519152602082015281565b600054600160a060020a031633146103c657600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b60408051808201909152600a81527f73686f72745f6465736300000000000000000000000000000000000000000000602082015281565b600054600160a060020a031681565b60408051808201909152600981527f6c6f6e675f646573630000000000000000000000000000000000000000000000602082015281565b6060806104a3611e4c565b60408051600180825281830190925290816020015b6104c0611e7c565b8152602001906001900390816104b857905050915060e0604051908101604052806001151581526020016040805190810160405280600a8152602001600080516020611ffc83398151915281525081526020016040805190810160405280600381526020017f657468000000000000000000000000000000000000000000000000000000000081525081526020016001876040518082805190602001908083835b602083106105805780518252601f199092019160209182019101610561565b51815160209384036101000a60001901801990921691161790529201948552506040805194859003820185208582018252600a808752600080516020611ffc83398151915293870193845291519095945092508291908083835b602083106105f95780518252601f1990920191602091820191016105da565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f60026001831615909802909501169590950492830182900482028801820190528187529294509250508301828280156106ad5780601f10610682576101008083540402835291602001916106ad565b820191906000526020600020905b81548152906001019060200180831161069057829003601f168201915b5050505050815260200161075f86600160a060020a03166370a08231326040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b15801561072e57600080fd5b505af1158015610742573d6000803e3d6000fd5b505050506040513d602081101561075857600080fd5b5051610e82565b815260200161076c610fe1565b8152602001610779611034565b905282518390600090811061078a57fe5b9060200190602002018190525060a0604051908101604052806001876040518082805190602001908083835b602083106107d55780518252601f1990920191602091820191016107b6565b51815160209384036101000a60001901801990921691161790529201948552506040805194859003820185208582018252600a808752600080516020611ffc83398151915293870193845291519095945092508291908083835b6020831061084e5780518252601f19909201916020918201910161082f565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f60026001831615909802909501169590950492830182900482028801820190528187529294509250508301828280156109025780601f106108d757610100808354040283529160200191610902565b820191906000526020600020905b8154815290600101906020018083116108e557829003601f168201915b505050505081526020016001876040518082805190602001908083835b6020831061093e5780518252601f19909201916020918201910161091f565b51815160209384036101000a60001901801990921691161790529201948552506040805194859003820185208582018252600a8087527f73686f72745f646573630000000000000000000000000000000000000000000093870193845291519095945092508291908083835b602083106109c95780518252601f1990920191602091820191016109aa565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f6002600183161590980290950116959095049283018290048202880182019052818752929450925050830182828015610a7d5780601f10610a5257610100808354040283529160200191610a7d565b820191906000526020600020905b815481529060010190602001808311610a6057829003601f168201915b505050505081526020016001876040518082805190602001908083835b60208310610ab95780518252601f199092019160209182019101610a9a565b51815160209384036101000a6000190180199092169116179052920194855250604080519485900382018520858201825260098087527f6c6f6e675f64657363000000000000000000000000000000000000000000000093870193845291519095945092508291908083835b60208310610b445780518252601f199092019160209182019101610b25565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f6002600183161590980290950116959095049283018290048202880182019052818752929450925050830182828015610bf85780601f10610bcd57610100808354040283529160200191610bf8565b820191906000526020600020905b815481529060010190602001808311610bdb57829003601f168201915b5050505050815260200160048152602001838152509050610c18816110c1565b95945050505050565b600054600160a060020a03163314610c3857600080fd5b806001846040518082805190602001908083835b60208310610c6b5780518252601f199092019160209182019101610c4c565b51815160209384036101000a6000190180199092169116179052920194855250604051938490038101842087519094889450925082918401908083835b60208310610cc75780518252601f199092019160209182019101610ca8565b51815160209384036101000a60001901801990921691161790529201948552506040519384900381019093208451610d089591949190910192509050611ec8565b50505050565b600054600160a060020a03163314610d2557600080fd5b610d2e8161132f565b50565b60606001836040518082805190602001908083835b60208310610d655780518252601f199092019160209182019101610d46565b51815160209384036101000a6000190180199092169116179052920194855250604051938490038101842086519094879450925082918401908083835b60208310610dc15780518252601f199092019160209182019101610da2565b518151600019602094850361010090810a820192831692199390931691909117909252949092019687526040805197889003820188208054601f6002600183161590980290950116959095049283018290048202880182019052818752929450925050830182828015610e755780601f10610e4a57610100808354040283529160200191610e75565b820191906000526020600020905b815481529060010190602001808311610e5857829003601f168201915b5050505050905092915050565b60608060008181851515610ecb5760408051808201909152600181527f300000000000000000000000000000000000000000000000000000000000000060208201529450610fd8565b6040805160208082528183019092529080820161040080388339019050509350600092505b6000861115610f3d57600a860660300160f860020a028484815181101515610f1457fe5b906020010190600160f860020a031916908160001a905350600a86049550600190920191610ef0565b60408051848152601f19601f86011681016020019091526000198401938015610f70578160200160208202803883390190505b509150600090505b8151811015610fd457835160001984019385918110610f9357fe5b90602001015160f860020a900460f860020a028282815181101515610fb457fe5b906020010190600160f860020a031916908160001a905350600101610f78565b8194505b50505050919050565b610fe9611f46565b506040805160a0810182526000808252602080830182905283518082018552828152838501528351808201855282815260608401528351908101909352825260808101919091525b90565b61103c611f73565b6040805160608101825260008082528251818152602081810190945291928301919061107e565b61106b611f97565b8152602001906001900390816110635790505b50815260200160006040519080825280602002602001820160405280156110b957816020015b60608152602001906001900390816110a45790505b509052905090565b60408051808201909152600a81527f7b227469746c65223a220000000000000000000000000000000000000000000060208201528151606091906000906111209061110b906113ac565b611114846113ac565b9063ffffffff6113d516565b915061116361110b6040805190810160405280600f81526020017f222c2273686f727444657363223a2200000000000000000000000000000000008152506113ac565b915061117561110b85602001516113ac565b91506111b861110b6040805190810160405280600e81526020017f222c226c6f6e6744657363223a220000000000000000000000000000000000008152506113ac565b91506111ca61110b85604001516113ac565b915061120d61110b6040805190810160405280600a81526020017f222c227769647468223a000000000000000000000000000000000000000000008152506113ac565b915061122761110b6112228660600151610e82565b6113ac565b915061126a61110b6040805190810160405280600d81526020017f2c22656c656d656e7473223a5b000000000000000000000000000000000000008152506113ac565b9150600090505b8360800151518110156112e65760008111156112b2576112af61110b60408051908101604052806001815260200160fa60020a600b028152506113ac565b91505b6112dc61110b6112228660800151848151811015156112cd57fe5b9060200190602002015161144c565b9150600101611271565b61132761110b6040805190810160405280600281526020017f5d7d0000000000000000000000000000000000000000000000000000000000008152506113ac565b949350505050565b600160a060020a038116151561134457600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6113b4611fca565b50604080518082019091528151815260208281019082018190525b50919050565b606080600083600001518560000151016040519080825280601f01601f191660200182016040528015611412578160200160208202803883390190505b50915060208201905061142e818660200151876000015161173a565b845160208501518551611444928401919061173a565b509392505050565b6060808260000151156116ff576040805190810160405280600781526020017f7b226964223a220000000000000000000000000000000000000000000000000081525090506114aa6114a184602001516113ac565b611114836113ac565b90506114ed6114a16040805190810160405280600181526020017f22000000000000000000000000000000000000000000000000000000000000008152506113ac565b60a084015151909150156115545761153c6114a16040805190810160405280600b81526020017f2c2022616374696f6e223a0000000000000000000000000000000000000000008152506113ac565b90506115516114a16112228560a0015161177e565b90505b60c083015151156115b8576115a06114a16040805190810160405280600a81526020017f2c20227461626c65223a000000000000000000000000000000000000000000008152506113ac565b90506115b56114a16112228560c00151611921565b90505b6115f96114a16040805190810160405280600981526020017f2c2274797065223a2200000000000000000000000000000000000000000000008152506113ac565b905061160b6114a184604001516113ac565b905061164e6114a16040805190810160405280600b81526020017f222c226c6162656c223a220000000000000000000000000000000000000000008152506113ac565b90506116606114a184606001516113ac565b90506116a36114a16040805190810160405280600981526020017f222c2264617461223a00000000000000000000000000000000000000000000008152506113ac565b90506116b56114a184608001516113ac565b90506116f86114a16040805190810160405280600181526020017f7d000000000000000000000000000000000000000000000000000000000000008152506113ac565b91506113cf565b60408051808201909152600481527f6e756c6c00000000000000000000000000000000000000000000000000000000602082015291506113cf565b60005b6020821061175f578251845260209384019390920191601f199091019061173d565b50905182516020929092036101000a6000190180199091169116179052565b6060808260000151156116ff576040805190810160405280600c81526020017f7b2261646472657373223a22000000000000000000000000000000000000000081525090506117df6114a16112228560200151600160a060020a0316611b38565b90506118226114a16040805190810160405280601681526020017f222c2266756e6374696f6e53656c6563746f72223a22000000000000000000008152506113ac565b90506118346114a184604001516113ac565b90506118776114a16040805190810160405280600e81526020017f222c22617267756d656e7473223a0000000000000000000000000000000000008152506113ac565b90506118896114a184606001516113ac565b90506118cc6114a16040805190810160405280600c81526020017f2c22636f6e6669726d223a2200000000000000000000000000000000000000008152506113ac565b90506118de6114a184608001516113ac565b90506116f86114a16040805190810160405280600281526020017f227d0000000000000000000000000000000000000000000000000000000000008152506113ac565b606080600080846000015115611af957505060408051808201909152600c81527f7b22636f6c756d6e73223a5b0000000000000000000000000000000000000000602082015290506000805b8460200151518110156119ef5760008211156119b7576119b46119ab60408051908101604052806001815260200160fa60020a600b028152506113ac565b611114856113ac565b92505b6119e16119ab6112228760200151848151811015156119d257fe5b90602001906020020151611c7b565b92506001918201910161196d565b611a306119ab6040805190810160405280600a81526020017f5d2c22726f7773223a5b000000000000000000000000000000000000000000008152506113ac565b925060009150600090505b846040015151811015611ab1576000821115611a7c57611a796119ab60408051908101604052806001815260200160fa60020a600b028152506113ac565b92505b611aa36119ab866040015183815181101515611a9457fe5b906020019060200201516113ac565b925060019182019101611a3b565b611af26119ab6040805190810160405280600281526020017f5d7d0000000000000000000000000000000000000000000000000000000000008152506113ac565b9350611b30565b60408051808201909152600481527f6e756c6c00000000000000000000000000000000000000000000000000000000602082015293505b505050919050565b60408051602a80825260608083019093528291600091829182916020820161054080388339505081519195507f3000000000000000000000000000000000000000000000000000000000000000918691506000908110611b9457fe5b906020010190600160f860020a031916908160001a90535083517f78000000000000000000000000000000000000000000000000000000000000009085906001908110611bdd57fe5b906020010190600160f860020a031916908160001a905350859250600091505b6028821015611c7157506030600f8316016039600160a060020a0382161115611c24576027015b8060f860020a028483602803600101815181101515611c3f57fe5b906020010190600160f860020a031916908160001a9053506010600160a060020a038416049250600190910190611bfd565b5091949350505050565b6060808260000151156116ff576040805190810160405280600781526020017f7b226964223a22000000000000000000000000000000000000000000000000008152509050611cd06114a184602001516113ac565b9050611d136114a16040805190810160405280600181526020017f22000000000000000000000000000000000000000000000000000000000000008152506113ac565b60808401515190915015611da457611d496114a160408051908101604052806001815260200160fa60020a600b028152506113ac565b9050611d8c6114a16040805190810160405280600981526020017f22616374696f6e223a00000000000000000000000000000000000000000000008152506113ac565b9050611da16114a1611222856080015161177e565b90505b611de56114a16040805190810160405280600981526020017f2c2274797065223a2200000000000000000000000000000000000000000000008152506113ac565b9050611df76114a184604001516113ac565b9050611e3a6114a16040805190810160405280600b81526020017f222c226c6162656c223a220000000000000000000000000000000000000000008152506113ac565b90506118de6114a184606001516113ac565b60a06040519081016040528060608152602001606081526020016060815260200160008152602001606081525090565b6101a06040519081016040528060001515815260200160608152602001606081526020016060815260200160608152602001611eb6611f46565b8152602001611ec3611f73565b905290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611f0957805160ff1916838001178555611f36565b82800160010185558215611f36579182015b82811115611f36578251825591602001919060010190611f1b565b50611f42929150611fe1565b5090565b6040805160a081018252600080825260208201526060918101829052818101829052608081019190915290565b60606040519081016040528060001515815260200160608152602001606081525090565b61012060405190810160405280600015158152602001606081526020016060815260200160608152602001611ec3611f46565b604080518082019091526000808252602082015290565b61103191905b80821115611f425760008155600101611fe756006d795f62616c616e636500000000000000000000000000000000000000000000a165627a7a723058208d453c0866a81d3671cbb06d5c8ea434e76b1fc3b6e7c6925fbe5da9d9617a170029",
  "sourceMap": "129:989:15:-;;;567:5:43;:18;;-1:-1:-1;;;;;;567:18:43;575:10;567:18;;;129:989:15;;;;;;",
  "deployedSourceMap": "129:989:15:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;266:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;266:48:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;266:48:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1001:111:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1001:111:43;;;;;;320:48:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;320:48:15;;;;238:20:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:43;;;;;;;;-1:-1:-1;;;;;238:20:43;;;;;;;;;;;;;;374:46:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;374:46:15;;;;427:689;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;427:689:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;427:689:15;;-1:-1:-1;;;427:689:15;;-1:-1:-1;;;;;427:689:15;;-1:-1:-1;427:689:15;;-1:-1:-1;;;427:689:15;186:126:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;186:126:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;186:126:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;186:126:33;;;;-1:-1:-1;186:126:33;-1:-1:-1;186:126:33;;-1:-1:-1;186:126:33;;;;;;;;-1:-1:-1;;186:126:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;186:126:33;;;;-1:-1:-1;186:126:33;-1:-1:-1;186:126:33;;-1:-1:-1;186:126:33;;;;;;;;-1:-1:-1;186:126:33;;-1:-1:-1;186:126:33;;-1:-1:-1;;;;;;;186:126:33;1274:103:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1274:103:43;-1:-1:-1;;;;;1274:103:43;;;;;318:120:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;318:120:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;318:120:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;318:120:33;;;;-1:-1:-1;318:120:33;-1:-1:-1;318:120:33;;-1:-1:-1;318:120:33;;;;;;;;-1:-1:-1;318:120:33;;-1:-1:-1;318:120:33;;-1:-1:-1;;;;;;;318:120:33;266:48:15;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;266:48:15;;;;;:::o;1001:111:43:-;719:5;;-1:-1:-1;;;;;719:5:43;705:10;:19;697:28;;;;;;1077:5;;;1058:25;;-1:-1:-1;;;;;1077:5:43;;;;1058:25;;;1105:1;1089:18;;-1:-1:-1;;1089:18:43;;;1001:111::o;320:48:15:-;;;;;;;;;;;;;;;;;;;:::o;238:20:43:-;;;-1:-1:-1;;;;;238:20:43;;:::o;374:46:15:-;;;;;;;;;;;;;;;;;;;:::o;427:689::-;500:6;518:34;854:28;;:::i;:::-;555:25;;;578:1;555:25;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;518:62;;604:240;;;;;;;;;634:4;604:240;;;;;;652:10;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;652:10:15;;;604:240;;;;;;;;;;;;;;;;;;;;;;;;;;695:9;705:7;695:18;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;695:18:15;;;;;-1:-1:-1;695:18:15;;;;;;;;;;;714:10;;;;;;;;;-1:-1:-1;;;;;;;;;;;714:10:15;;;;;;695:30;;:18;;;-1:-1:-1;695:30:15;-1:-1:-1;695:30:15;;714:10;;695:30;714:10;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;-1:-1;;263:2;259:12;;;254:3;250:22;;;246:30;;340:21;;;311:9;;295:26;;;;377:20;;;;365:33;;;695:30:15;;;;;;;;;;;;;;;;;;604:240;;;;274:1:-1;604:240:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;695:30;;-1:-1:-1;604:240:15;-1:-1:-1;;604:240:15;;695:30;604:240;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;739:38;:6;-1:-1:-1;;;;;739:16:15;;756:9;739:27;;;;;;;;;;;;;-1:-1:-1;;;;;739:27:15;-1:-1:-1;;;;;739:27:15;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;739:27:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;739:27:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;739:27:15;:36;:38::i;:::-;604:240;;;;791:15;:13;:15::i;:::-;604:240;;;;820:14;:12;:14::i;:::-;604:240;;590:11;;:8;;599:1;;590:11;;;;;;;;;;;;;:254;;;;885:192;;;;;;;;;913:9;923:7;913:18;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;913:18:15;;;;;-1:-1:-1;913:18:15;;;;;;;;;;;932:10;;;;;;;;;-1:-1:-1;;;;;;;;;;;932:10:15;;;;;;913:30;;:18;;;-1:-1:-1;913:30:15;-1:-1:-1;913:30:15;;932:10;;913:30;932:10;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;-1:-1;;263:2;259:12;;;254:3;250:22;;;246:30;;340:21;;;311:9;;295:26;;;;377:20;;;;365:33;;;913:30:15;;;;;;;;;;;;;;;;;;885:192;;;;274:1:-1;885:192:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;913:30;;-1:-1:-1;885:192:15;-1:-1:-1;;885:192:15;;913:30;885:192;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;957:9;967:7;957:18;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;957:18:15;;;;;-1:-1:-1;957:18:15;;;;;;;;;;;976:10;;;;;;;;;;;;;;;;957:30;;:18;;;-1:-1:-1;957:30:15;-1:-1:-1;957:30:15;;976:10;;957:30;976:10;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;-1:-1;;263:2;259:12;;;254:3;250:22;;;246:30;;340:21;;;311:9;;295:26;;;;377:20;;;;365:33;;;957:30:15;;;;;;;;;;;;;;;;;;885:192;;;;274:1:-1;885:192:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;957:30;;-1:-1:-1;885:192:15;-1:-1:-1;;885:192:15;;957:30;885:192;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1001:9;1011:7;1001:18;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;1001:18:15;;;;;-1:-1:-1;1001:18:15;;;;;;;;;;;1020:9;;;;;;;;;;;;;;;;1001:29;;:18;;;-1:-1:-1;1001:29:15;-1:-1:-1;1001:29:15;;1020:9;;1001:29;1020:9;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;-1:-1;;263:2;259:12;;;254:3;250:22;;;246:30;;340:21;;;311:9;;295:26;;;;377:20;;;;365:33;;;1001:29:15;;;;;;;;;;;;;;;;;;885:192;;;;274:1:-1;885:192:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1001:29;;-1:-1:-1;885:192:15;-1:-1:-1;;885:192:15;;1001:29;885:192;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1044:1;885:192;;;;1059:8;885:192;;;854:223;;1094:15;:6;:13;:15::i;:::-;1087:22;427:689;-1:-1:-1;;;;;427:689:15:o;186:126:33:-;719:5:43;;-1:-1:-1;;;;;719:5:43;705:10;:19;697:28;;;;;;300:5:33;275:9;285:6;275:17;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;275:17:33;;;;;-1:-1:-1;275:17:33;;;;;;;;;;:22;;:17;;:22;;-1:-1:-1;275:17:33;-1:-1:-1;275:17:33;;:22;;;;:17;:22;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;275:22:33;;;;;-1:-1:-1;275:22:33;;;;;;;;;;;:30;;;;:22;;:30;;;;;-1:-1:-1;275:30:33;-1:-1:-1;275:30:33;:::i;:::-;;186:126;;;:::o;1274:103:43:-;719:5;;-1:-1:-1;;;;;719:5:43;705:10;:19;697:28;;;;;;1343:29;1362:9;1343:18;:29::i;:::-;1274:103;:::o;318:120:33:-;384:6;409:9;419:6;409:17;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;409:17:33;;;;;-1:-1:-1;409:17:33;;;;;;;;;;:22;;:17;;:22;;-1:-1:-1;409:17:33;-1:-1:-1;409:17:33;;:22;;;;:17;:22;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;-1:-1;;263:2;259:12;;;254:3;250:22;;;246:30;;340:21;;;311:9;;295:26;;;;377:20;;;;365:33;;;409:22:33;;;;;;;;;;;;;;;;;;402:29;;;;274:1:-1;402:29:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;409:22;;-1:-1:-1;402:29:33;-1:-1:-1;;402:29:33;;409:22;402:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;318:120;;;;:::o;50:483:29:-;103:6;;231;103;231;132:10;;128:51;;;158:10;;;;;;;;;;;;;;;;;;-1:-1:-1;158:10:29;;128:51;208:13;;;218:2;208:13;;;;;;;;;;;;;17:15:-1;;105:10;208:13:29;88:34:-1;136:17;;-1:-1;208:13:29;188:33;;256:1;252:5;;247:111;267:1;259:5;:9;247:111;;;313:2;305:5;:10;319:2;304:17;-1:-1:-1;;;299:23:29;289:4;294:1;289:7;;;;;;;;;;;;;;:33;-1:-1:-1;;;;;289:33:29;;;;;;;;-1:-1:-1;345:2:29;336:11;;;-1:-1:-1;270:3:29;;;;;247:111;;;388:14;;;;;;-1:-1:-1;;388:14:29;;;;;;;;;;;-1:-1:-1;;398:3:29;;;388:14;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;388:14:29;;367:35;;426:1;417:10;;412:85;433:5;:12;429:1;:16;412:85;;;477:9;;-1:-1:-1;;482:3:29;;;477:4;;:9;;;;;;;;;;;-1:-1:-1;;;477:9:29;;-1:-1:-1;;;477:9:29;466:5;472:1;466:8;;;;;;;;;;;;;;:20;-1:-1:-1;;;;;466:20:29;;;;;;;;-1:-1:-1;447:3:29;;412:85;;;520:5;506:20;;50:483;;;;;;;;:::o;329:116:31:-;369:6;;:::i;:::-;-1:-1:-1;401:37:31;;;;;;;;-1:-1:-1;401:37:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;329:116;;:::o;374:124:35:-;414:5;;:::i;:::-;445:46;;;;;;;;-1:-1:-1;445:46:35;;;458:15;;;;;445:46;458:15;;;;;;445:46;;;;;458:15;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;445:46;;;;488:1;475:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;445:46:35;;438:53;-1:-1:-1;374:124:35;:::o;392:943:36:-;470:33;;;;;;;;;;;;;;;;;542:11;;452:6;;470:33;1040:6;;520:44;;542:21;;:19;:21::i;:::-;520:14;:4;:12;:14::i;:::-;:21;:44;:21;:44;:::i;:::-;513:51;;581:50;603:27;:25;;;;;;;;;;;;;;;;;;;:27::i;581:50::-;574:57;;648:48;670:25;:5;:15;;;:23;:25::i;648:48::-;641:55;;713:49;735:26;:24;;;;;;;;;;;;;;;;;;;:26::i;713:49::-;706:56;;779:47;801:24;:5;:14;;;:22;:24::i;779:47::-;772:54;;843:45;865:22;:20;;;;;;;;;;;;;;;;;;;:22::i;843:45::-;836:52;;905:55;927:32;:22;:5;:11;;;:20;:22::i;:::-;:30;:32::i;905:55::-;898:62;;977:48;999:25;:23;;;;;;;;;;;;;;;;;;;:25::i;977:48::-;970:55;;1049:1;1040:10;;1035:240;1056:5;:14;;;:21;1052:1;:25;1035:240;;;1106:1;1102;:5;1098:87;;;1134:36;1156:13;:11;;;;;;;;;;;;;;-1:-1:-1;;;;;1156:11:36;;;;:13::i;1134:36::-;1127:43;;1098:87;1205:59;1227:36;:26;:5;:14;;;1242:1;1227:17;;;;;;;;;;;;;;;;;;:24;:26::i;1205:59::-;1198:66;-1:-1:-1;1079:3:36;;1035:240;;;1291:37;1313:14;:12;;;;;;;;;;;;;;;;;;;:14::i;1291:37::-;1284:44;392:943;-1:-1:-1;;;;392:943:36:o;1512:171:43:-;-1:-1:-1;;;;;1582:23:43;;;;1574:32;;;;;;1638:5;;;1617:38;;-1:-1:-1;;;;;1617:38:43;;;;1638:5;;;1617:38;;;1661:5;:17;;-1:-1:-1;;1661:17:43;-1:-1:-1;;;;;1661:17:43;;;;;;;;;;1512:171::o;2837:210:30:-;2897:5;;:::i;:::-;-1:-1:-1;3010:30:30;;;;;;;;;3016:18;;3010:30;;2979:4;2969:15;;;3010:30;;;;;;2837:210;;;;;:::o;23944:355::-;24022:6;24047:17;24111:11;24090:5;:10;;;24078:4;:9;;;:22;24067:34;;;;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;24067:34:30;;24047:54;;24162:2;24157:3;24153:12;24143:22;;24176:36;24183:6;24191:4;:9;;;24202:4;:9;;;24176:6;:36::i;:::-;24238:9;;24249:10;;;;24261;;24222:50;;24229:18;;;24249:10;24222:6;:50::i;:::-;-1:-1:-1;24289:3:30;23944:355;-1:-1:-1;;;23944:355:30:o;568:1172:32:-;629:6;679:18;651:5;:12;;;647:1087;;;679:30;;;;;;;;;;;;;;;;;;;;730:41;752:18;:5;:8;;;:16;:18::i;:::-;730:14;:4;:12;:14::i;:41::-;723:48;;792:36;814:13;:11;;;;;;;;;;;;;;;;;;;:13::i;792:36::-;846:12;;;;:19;785:43;;-1:-1:-1;842:190:32;;;892:46;914:23;:21;;;;;;;;;;;;;;;;;;;:23::i;892:46::-;885:53;;963:54;985:31;:21;:5;:12;;;:19;:21::i;963:54::-;956:61;;842:190;1049:11;;;;:18;1045:187;;;1094:45;1116:22;:20;;;;;;;;;;;;;;;;;;;:22::i;1094:45::-;1087:52;;1164:53;1186:30;:20;:5;:11;;;:18;:20::i;1164:53::-;1157:60;;1045:187;1252:44;1274:21;:19;;;;;;;;;;;;;;;;;;;:21::i;1252:44::-;1245:51;;1317:44;1339:21;:5;:11;;;:19;:21::i;1317:44::-;1310:51;;1382:46;1404:23;:21;;;;;;;;;;;;;;;;;;;:23::i;1382:46::-;1375:53;;1449:44;1471:21;:5;:11;;;:19;:21::i;1449:44::-;1442:51;;1514:44;1536:21;:19;;;;;;;;;;;;;;;;;;;:21::i;1514:44::-;1507:51;;1579:43;1601:20;:5;:10;;;:18;:20::i;1579:43::-;1572:50;;1643:36;1665:13;:11;;;;;;;;;;;;;;;;;;;:13::i;1643:36::-;1636:43;;;;647:1087;1710:13;;;;;;;;;;;;;;;;;;-1:-1:-1;1710:13:32;;2089:548:30;2415:9;2209:164;2222:2;2215:9;;2209:164;;2291:10;;2278:24;;2337:2;2329:10;;;;2353:9;;;;-1:-1:-1;;2226:9:30;;;;2209:164;;;-1:-1:-1;2500:10:30;;2555:11;;2435:2;:8;;;;2427:3;:17;-1:-1:-1;;2427:21:30;2512:9;;2496:26;;;2551:22;;2599:21;2586:35;;2467:164::o;451:765:31:-;511:6;561:18;533:5;:12;;;529:681;;;561:35;;;;;;;;;;;;;;;;;;;;617:52;639:29;:19;:5;:8;;;-1:-1:-1;;;;;639:17:31;;:19::i;617:52::-;610:59;;690:57;712:34;:32;;;;;;;;;;;;;;;;;;;:34::i;690:57::-;683:64;;768:55;790:32;:5;:22;;;:30;:32::i;768:55::-;761:62;;844:49;866:26;:24;;;;;;;;;;;;;;;;;;;:26::i;844:49::-;837:56;;914:48;936:25;:5;:15;;;:23;:25::i;914:48::-;907:55;;983:47;1005:24;:22;;;;;;;;;;;;;;;;;;;:24::i;983:47::-;976:54;;1051:46;1073:23;:5;:13;;;:21;:23::i;1051:46::-;1044:53;;1118:37;1140:14;:12;;;;;;;;;;;;;;;;;;;:14::i;504:978:35:-;563:6;613:18;662:11;696:6;585:5;:12;;;581:895;;;-1:-1:-1;;613:35:35;;;;;;;;;;;;;;;;;;-1:-1:-1;;;691:298:35;712:5;:13;;;:20;708:1;:24;691:298;;;770:1;761:6;:10;757:100;;;802:36;824:13;:11;;;;;;;;;;;;;;-1:-1:-1;;;;;824:11:35;;;;:13::i;:::-;802:14;:4;:12;:14::i;:36::-;795:43;;757:100;881:64;903:41;:31;917:5;:13;;;931:1;917:16;;;;;;;;;;;;;;;;;;903:13;:31::i;881:64::-;874:71;-1:-1:-1;973:1:35;963:11;;;;734:3;691:298;;;1009:45;1031:22;:20;;;;;;;;;;;;;;;;;;;:22::i;1009:45::-;1002:52;;1077:1;1068:10;;1101:1;1097:5;;1092:272;1108:5;:10;;;:17;1104:1;:21;1092:272;;;1163:1;1154:6;:10;1150:100;;;1195:36;1217:13;:11;;;;;;;;;;;;;;-1:-1:-1;;;;;1217:11:35;;;;:13::i;1195:36::-;1188:43;;1150:100;1274:46;1296:23;:5;:10;;;1307:1;1296:13;;;;;;;;;;;;;;;;;;:21;:23::i;1274:46::-;1267:53;-1:-1:-1;1348:1:35;1338:11;;;;1127:3;1092:272;;;1384:37;1406:14;:12;;;;;;;;;;;;;;;;;;;:14::i;1384:37::-;1377:44;;;;581:895;1452:13;;;;;;;;;;;;;;;;;;-1:-1:-1;581:895:35;504:978;;;;;;:::o;206:443:26:-;307:13;;;317:2;307:13;;;262:6;307:13;;;;;;262:6;;387:11;;;;;;307:13;;;17:15:-1;;105:10;307:13:26;88:34:-1;-1:-1;;330:7:26;;287:33;;-1:-1:-1;340:8:26;;287:33;;-1:-1:-1;335:1:26;;330:7;;;;;;;;;;:18;-1:-1:-1;;;;;330:18:26;;;;;;;;-1:-1:-1;358:7:26;;368:9;;358:4;;363:1;;358:7;;;;;;;;;;:19;-1:-1:-1;;;;;358:19:26;;;;;;;;;409:5;387:28;;450:1;446:5;;441:173;457:2;453:1;:6;441:173;;;-1:-1:-1;505:2:26;493:8;;;492:15;529:2;-1:-1:-1;;;;;525:6:26;;;521:19;;;538:2;533:7;521:19;578:1;-1:-1:-1;;;573:7:26;554:4;564:1;559:2;:6;568:1;559:10;554:16;;;;;;;;;;;;;;:26;-1:-1:-1;;;;;554:26:26;;;;;;;;-1:-1:-1;601:2:26;-1:-1:-1;;;;;594:9:26;;;;-1:-1:-1;461:3:26;;;;;441:173;;;-1:-1:-1;637:4:26;;206:443;-1:-1:-1;;;;206:443:26:o;1488:909:35:-;1555:6;1605:18;1577:5;:12;;;1573:818;;;1605:30;;;;;;;;;;;;;;;;;;;;1656:41;1678:18;:5;:8;;;:16;:18::i;1656:41::-;1649:48;;1718:36;1740:13;:11;;;;;;;;;;;;;;;;;;;:13::i;1718:36::-;1772:12;;;;:19;1711:43;;-1:-1:-1;1768:249:35;;;1818:36;1840:13;:11;;;;;;;;;;;;;;-1:-1:-1;;;;;1840:11:35;;;;:13::i;1818:36::-;1811:43;;1879:44;1901:21;:19;;;;;;;;;;;;;;;;;;;:21::i;1879:44::-;1872:51;;1948:54;1970:31;:21;:5;:12;;;:19;:21::i;1948:54::-;1941:61;;1768:249;2037:44;2059:21;:19;;;;;;;;;;;;;;;;;;;:21::i;2037:44::-;2030:51;;2102:44;2124:21;:5;:11;;;:19;:21::i;2102:44::-;2095:51;;2167:46;2189:23;:21;;;;;;;;;;;;;;;;;;;:23::i;2167:46::-;2160:53;;2234:44;2256:21;:5;:11;;;:19;:21::i;129:989:15:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;129:989:15;;;-1:-1:-1;129:989:15;:::i;:::-;;;:::o;:::-;;;;;;;;;-1:-1:-1;129:989:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;129:989:15;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;",
  "source": "pragma solidity ^0.4.24;\n\nimport \"./ERC223TokenWidgetRenderer.sol\";\nimport \"tokenboost-solidity/contracts/widget/Widgets.sol\";\n\n\ncontract MyBalanceWidgetRenderer is ERC223TokenWidgetRenderer {\n    using Widgets for Widgets.Widget;\n    using UintUtils for uint;\n\n    string public constant MY_BALANCE = \"my_balance\";\n    string public constant SHORT_DESC = \"short_desc\";\n    string public constant LONG_DESC = \"long_desc\";\n\n    function render(string _locale, ERC223Token _token) public view returns (string) {\n        Elements.Element[] memory elements = new Elements.Element[](1);\n        elements[0] = Elements.Element(\n            true,\n            MY_BALANCE,\n            \"eth\",\n            resources[_locale][MY_BALANCE],\n            _token.balanceOf(tx.origin).toString(),\n            Actions.empty(),\n            Tables.empty()\n        );\n        Widgets.Widget memory widget = Widgets.Widget(\n            resources[_locale][MY_BALANCE],\n            resources[_locale][SHORT_DESC],\n            resources[_locale][LONG_DESC],\n            4,\n            elements\n        );\n        return widget.toJson();\n    }\n}\n",
  "sourcePath": "/Users/dowonlee/Desktop/dowon/DNext/tokenboost/tokenboost-solidity-erc223token/contracts/token/erc223/widget/MyBalanceWidgetRenderer.sol",
  "ast": {
    "absolutePath": "/Users/dowonlee/Desktop/dowon/DNext/tokenboost/tokenboost-solidity-erc223token/contracts/token/erc223/widget/MyBalanceWidgetRenderer.sol",
    "exportedSymbols": {
      "MyBalanceWidgetRenderer": [
        2489
      ]
    },
    "id": 2490,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 2390,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:15"
      },
      {
        "absolutePath": "/Users/dowonlee/Desktop/dowon/DNext/tokenboost/tokenboost-solidity-erc223token/contracts/token/erc223/widget/ERC223TokenWidgetRenderer.sol",
        "file": "./ERC223TokenWidgetRenderer.sol",
        "id": 2391,
        "nodeType": "ImportDirective",
        "scope": 2490,
        "sourceUnit": 1953,
        "src": "26:41:15",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "tokenboost-solidity/contracts/widget/Widgets.sol",
        "file": "tokenboost-solidity/contracts/widget/Widgets.sol",
        "id": 2392,
        "nodeType": "ImportDirective",
        "scope": 2490,
        "sourceUnit": 6425,
        "src": "68:58:15",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 2393,
              "name": "ERC223TokenWidgetRenderer",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 1952,
              "src": "165:25:15",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ERC223TokenWidgetRenderer_$1952",
                "typeString": "contract ERC223TokenWidgetRenderer"
              }
            },
            "id": 2394,
            "nodeType": "InheritanceSpecifier",
            "src": "165:25:15"
          }
        ],
        "contractDependencies": [
          1952,
          5881,
          6902
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2489,
        "linearizedBaseContracts": [
          2489,
          1952,
          5881,
          6902
        ],
        "name": "MyBalanceWidgetRenderer",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "id": 2397,
            "libraryName": {
              "contractScope": null,
              "id": 2395,
              "name": "Widgets",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 6424,
              "src": "203:7:15",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Widgets_$6424",
                "typeString": "library Widgets"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "197:33:15",
            "typeName": {
              "contractScope": null,
              "id": 2396,
              "name": "Widgets.Widget",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 6262,
              "src": "215:14:15",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_Widget_$6262_storage_ptr",
                "typeString": "struct Widgets.Widget"
              }
            }
          },
          {
            "id": 2400,
            "libraryName": {
              "contractScope": null,
              "id": 2398,
              "name": "UintUtils",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 3761,
              "src": "241:9:15",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_UintUtils_$3761",
                "typeString": "library UintUtils"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "235:25:15",
            "typeName": {
              "id": 2399,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "255:4:15",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            }
          },
          {
            "constant": true,
            "id": 2403,
            "name": "MY_BALANCE",
            "nodeType": "VariableDeclaration",
            "scope": 2489,
            "src": "266:48:15",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 2401,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "266:6:15",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "6d795f62616c616e6365",
              "id": 2402,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "302:12:15",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_c1915f46ce473cdb248bb7fea4186fbbf082b74fe07fe7afd73610a668693444",
                "typeString": "literal_string \"my_balance\""
              },
              "value": "my_balance"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 2406,
            "name": "SHORT_DESC",
            "nodeType": "VariableDeclaration",
            "scope": 2489,
            "src": "320:48:15",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 2404,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "320:6:15",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "73686f72745f64657363",
              "id": 2405,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "356:12:15",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_94c241f8e931f92c2d4b9c8bf91f277610ffbc69f83ddd91d5e8535e49fe7894",
                "typeString": "literal_string \"short_desc\""
              },
              "value": "short_desc"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 2409,
            "name": "LONG_DESC",
            "nodeType": "VariableDeclaration",
            "scope": 2489,
            "src": "374:46:15",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 2407,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "374:6:15",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "6c6f6e675f64657363",
              "id": 2408,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "409:11:15",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_a47709c5db6426dae60658aa3fe6818a09dac224ef85f317a31b897413052755",
                "typeString": "literal_string \"long_desc\""
              },
              "value": "long_desc"
            },
            "visibility": "public"
          },
          {
            "body": {
              "id": 2487,
              "nodeType": "Block",
              "src": "508:608:15",
              "statements": [
                {
                  "assignments": [
                    2422
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2422,
                      "name": "elements",
                      "nodeType": "VariableDeclaration",
                      "scope": 2488,
                      "src": "518:34:15",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_Element_$5632_memory_$dyn_memory_ptr",
                        "typeString": "struct Elements.Element[]"
                      },
                      "typeName": {
                        "baseType": {
                          "contractScope": null,
                          "id": 2420,
                          "name": "Elements.Element",
                          "nodeType": "UserDefinedTypeName",
                          "referencedDeclaration": 5632,
                          "src": "518:16:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Element_$5632_storage_ptr",
                            "typeString": "struct Elements.Element"
                          }
                        },
                        "id": 2421,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "518:18:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Element_$5632_storage_$dyn_storage_ptr",
                          "typeString": "struct Elements.Element[]"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2428,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 2426,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "578:1:15",
                        "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": 2425,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "NewExpression",
                      "src": "555:22:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Element_$5632_memory_$dyn_memory_$",
                        "typeString": "function (uint256) pure returns (struct Elements.Element memory[] memory)"
                      },
                      "typeName": {
                        "baseType": {
                          "contractScope": null,
                          "id": 2423,
                          "name": "Elements.Element",
                          "nodeType": "UserDefinedTypeName",
                          "referencedDeclaration": 5632,
                          "src": "559:16:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Element_$5632_storage_ptr",
                            "typeString": "struct Elements.Element"
                          }
                        },
                        "id": 2424,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "559:18:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Element_$5632_storage_$dyn_storage_ptr",
                          "typeString": "struct Elements.Element[]"
                        }
                      }
                    },
                    "id": 2427,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "555:25:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_Element_$5632_memory_$dyn_memory",
                      "typeString": "struct Elements.Element memory[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "518:62:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 2456,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 2429,
                        "name": "elements",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2422,
                        "src": "590:8:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Element_$5632_memory_$dyn_memory_ptr",
                          "typeString": "struct Elements.Element memory[] memory"
                        }
                      },
                      "id": 2431,
                      "indexExpression": {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 2430,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "599:1:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "590:11:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Element_$5632_memory",
                        "typeString": "struct Elements.Element memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "74727565",
                          "id": 2434,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "634:4:15",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "true"
                        },
                        {
                          "argumentTypes": null,
                          "id": 2435,
                          "name": "MY_BALANCE",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2403,
                          "src": "652:10:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "hexValue": "657468",
                          "id": 2436,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "string",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "676:5:15",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_stringliteral_4f5b812789fc606be1b3b16908db13fc7a9adf7ca72641f84d75b47069d3d7f0",
                            "typeString": "literal_string \"eth\""
                          },
                          "value": "eth"
                        },
                        {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 2437,
                              "name": "resources",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5844,
                              "src": "695:9:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_string_memory_$_t_mapping$_t_string_memory_$_t_string_storage_$_$",
                                "typeString": "mapping(string memory => mapping(string memory => string storage ref))"
                              }
                            },
                            "id": 2439,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 2438,
                              "name": "_locale",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2411,
                              "src": "705:7:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "695:18:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                              "typeString": "mapping(string memory => string storage ref)"
                            }
                          },
                          "id": 2441,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 2440,
                            "name": "MY_BALANCE",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2403,
                            "src": "714:10:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "695:30:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 2444,
                                    "name": "tx",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7674,
                                    "src": "756:2:15",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_magic_transaction",
                                      "typeString": "tx"
                                    }
                                  },
                                  "id": 2445,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "origin",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": null,
                                  "src": "756:9:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 2442,
                                  "name": "_token",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2413,
                                  "src": "739:6:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_ERC223Token_$1036",
                                    "typeString": "contract ERC223Token"
                                  }
                                },
                                "id": 2443,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "balanceOf",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 6997,
                                "src": "739:16:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
                                  "typeString": "function (address) view external returns (uint256)"
                                }
                              },
                              "id": 2446,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "739:27:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "id": 2447,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "toString",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3760,
                            "src": "739:36:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$",
                              "typeString": "function (uint256) pure returns (string memory)"
                            }
                          },
                          "id": 2448,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "739:38:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 2449,
                              "name": "Actions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5604,
                              "src": "791:7:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Actions_$5604_$",
                                "typeString": "type(library Actions)"
                              }
                            },
                            "id": 2450,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "empty",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 5492,
                            "src": "791:13:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Action_$5476_memory_ptr_$",
                              "typeString": "function () pure returns (struct Actions.Action memory)"
                            }
                          },
                          "id": 2451,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "791:15:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Action_$5476_memory_ptr",
                            "typeString": "struct Actions.Action memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 2452,
                              "name": "Tables",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6237,
                              "src": "820:6:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Tables_$6237_$",
                                "typeString": "type(library Tables)"
                              }
                            },
                            "id": 2453,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "empty",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 5953,
                            "src": "820:12:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Table_$5933_memory_ptr_$",
                              "typeString": "function () pure returns (struct Tables.Table memory)"
                            }
                          },
                          "id": 2454,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "820:14:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Table_$5933_memory_ptr",
                            "typeString": "struct Tables.Table memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_stringliteral_4f5b812789fc606be1b3b16908db13fc7a9adf7ca72641f84d75b47069d3d7f0",
                            "typeString": "literal_string \"eth\""
                          },
                          {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          },
                          {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Action_$5476_memory_ptr",
                            "typeString": "struct Actions.Action memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Table_$5933_memory_ptr",
                            "typeString": "struct Tables.Table memory"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 2432,
                          "name": "Elements",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5833,
                          "src": "604:8:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_Elements_$5833_$",
                            "typeString": "type(library Elements)"
                          }
                        },
                        "id": 2433,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "Element",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 5632,
                        "src": "604:16:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_struct$_Element_$5632_storage_ptr_$",
                          "typeString": "type(struct Elements.Element storage pointer)"
                        }
                      },
                      "id": 2455,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "structConstructorCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "604:240:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Element_$5632_memory",
                        "typeString": "struct Elements.Element memory"
                      }
                    },
                    "src": "590:254:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Element_$5632_memory",
                      "typeString": "struct Elements.Element memory"
                    }
                  },
                  "id": 2457,
                  "nodeType": "ExpressionStatement",
                  "src": "590:254:15"
                },
                {
                  "assignments": [
                    2461
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2461,
                      "name": "widget",
                      "nodeType": "VariableDeclaration",
                      "scope": 2488,
                      "src": "854:28:15",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Widget_$6262_memory_ptr",
                        "typeString": "struct Widgets.Widget"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 2460,
                        "name": "Widgets.Widget",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 6262,
                        "src": "854:14:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Widget_$6262_storage_ptr",
                          "typeString": "struct Widgets.Widget"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2482,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 2464,
                            "name": "resources",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5844,
                            "src": "913:9:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_mapping$_t_string_memory_$_t_string_storage_$_$",
                              "typeString": "mapping(string memory => mapping(string memory => string storage ref))"
                            }
                          },
                          "id": 2466,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 2465,
                            "name": "_locale",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2411,
                            "src": "923:7:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "913:18:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                            "typeString": "mapping(string memory => string storage ref)"
                          }
                        },
                        "id": 2468,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 2467,
                          "name": "MY_BALANCE",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2403,
                          "src": "932:10:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "913:30:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage",
                          "typeString": "string storage ref"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 2469,
                            "name": "resources",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5844,
                            "src": "957:9:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_mapping$_t_string_memory_$_t_string_storage_$_$",
                              "typeString": "mapping(string memory => mapping(string memory => string storage ref))"
                            }
                          },
                          "id": 2471,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 2470,
                            "name": "_locale",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2411,
                            "src": "967:7:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "957:18:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                            "typeString": "mapping(string memory => string storage ref)"
                          }
                        },
                        "id": 2473,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 2472,
                          "name": "SHORT_DESC",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2406,
                          "src": "976:10:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "957:30:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage",
                          "typeString": "string storage ref"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 2474,
                            "name": "resources",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5844,
                            "src": "1001:9:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_mapping$_t_string_memory_$_t_string_storage_$_$",
                              "typeString": "mapping(string memory => mapping(string memory => string storage ref))"
                            }
                          },
                          "id": 2476,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 2475,
                            "name": "_locale",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2411,
                            "src": "1011:7:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "1001:18:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                            "typeString": "mapping(string memory => string storage ref)"
                          }
                        },
                        "id": 2478,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 2477,
                          "name": "LONG_DESC",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2409,
                          "src": "1020:9:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "1001:29:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage",
                          "typeString": "string storage ref"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "34",
                        "id": 2479,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1044:1:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_4_by_1",
                          "typeString": "int_const 4"
                        },
                        "value": "4"
                      },
                      {
                        "argumentTypes": null,
                        "id": 2480,
                        "name": "elements",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2422,
                        "src": "1059:8:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Element_$5632_memory_$dyn_memory_ptr",
                          "typeString": "struct Elements.Element memory[] memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_storage",
                          "typeString": "string storage ref"
                        },
                        {
                          "typeIdentifier": "t_string_storage",
                          "typeString": "string storage ref"
                        },
                        {
                          "typeIdentifier": "t_string_storage",
                          "typeString": "string storage ref"
                        },
                        {
                          "typeIdentifier": "t_rational_4_by_1",
                          "typeString": "int_const 4"
                        },
                        {
                          "typeIdentifier": "t_array$_t_struct$_Element_$5632_memory_$dyn_memory_ptr",
                          "typeString": "struct Elements.Element memory[] memory"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 2462,
                        "name": "Widgets",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6424,
                        "src": "885:7:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_Widgets_$6424_$",
                          "typeString": "type(library Widgets)"
                        }
                      },
                      "id": 2463,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "Widget",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6262,
                      "src": "885:14:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_struct$_Widget_$6262_storage_ptr_$",
                        "typeString": "type(struct Widgets.Widget storage pointer)"
                      }
                    },
                    "id": 2481,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "structConstructorCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "885:192:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Widget_$6262_memory",
                      "typeString": "struct Widgets.Widget memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "854:223:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "argumentTypes": null,
                        "id": 2483,
                        "name": "widget",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2461,
                        "src": "1094:6:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Widget_$6262_memory_ptr",
                          "typeString": "struct Widgets.Widget memory"
                        }
                      },
                      "id": 2484,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "toJson",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6423,
                      "src": "1094:13:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_struct$_Widget_$6262_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_Widget_$6262_memory_ptr_$",
                        "typeString": "function (struct Widgets.Widget memory) pure returns (string memory)"
                      }
                    },
                    "id": 2485,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1094:15:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "functionReturnParameters": 2417,
                  "id": 2486,
                  "nodeType": "Return",
                  "src": "1087:22:15"
                }
              ]
            },
            "documentation": null,
            "id": 2488,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "render",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2414,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2411,
                  "name": "_locale",
                  "nodeType": "VariableDeclaration",
                  "scope": 2488,
                  "src": "443:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2410,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "443:6:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2413,
                  "name": "_token",
                  "nodeType": "VariableDeclaration",
                  "scope": 2488,
                  "src": "459:18:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_ERC223Token_$1036",
                    "typeString": "contract ERC223Token"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 2412,
                    "name": "ERC223Token",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 1036,
                    "src": "459:11:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ERC223Token_$1036",
                      "typeString": "contract ERC223Token"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "442:36:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 2417,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2416,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 2488,
                  "src": "500:6:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2415,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "500:6:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "499:8:15"
            },
            "scope": 2489,
            "src": "427:689:15",
            "stateMutability": "view",
            "superFunction": 1951,
            "visibility": "public"
          }
        ],
        "scope": 2490,
        "src": "129:989:15"
      }
    ],
    "src": "0:1119:15"
  },
  "legacyAST": {
    "absolutePath": "/Users/dowonlee/Desktop/dowon/DNext/tokenboost/tokenboost-solidity-erc223token/contracts/token/erc223/widget/MyBalanceWidgetRenderer.sol",
    "exportedSymbols": {
      "MyBalanceWidgetRenderer": [
        2489
      ]
    },
    "id": 2490,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 2390,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:15"
      },
      {
        "absolutePath": "/Users/dowonlee/Desktop/dowon/DNext/tokenboost/tokenboost-solidity-erc223token/contracts/token/erc223/widget/ERC223TokenWidgetRenderer.sol",
        "file": "./ERC223TokenWidgetRenderer.sol",
        "id": 2391,
        "nodeType": "ImportDirective",
        "scope": 2490,
        "sourceUnit": 1953,
        "src": "26:41:15",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "tokenboost-solidity/contracts/widget/Widgets.sol",
        "file": "tokenboost-solidity/contracts/widget/Widgets.sol",
        "id": 2392,
        "nodeType": "ImportDirective",
        "scope": 2490,
        "sourceUnit": 6425,
        "src": "68:58:15",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 2393,
              "name": "ERC223TokenWidgetRenderer",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 1952,
              "src": "165:25:15",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ERC223TokenWidgetRenderer_$1952",
                "typeString": "contract ERC223TokenWidgetRenderer"
              }
            },
            "id": 2394,
            "nodeType": "InheritanceSpecifier",
            "src": "165:25:15"
          }
        ],
        "contractDependencies": [
          1952,
          5881,
          6902
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 2489,
        "linearizedBaseContracts": [
          2489,
          1952,
          5881,
          6902
        ],
        "name": "MyBalanceWidgetRenderer",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "id": 2397,
            "libraryName": {
              "contractScope": null,
              "id": 2395,
              "name": "Widgets",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 6424,
              "src": "203:7:15",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Widgets_$6424",
                "typeString": "library Widgets"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "197:33:15",
            "typeName": {
              "contractScope": null,
              "id": 2396,
              "name": "Widgets.Widget",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 6262,
              "src": "215:14:15",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_Widget_$6262_storage_ptr",
                "typeString": "struct Widgets.Widget"
              }
            }
          },
          {
            "id": 2400,
            "libraryName": {
              "contractScope": null,
              "id": 2398,
              "name": "UintUtils",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 3761,
              "src": "241:9:15",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_UintUtils_$3761",
                "typeString": "library UintUtils"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "235:25:15",
            "typeName": {
              "id": 2399,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "255:4:15",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            }
          },
          {
            "constant": true,
            "id": 2403,
            "name": "MY_BALANCE",
            "nodeType": "VariableDeclaration",
            "scope": 2489,
            "src": "266:48:15",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 2401,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "266:6:15",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "6d795f62616c616e6365",
              "id": 2402,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "302:12:15",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_c1915f46ce473cdb248bb7fea4186fbbf082b74fe07fe7afd73610a668693444",
                "typeString": "literal_string \"my_balance\""
              },
              "value": "my_balance"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 2406,
            "name": "SHORT_DESC",
            "nodeType": "VariableDeclaration",
            "scope": 2489,
            "src": "320:48:15",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 2404,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "320:6:15",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "73686f72745f64657363",
              "id": 2405,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "356:12:15",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_94c241f8e931f92c2d4b9c8bf91f277610ffbc69f83ddd91d5e8535e49fe7894",
                "typeString": "literal_string \"short_desc\""
              },
              "value": "short_desc"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 2409,
            "name": "LONG_DESC",
            "nodeType": "VariableDeclaration",
            "scope": 2489,
            "src": "374:46:15",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 2407,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "374:6:15",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "6c6f6e675f64657363",
              "id": 2408,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "409:11:15",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_a47709c5db6426dae60658aa3fe6818a09dac224ef85f317a31b897413052755",
                "typeString": "literal_string \"long_desc\""
              },
              "value": "long_desc"
            },
            "visibility": "public"
          },
          {
            "body": {
              "id": 2487,
              "nodeType": "Block",
              "src": "508:608:15",
              "statements": [
                {
                  "assignments": [
                    2422
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2422,
                      "name": "elements",
                      "nodeType": "VariableDeclaration",
                      "scope": 2488,
                      "src": "518:34:15",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_Element_$5632_memory_$dyn_memory_ptr",
                        "typeString": "struct Elements.Element[]"
                      },
                      "typeName": {
                        "baseType": {
                          "contractScope": null,
                          "id": 2420,
                          "name": "Elements.Element",
                          "nodeType": "UserDefinedTypeName",
                          "referencedDeclaration": 5632,
                          "src": "518:16:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Element_$5632_storage_ptr",
                            "typeString": "struct Elements.Element"
                          }
                        },
                        "id": 2421,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "518:18:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Element_$5632_storage_$dyn_storage_ptr",
                          "typeString": "struct Elements.Element[]"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2428,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 2426,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "578:1:15",
                        "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": 2425,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "NewExpression",
                      "src": "555:22:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Element_$5632_memory_$dyn_memory_$",
                        "typeString": "function (uint256) pure returns (struct Elements.Element memory[] memory)"
                      },
                      "typeName": {
                        "baseType": {
                          "contractScope": null,
                          "id": 2423,
                          "name": "Elements.Element",
                          "nodeType": "UserDefinedTypeName",
                          "referencedDeclaration": 5632,
                          "src": "559:16:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Element_$5632_storage_ptr",
                            "typeString": "struct Elements.Element"
                          }
                        },
                        "id": 2424,
                        "length": null,
                        "nodeType": "ArrayTypeName",
                        "src": "559:18:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Element_$5632_storage_$dyn_storage_ptr",
                          "typeString": "struct Elements.Element[]"
                        }
                      }
                    },
                    "id": 2427,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "555:25:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_Element_$5632_memory_$dyn_memory",
                      "typeString": "struct Elements.Element memory[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "518:62:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 2456,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 2429,
                        "name": "elements",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2422,
                        "src": "590:8:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Element_$5632_memory_$dyn_memory_ptr",
                          "typeString": "struct Elements.Element memory[] memory"
                        }
                      },
                      "id": 2431,
                      "indexExpression": {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 2430,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "599:1:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "590:11:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Element_$5632_memory",
                        "typeString": "struct Elements.Element memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "74727565",
                          "id": 2434,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "634:4:15",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "true"
                        },
                        {
                          "argumentTypes": null,
                          "id": 2435,
                          "name": "MY_BALANCE",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2403,
                          "src": "652:10:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "hexValue": "657468",
                          "id": 2436,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "string",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "676:5:15",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_stringliteral_4f5b812789fc606be1b3b16908db13fc7a9adf7ca72641f84d75b47069d3d7f0",
                            "typeString": "literal_string \"eth\""
                          },
                          "value": "eth"
                        },
                        {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 2437,
                              "name": "resources",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5844,
                              "src": "695:9:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_string_memory_$_t_mapping$_t_string_memory_$_t_string_storage_$_$",
                                "typeString": "mapping(string memory => mapping(string memory => string storage ref))"
                              }
                            },
                            "id": 2439,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 2438,
                              "name": "_locale",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2411,
                              "src": "705:7:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "695:18:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                              "typeString": "mapping(string memory => string storage ref)"
                            }
                          },
                          "id": 2441,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 2440,
                            "name": "MY_BALANCE",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2403,
                            "src": "714:10:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "695:30:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 2444,
                                    "name": "tx",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7674,
                                    "src": "756:2:15",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_magic_transaction",
                                      "typeString": "tx"
                                    }
                                  },
                                  "id": 2445,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "origin",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": null,
                                  "src": "756:9:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 2442,
                                  "name": "_token",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 2413,
                                  "src": "739:6:15",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_ERC223Token_$1036",
                                    "typeString": "contract ERC223Token"
                                  }
                                },
                                "id": 2443,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "balanceOf",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 6997,
                                "src": "739:16:15",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
                                  "typeString": "function (address) view external returns (uint256)"
                                }
                              },
                              "id": 2446,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "739:27:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "id": 2447,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "toString",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 3760,
                            "src": "739:36:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$",
                              "typeString": "function (uint256) pure returns (string memory)"
                            }
                          },
                          "id": 2448,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "739:38:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 2449,
                              "name": "Actions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5604,
                              "src": "791:7:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Actions_$5604_$",
                                "typeString": "type(library Actions)"
                              }
                            },
                            "id": 2450,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "empty",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 5492,
                            "src": "791:13:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Action_$5476_memory_ptr_$",
                              "typeString": "function () pure returns (struct Actions.Action memory)"
                            }
                          },
                          "id": 2451,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "791:15:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Action_$5476_memory_ptr",
                            "typeString": "struct Actions.Action memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "argumentTypes": null,
                              "id": 2452,
                              "name": "Tables",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 6237,
                              "src": "820:6:15",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Tables_$6237_$",
                                "typeString": "type(library Tables)"
                              }
                            },
                            "id": 2453,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "empty",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 5953,
                            "src": "820:12:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Table_$5933_memory_ptr_$",
                              "typeString": "function () pure returns (struct Tables.Table memory)"
                            }
                          },
                          "id": 2454,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "820:14:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Table_$5933_memory_ptr",
                            "typeString": "struct Tables.Table memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_stringliteral_4f5b812789fc606be1b3b16908db13fc7a9adf7ca72641f84d75b47069d3d7f0",
                            "typeString": "literal_string \"eth\""
                          },
                          {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          },
                          {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Action_$5476_memory_ptr",
                            "typeString": "struct Actions.Action memory"
                          },
                          {
                            "typeIdentifier": "t_struct$_Table_$5933_memory_ptr",
                            "typeString": "struct Tables.Table memory"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "id": 2432,
                          "name": "Elements",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5833,
                          "src": "604:8:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_Elements_$5833_$",
                            "typeString": "type(library Elements)"
                          }
                        },
                        "id": 2433,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "Element",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 5632,
                        "src": "604:16:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_struct$_Element_$5632_storage_ptr_$",
                          "typeString": "type(struct Elements.Element storage pointer)"
                        }
                      },
                      "id": 2455,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "structConstructorCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "604:240:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Element_$5632_memory",
                        "typeString": "struct Elements.Element memory"
                      }
                    },
                    "src": "590:254:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Element_$5632_memory",
                      "typeString": "struct Elements.Element memory"
                    }
                  },
                  "id": 2457,
                  "nodeType": "ExpressionStatement",
                  "src": "590:254:15"
                },
                {
                  "assignments": [
                    2461
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2461,
                      "name": "widget",
                      "nodeType": "VariableDeclaration",
                      "scope": 2488,
                      "src": "854:28:15",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Widget_$6262_memory_ptr",
                        "typeString": "struct Widgets.Widget"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 2460,
                        "name": "Widgets.Widget",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 6262,
                        "src": "854:14:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Widget_$6262_storage_ptr",
                          "typeString": "struct Widgets.Widget"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2482,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 2464,
                            "name": "resources",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5844,
                            "src": "913:9:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_mapping$_t_string_memory_$_t_string_storage_$_$",
                              "typeString": "mapping(string memory => mapping(string memory => string storage ref))"
                            }
                          },
                          "id": 2466,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 2465,
                            "name": "_locale",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2411,
                            "src": "923:7:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "913:18:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                            "typeString": "mapping(string memory => string storage ref)"
                          }
                        },
                        "id": 2468,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 2467,
                          "name": "MY_BALANCE",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2403,
                          "src": "932:10:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "913:30:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage",
                          "typeString": "string storage ref"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 2469,
                            "name": "resources",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5844,
                            "src": "957:9:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_mapping$_t_string_memory_$_t_string_storage_$_$",
                              "typeString": "mapping(string memory => mapping(string memory => string storage ref))"
                            }
                          },
                          "id": 2471,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 2470,
                            "name": "_locale",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2411,
                            "src": "967:7:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "957:18:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                            "typeString": "mapping(string memory => string storage ref)"
                          }
                        },
                        "id": 2473,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 2472,
                          "name": "SHORT_DESC",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2406,
                          "src": "976:10:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "957:30:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage",
                          "typeString": "string storage ref"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 2474,
                            "name": "resources",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5844,
                            "src": "1001:9:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_mapping$_t_string_memory_$_t_string_storage_$_$",
                              "typeString": "mapping(string memory => mapping(string memory => string storage ref))"
                            }
                          },
                          "id": 2476,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 2475,
                            "name": "_locale",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2411,
                            "src": "1011:7:15",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "1001:18:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_string_memory_$_t_string_storage_$",
                            "typeString": "mapping(string memory => string storage ref)"
                          }
                        },
                        "id": 2478,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 2477,
                          "name": "LONG_DESC",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2409,
                          "src": "1020:9:15",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "1001:29:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage",
                          "typeString": "string storage ref"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "34",
                        "id": 2479,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1044:1:15",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_4_by_1",
                          "typeString": "int_const 4"
                        },
                        "value": "4"
                      },
                      {
                        "argumentTypes": null,
                        "id": 2480,
                        "name": "elements",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2422,
                        "src": "1059:8:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Element_$5632_memory_$dyn_memory_ptr",
                          "typeString": "struct Elements.Element memory[] memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_storage",
                          "typeString": "string storage ref"
                        },
                        {
                          "typeIdentifier": "t_string_storage",
                          "typeString": "string storage ref"
                        },
                        {
                          "typeIdentifier": "t_string_storage",
                          "typeString": "string storage ref"
                        },
                        {
                          "typeIdentifier": "t_rational_4_by_1",
                          "typeString": "int_const 4"
                        },
                        {
                          "typeIdentifier": "t_array$_t_struct$_Element_$5632_memory_$dyn_memory_ptr",
                          "typeString": "struct Elements.Element memory[] memory"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 2462,
                        "name": "Widgets",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6424,
                        "src": "885:7:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_Widgets_$6424_$",
                          "typeString": "type(library Widgets)"
                        }
                      },
                      "id": 2463,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "Widget",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6262,
                      "src": "885:14:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_struct$_Widget_$6262_storage_ptr_$",
                        "typeString": "type(struct Widgets.Widget storage pointer)"
                      }
                    },
                    "id": 2481,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "structConstructorCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "885:192:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Widget_$6262_memory",
                      "typeString": "struct Widgets.Widget memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "854:223:15"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "argumentTypes": null,
                        "id": 2483,
                        "name": "widget",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2461,
                        "src": "1094:6:15",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Widget_$6262_memory_ptr",
                          "typeString": "struct Widgets.Widget memory"
                        }
                      },
                      "id": 2484,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "toJson",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 6423,
                      "src": "1094:13:15",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_struct$_Widget_$6262_memory_ptr_$returns$_t_string_memory_ptr_$bound_to$_t_struct$_Widget_$6262_memory_ptr_$",
                        "typeString": "function (struct Widgets.Widget memory) pure returns (string memory)"
                      }
                    },
                    "id": 2485,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1094:15:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "functionReturnParameters": 2417,
                  "id": 2486,
                  "nodeType": "Return",
                  "src": "1087:22:15"
                }
              ]
            },
            "documentation": null,
            "id": 2488,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "render",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2414,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2411,
                  "name": "_locale",
                  "nodeType": "VariableDeclaration",
                  "scope": 2488,
                  "src": "443:14:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2410,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "443:6:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2413,
                  "name": "_token",
                  "nodeType": "VariableDeclaration",
                  "scope": 2488,
                  "src": "459:18:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_ERC223Token_$1036",
                    "typeString": "contract ERC223Token"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 2412,
                    "name": "ERC223Token",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 1036,
                    "src": "459:11:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ERC223Token_$1036",
                      "typeString": "contract ERC223Token"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "442:36:15"
            },
            "payable": false,
            "returnParameters": {
              "id": 2417,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2416,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 2488,
                  "src": "500:6:15",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2415,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "500:6:15",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "499:8:15"
            },
            "scope": 2489,
            "src": "427:689:15",
            "stateMutability": "view",
            "superFunction": 1951,
            "visibility": "public"
          }
        ],
        "scope": 2490,
        "src": "129:989:15"
      }
    ],
    "src": "0:1119:15"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.24+commit.e67f0147.Emscripten.clang"
  },
  "networks": {
    "5777": {
      "events": {},
      "links": {},
      "address": "0xa5f4c243fe469c39a1a20ecfb18a3a4b1629047e",
      "transactionHash": "0xfc298115fa71e60b52457082d253c3766199d54e3d3817c66c6021391d808d65"
    }
  },
  "schemaVersion": "2.0.1",
  "updatedAt": "2018-10-24T12:56:52.465Z"
}