{
  "contractName": "TickerRegistry",
  "abi": [
    {
      "constant": true,
      "inputs": [],
      "name": "expiryLimit",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "registrationFee",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "tickerRegistry",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "paused",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "polyToken",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "polymathRegistry",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_tokenContract",
          "type": "address"
        }
      ],
      "name": "reclaimERC20",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "moduleRegistry",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "securityTokenRegistry",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "updateFromRegistry",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "name": "_polymathRegistry",
          "type": "address"
        },
        {
          "name": "_registrationFee",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_owner",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "_symbol",
          "type": "string"
        },
        {
          "indexed": false,
          "name": "_name",
          "type": "string"
        },
        {
          "indexed": false,
          "name": "_swarmHash",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "name": "_timestamp",
          "type": "uint256"
        }
      ],
      "name": "LogRegisterTicker",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "_oldExpiry",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "_newExpiry",
          "type": "uint256"
        }
      ],
      "name": "LogChangeExpiryLimit",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "_oldFee",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "_newFee",
          "type": "uint256"
        }
      ],
      "name": "LogChangePolyRegistrationFee",
      "type": "event"
    },
    {
      "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"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "_timestammp",
          "type": "uint256"
        }
      ],
      "name": "Pause",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "_timestamp",
          "type": "uint256"
        }
      ],
      "name": "Unpause",
      "type": "event"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_owner",
          "type": "address"
        },
        {
          "name": "_symbol",
          "type": "string"
        },
        {
          "name": "_tokenName",
          "type": "string"
        },
        {
          "name": "_swarmHash",
          "type": "bytes32"
        }
      ],
      "name": "registerTicker",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_newExpiry",
          "type": "uint256"
        }
      ],
      "name": "changeExpiryLimit",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_symbol",
          "type": "string"
        },
        {
          "name": "_owner",
          "type": "address"
        },
        {
          "name": "_tokenName",
          "type": "string"
        }
      ],
      "name": "checkValidity",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_symbol",
          "type": "string"
        },
        {
          "name": "_owner",
          "type": "address"
        },
        {
          "name": "_tokenName",
          "type": "string"
        },
        {
          "name": "_swarmHash",
          "type": "bytes32"
        }
      ],
      "name": "isReserved",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_symbol",
          "type": "string"
        }
      ],
      "name": "getDetails",
      "outputs": [
        {
          "name": "",
          "type": "address"
        },
        {
          "name": "",
          "type": "uint256"
        },
        {
          "name": "",
          "type": "string"
        },
        {
          "name": "",
          "type": "bytes32"
        },
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_registrationFee",
          "type": "uint256"
        }
      ],
      "name": "changePolyRegistrationFee",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "unpause",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "pause",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60806040526000805460ff191690556213c68060065534801561002157600080fd5b506040516040806125668339810160405280516020909101516000805461010060a860020a031916336101000217905581600160a060020a038116151561006757600080fd5b60018054600160a060020a031916600160a060020a0392909216919091179055600855506124cc8061009a6000396000f30060806040526004361061011c5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166307a8af6f81146101215780631328fd8f1461014857806314c44e0914610243578063208b080f146102585780632a858126146102725780633f4ba83a146102a35780635b30717c146102b85780635c975abb146102d05780636faa22a5146102f9578063715018a61461030e57806377282b70146103235780638456cb59146103385780638905fd4f1461034d5780638da5cb5b1461036e578063ac1e765b14610383578063b95459e414610429578063c95840081461043e578063ce4dbdff146104e5578063ce9af2b9146104fa578063f2fde38b146105a2578063f433262f146105c3575b600080fd5b34801561012d57600080fd5b506101366105d8565b60408051918252519081900360200190f35b34801561015457600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526101a19436949293602493928401919081908401838280828437509497506105de9650505050505050565b60408051600160a060020a0387168152602080820187905260608201859052831515608083015260a0928201838152865193830193909352855191929160c084019187019080838360005b838110156102045781810151838201526020016101ec565b50505050905090810190601f1680156102315780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b34801561024f57600080fd5b506101366109ab565b34801561026457600080fd5b506102706004356109b1565b005b34801561027e57600080fd5b50610287610a97565b60408051600160a060020a039092168252519081900360200190f35b3480156102af57600080fd5b50610270610aa6565b3480156102c457600080fd5b50610270600435610acc565b3480156102dc57600080fd5b506102e5610b39565b604080519115158252519081900360200190f35b34801561030557600080fd5b50610287610b42565b34801561031a57600080fd5b50610270610b51565b34801561032f57600080fd5b50610287610bc7565b34801561034457600080fd5b50610270610bd6565b34801561035957600080fd5b50610270600160a060020a0360043516610bfa565b34801561037a57600080fd5b50610287610d73565b34801561038f57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102e594369492936024939284019190819084018382808284375050604080516020601f818a01358b0180359182018390048302840183018552818452989b600160a060020a038b35169b909a909994019750919550918201935091508190840183828082843750949750610d879650505050505050565b34801561043557600080fd5b506102876111a9565b34801561044a57600080fd5b5060408051602060046024803582810135601f8101859004850286018501909652858552610270958335600160a060020a031695369560449491939091019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375094975050933594506111b89350505050565b3480156104f157600080fd5b506102876116da565b34801561050657600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102e594369492936024939284019190819084018382808284375050604080516020601f818a01358b0180359182018390048302840183018552818452989b600160a060020a038b35169b909a90999401975091955091820193509150819084018382808284375094975050933594506116e99350505050565b3480156105ae57600080fd5b50610270600160a060020a0360043516611b48565b3480156105cf57600080fd5b50610270611b70565b60065481565b600080606060008060606105f187611e8a565b90506007816040518082805190602001908083835b602083106106255780518252601f199092019160209182019101610606565b51815160001960209485036101000a0190811690199190911617905292019485525060405193849003019092206004015460ff16151560011491508190506106db5750426106d96006546007846040518082805190602001908083835b602083106106a15780518252601f199092019160209182019101610682565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092206001015492915050611fec565b115b15610983576007816040518082805190602001908083835b602083106107125780518252601f1990920191602091820191016106f3565b51815160209384036101000a60001901801990921691161790529201948552506040519384900381018420548551600160a060020a039091169460079450869350918291908401908083835b6020831061077d5780518252601f19909201916020918201910161075e565b51815160209384036101000a60001901801990921691161790529201948552506040519384900381018420600101548651909460079450879350918291908401908083835b602083106107e15780518252601f1990920191602091820191016107c2565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390206002016007846040518082805190602001908083835b602083106108495780518252601f19909201916020918201910161082a565b51815160209384036101000a60001901801990921691161790529201948552506040519384900381018420600301548851909460079450899350918291908401908083835b602083106108ad5780518252601f19909201916020918201910161088e565b518151600019602094850361010090810a82019283169219939093169190911790925294909201968752604080519788900382018820600401548a54601f600260018316159098029095011695909504928301829004820288018201905281875260ff90931695945087935091840190508282801561096d5780601f106109425761010080835404028352916020019161096d565b820191906000526020600020905b81548152906001019060200180831161095057829003601f168201915b50505050509250955095509550955095506109a1565b60408051602081019091526000808252965086955093508492508291505b5091939590929450565b60085481565b600080546101009004600160a060020a031633146109ce57600080fd5b62015180821015610a4f576040805160e560020a62461bcd02815260206004820152602c60248201527f4578706972792073686f756c642067726561746572207468616e206f7220657160448201527f75616c20746f2031206461790000000000000000000000000000000000000000606482015290519081900360840190fd5b506006805490829055604080518281526020810184905281517f56097c2b95f5ff3dd5079c032872d82d5e8b5709a9b6e5fde0472253f9f94be1929181900390910190a15050565b600454600160a060020a031681565b6000546101009004600160a060020a03163314610ac257600080fd5b610aca611fff565b565b6000546101009004600160a060020a03163314610ae857600080fd5b600854811415610af757600080fd5b600854604080519182526020820183905280517f57306ced45fbc41943378e67622b8fb30ae72b8af9f874f08a4ad963d0c144989281900390910190a1600855565b60005460ff1681565b600554600160a060020a031681565b6000546101009004600160a060020a03163314610b6d57600080fd5b60008054604051610100909104600160a060020a0316917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805474ffffffffffffffffffffffffffffffffffffffff0019169055565b600154600160a060020a031681565b6000546101009004600160a060020a03163314610bf257600080fd5b610aca61209a565b6000805481906101009004600160a060020a03163314610c1957600080fd5b600160a060020a0383161515610c2e57600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051849350600160a060020a038416916370a082319160248083019260209291908290030181600087803b158015610c9257600080fd5b505af1158015610ca6573d6000803e3d6000fd5b505050506040513d6020811015610cbc57600080fd5b505160008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152610100909204600160a060020a03908116600484015260248301859052905193945085169263a9059cbb92604480840193602093929083900390910190829087803b158015610d3757600080fd5b505af1158015610d4b573d6000803e3d6000fd5b505050506040513d6020811015610d6157600080fd5b50511515610d6e57600080fd5b505050565b6000546101009004600160a060020a031681565b60006060610d9485611e8a565b600354909150600160a060020a03163314610e1f576040805160e560020a62461bcd02815260206004820152603360248201527f6d73672e73656e6465722073686f756c64206265205365637572697479546f6b60448201527f656e526567697374727920636f6e747261637400000000000000000000000000606482015290519081900360840190fd5b6007816040518082805190602001908083835b60208310610e515780518252601f199092019160209182019101610e32565b51815160001960209485036101000a0190811690199190911617905292019485525060405193849003019092206004015460ff161515600114159150610f099050576040805160e560020a62461bcd02815260206004820152602660248201527f53796d626f6c207374617475732073686f756c64206e6f7420657175616c207460448201527f6f20747275650000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b83600160a060020a03166007826040518082805190602001908083835b60208310610f455780518252601f199092019160209182019101610f26565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922054600160a060020a03169290921491506110239050576040805160e560020a62461bcd028152602060048201526044602482018190527f4f776e6572206f66207468652073796d626f6c2073686f756c64206d61746368908201527f656420776974682074686520726571756573746564206973737565722061646460648201527f7265737300000000000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b4261105b600654600784604051808280519060200190808383602083106106a15780518252601f199092019160209182019101610682565b10156110b1576040805160e560020a62461bcd02815260206004820152601c60248201527f5469636b65722073686f756c64206e6f74206265206578706972656400000000604482015290519081900360640190fd5b826007826040518082805190602001908083835b602083106110e45780518252601f1990920191602091820191016110c5565b51815160209384036101000a60001901801990921691161790529201948552506040519384900381019093208451611129956002909201949190910192509050612405565b5060016007826040518082805190602001908083835b6020831061115e5780518252601f19909201916020918201910161113f565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220600401805460ff1916931515939093179092555060019695505050505050565b600254600160a060020a031681565b60005460609060ff1615611216576040805160e560020a62461bcd02815260206004820152601260248201527f436f6e7472616374206973207061757365640000000000000000000000000000604482015290519081900360640190fd5b600160a060020a0385161515611276576040805160e560020a62461bcd02815260206004820152601660248201527f4f776e65722073686f756c64206e6f7420626520307800000000000000000000604482015290519081900360640190fd5b600084511180156112895750600a845111155b1515611305576040805160e560020a62461bcd02815260206004820152602a60248201527f5469636b6572206c656e6774682073686f756c6420616c77617973206265747760448201527f65656e2030202620313000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6000600854111561145457600554600854604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481019290925251600160a060020a03909216916323b872dd916064808201926020929091908290030181600087803b15801561138657600080fd5b505af115801561139a573d6000803e3d6000fd5b505050506040513d60208110156113b057600080fd5b50511515611454576040805160e560020a62461bcd02815260206004820152604260248201527f4661696c6564207472616e7366657246726f6d2062656361757365206f66207360448201527f7566666963656e7420416c6c6f77616e6365206973206e6f742070726f76696460648201527f6564000000000000000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b61145d84611e8a565b905061146881612137565b15156114be576040805160e560020a62461bcd02815260206004820152601a60248201527f5469636b657220697320616c7265616479207265736572766564000000000000604482015290519081900360640190fd5b60a06040519081016040528086600160a060020a0316815260200142815260200184815260200183600019168152602001600015158152506007826040518082805190602001908083835b602083106115285780518252601f199092019160209182019101611509565b51815160209384036101000a60001901801990921691161790529201948552506040805194859003820190942085518154600160a060020a031916600160a060020a039091161781558582015160018201559385015180516115939450600286019350910190612405565b5060608281015160038301556080928301516004909201805460ff1916921515929092179091556040805190810185905281815283519181019190915282514292600160a060020a038916927f8ccd225709fb15de014a9f1362ef5605e3c2182147b11f46e10dc8e2d72ac1bd92869289928992909182916020808401928401919088019080838360005b8381101561163657818101518382015260200161161e565b50505050905090810190601f1680156116635780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b8381101561169657818101518382015260200161167e565b50505050905090810190601f1680156116c35780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a35050505050565b600354600160a060020a031681565b600060606116f686611e8a565b600354909150600160a060020a03163314611781576040805160e560020a62461bcd02815260206004820152603360248201527f6d73672e73656e6465722073686f756c64206265205365637572697479546f6b60448201527f656e526567697374727920636f6e747261637400000000000000000000000000606482015290519081900360840190fd5b84600160a060020a03166007826040518082805190602001908083835b602083106117bd5780518252601f19909201916020918201910161179e565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922054600160a060020a031692909214915050801561180b575061180986612137565b155b1561188e5760016007826040518082805190602001908083835b602083106118445780518252601f199092019160209182019101611825565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220600401805460ff1916931515939093179092555060009250611b3f9050565b6000600160a060020a03166007826040518082805190602001908083835b602083106118cb5780518252601f1990920191602091820191016118ac565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922054600160a060020a0316929092149150819050611917575061191781612137565b15611b3a5760a06040519081016040528086600160a060020a0316815260200142815260200185815260200184600019168152602001600115158152506007826040518082805190602001908083835b602083106119865780518252601f199092019160209182019101611967565b51815160209384036101000a60001901801990921691161790529201948552506040805194859003820190942085518154600160a060020a031916600160a060020a039091161781558582015160018201559385015180516119f19450600286019350910190612405565b5060608281015160038301556080928301516004909201805460ff1916921515929092179091556040805190810186905281815283519181019190915282514292600160a060020a038916927f8ccd225709fb15de014a9f1362ef5605e3c2182147b11f46e10dc8e2d72ac1bd9286928a928a92909182916020808401928401919088019080838360005b83811015611a94578181015183820152602001611a7c565b50505050905090810190601f168015611ac15780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b83811015611af4578181015183820152602001611adc565b50505050905090810190601f168015611b215780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a360009150611b3f565b600191505b50949350505050565b6000546101009004600160a060020a03163314611b6457600080fd5b611b6d8161237d565b50565b6000546101009004600160a060020a03163314611b8c57600080fd5b6001546040805160e060020a63bf40fac1028152602060048201819052600e60248301527f4d6f64756c65526567697374727900000000000000000000000000000000000060448301529151600160a060020a039093169263bf40fac1926064808401939192918290030181600087803b158015611c0957600080fd5b505af1158015611c1d573d6000803e3d6000fd5b505050506040513d6020811015611c3357600080fd5b505160028054600160a060020a031916600160a060020a039283161790556001546040805160e060020a63bf40fac1028152602060048201819052601560248301527f5365637572697479546f6b656e5265676973747279000000000000000000000060448301529151929093169263bf40fac192606480830193928290030181600087803b158015611cc557600080fd5b505af1158015611cd9573d6000803e3d6000fd5b505050506040513d6020811015611cef57600080fd5b505160038054600160a060020a031916600160a060020a039283161790556001546040805160e060020a63bf40fac1028152602060048201819052600e60248301527f5469636b6572526567697374727900000000000000000000000000000000000060448301529151929093169263bf40fac192606480830193928290030181600087803b158015611d8157600080fd5b505af1158015611d95573d6000803e3d6000fd5b505050506040513d6020811015611dab57600080fd5b505160048054600160a060020a031916600160a060020a039283161781556001546040805160e060020a63bf40fac10281526020938101849052600960248201527f506f6c79546f6b656e000000000000000000000000000000000000000000000060448201529051919093169263bf40fac19260648083019391928290030181600087803b158015611e3d57600080fd5b505af1158015611e51573d6000803e3d6000fd5b505050506040513d6020811015611e6757600080fd5b505160058054600160a060020a031916600160a060020a03909216919091179055565b6060816000805b8251821015611fe3578282815181101515611ea857fe5b01602001517f0100000000000000000000000000000000000000000000000000000000000000908190040290507f61000000000000000000000000000000000000000000000000000000000000007fff00000000000000000000000000000000000000000000000000000000000000821610801590611f6957507f7a000000000000000000000000000000000000000000000000000000000000007fff00000000000000000000000000000000000000000000000000000000000000821611155b15611f9957601f197f01000000000000000000000000000000000000000000000000000000000000009182900401025b808383815181101515611fa857fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600190910190611e91565b50909392505050565b81810182811015611ff957fe5b92915050565b60005460ff16151561205b576040805160e560020a62461bcd02815260206004820152601660248201527f436f6e7472616374206973206e6f742070617573656400000000000000000000604482015290519081900360640190fd5b6000805460ff191690556040805142815290517faaa520fdd7d2c83061d632fa017b0432407e798818af63ea908589fceda39ab79181900360200190a1565b60005460ff16156120f5576040805160e560020a62461bcd02815260206004820152601260248201527f436f6e7472616374206973207061757365640000000000000000000000000000604482015290519081900360640190fd5b6000805460ff191660011790556040805142815290517f68b095021b1f40fe513109f513c66692f0b3219aee674a69f4efc57badb8201d9181900360200190a1565b600080600160a060020a03166007836040518082805190602001908083835b602083106121755780518252601f199092019160209182019101612156565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922054600160a060020a03169290921491506123749050576121ed600654600784604051808280519060200190808383602083106106a15780518252601f199092019160209182019101610682565b4211801561226657506007826040518082805190602001908083835b602083106122285780518252601f199092019160209182019101612209565b51815160001960209485036101000a0190811690199190911617905292019485525060405193849003019092206004015460ff161515600114159150505b1561236c576040805160a0810182526000808252602080830182905283518082018552828152838501526060830182905260808301919091529151845191926007928692918291908401908083835b602083106122d45780518252601f1990920191602091820191016122b5565b51815160209384036101000a60001901801990921691161790529201948552506040805194859003820190942085518154600160a060020a031916600160a060020a0390911617815585820151600182015593850151805161233f9450600286019350910190612405565b50606082015160038201556080909101516004909101805460ff1916911515919091179055506001612378565b506000612378565b5060015b919050565b600160a060020a038116151561239257600080fd5b60008054604051600160a060020a038085169361010090930416917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360008054600160a060020a039092166101000274ffffffffffffffffffffffffffffffffffffffff0019909216919091179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061244657805160ff1916838001178555612473565b82800160010185558215612473579182015b82811115612473578251825591602001919060010190612458565b5061247f929150612483565b5090565b61249d91905b8082111561247f5760008155600101612489565b905600a165627a7a7230582084da8fd64e1bc2436b8fbb132190302e0a944f2bcaab33ab540217478c7e89e90029",
  "deployedBytecode": "0x60806040526004361061011c5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166307a8af6f81146101215780631328fd8f1461014857806314c44e0914610243578063208b080f146102585780632a858126146102725780633f4ba83a146102a35780635b30717c146102b85780635c975abb146102d05780636faa22a5146102f9578063715018a61461030e57806377282b70146103235780638456cb59146103385780638905fd4f1461034d5780638da5cb5b1461036e578063ac1e765b14610383578063b95459e414610429578063c95840081461043e578063ce4dbdff146104e5578063ce9af2b9146104fa578063f2fde38b146105a2578063f433262f146105c3575b600080fd5b34801561012d57600080fd5b506101366105d8565b60408051918252519081900360200190f35b34801561015457600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526101a19436949293602493928401919081908401838280828437509497506105de9650505050505050565b60408051600160a060020a0387168152602080820187905260608201859052831515608083015260a0928201838152865193830193909352855191929160c084019187019080838360005b838110156102045781810151838201526020016101ec565b50505050905090810190601f1680156102315780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b34801561024f57600080fd5b506101366109ab565b34801561026457600080fd5b506102706004356109b1565b005b34801561027e57600080fd5b50610287610a97565b60408051600160a060020a039092168252519081900360200190f35b3480156102af57600080fd5b50610270610aa6565b3480156102c457600080fd5b50610270600435610acc565b3480156102dc57600080fd5b506102e5610b39565b604080519115158252519081900360200190f35b34801561030557600080fd5b50610287610b42565b34801561031a57600080fd5b50610270610b51565b34801561032f57600080fd5b50610287610bc7565b34801561034457600080fd5b50610270610bd6565b34801561035957600080fd5b50610270600160a060020a0360043516610bfa565b34801561037a57600080fd5b50610287610d73565b34801561038f57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102e594369492936024939284019190819084018382808284375050604080516020601f818a01358b0180359182018390048302840183018552818452989b600160a060020a038b35169b909a909994019750919550918201935091508190840183828082843750949750610d879650505050505050565b34801561043557600080fd5b506102876111a9565b34801561044a57600080fd5b5060408051602060046024803582810135601f8101859004850286018501909652858552610270958335600160a060020a031695369560449491939091019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375094975050933594506111b89350505050565b3480156104f157600080fd5b506102876116da565b34801561050657600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102e594369492936024939284019190819084018382808284375050604080516020601f818a01358b0180359182018390048302840183018552818452989b600160a060020a038b35169b909a90999401975091955091820193509150819084018382808284375094975050933594506116e99350505050565b3480156105ae57600080fd5b50610270600160a060020a0360043516611b48565b3480156105cf57600080fd5b50610270611b70565b60065481565b600080606060008060606105f187611e8a565b90506007816040518082805190602001908083835b602083106106255780518252601f199092019160209182019101610606565b51815160001960209485036101000a0190811690199190911617905292019485525060405193849003019092206004015460ff16151560011491508190506106db5750426106d96006546007846040518082805190602001908083835b602083106106a15780518252601f199092019160209182019101610682565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092206001015492915050611fec565b115b15610983576007816040518082805190602001908083835b602083106107125780518252601f1990920191602091820191016106f3565b51815160209384036101000a60001901801990921691161790529201948552506040519384900381018420548551600160a060020a039091169460079450869350918291908401908083835b6020831061077d5780518252601f19909201916020918201910161075e565b51815160209384036101000a60001901801990921691161790529201948552506040519384900381018420600101548651909460079450879350918291908401908083835b602083106107e15780518252601f1990920191602091820191016107c2565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390206002016007846040518082805190602001908083835b602083106108495780518252601f19909201916020918201910161082a565b51815160209384036101000a60001901801990921691161790529201948552506040519384900381018420600301548851909460079450899350918291908401908083835b602083106108ad5780518252601f19909201916020918201910161088e565b518151600019602094850361010090810a82019283169219939093169190911790925294909201968752604080519788900382018820600401548a54601f600260018316159098029095011695909504928301829004820288018201905281875260ff90931695945087935091840190508282801561096d5780601f106109425761010080835404028352916020019161096d565b820191906000526020600020905b81548152906001019060200180831161095057829003601f168201915b50505050509250955095509550955095506109a1565b60408051602081019091526000808252965086955093508492508291505b5091939590929450565b60085481565b600080546101009004600160a060020a031633146109ce57600080fd5b62015180821015610a4f576040805160e560020a62461bcd02815260206004820152602c60248201527f4578706972792073686f756c642067726561746572207468616e206f7220657160448201527f75616c20746f2031206461790000000000000000000000000000000000000000606482015290519081900360840190fd5b506006805490829055604080518281526020810184905281517f56097c2b95f5ff3dd5079c032872d82d5e8b5709a9b6e5fde0472253f9f94be1929181900390910190a15050565b600454600160a060020a031681565b6000546101009004600160a060020a03163314610ac257600080fd5b610aca611fff565b565b6000546101009004600160a060020a03163314610ae857600080fd5b600854811415610af757600080fd5b600854604080519182526020820183905280517f57306ced45fbc41943378e67622b8fb30ae72b8af9f874f08a4ad963d0c144989281900390910190a1600855565b60005460ff1681565b600554600160a060020a031681565b6000546101009004600160a060020a03163314610b6d57600080fd5b60008054604051610100909104600160a060020a0316917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805474ffffffffffffffffffffffffffffffffffffffff0019169055565b600154600160a060020a031681565b6000546101009004600160a060020a03163314610bf257600080fd5b610aca61209a565b6000805481906101009004600160a060020a03163314610c1957600080fd5b600160a060020a0383161515610c2e57600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051849350600160a060020a038416916370a082319160248083019260209291908290030181600087803b158015610c9257600080fd5b505af1158015610ca6573d6000803e3d6000fd5b505050506040513d6020811015610cbc57600080fd5b505160008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152610100909204600160a060020a03908116600484015260248301859052905193945085169263a9059cbb92604480840193602093929083900390910190829087803b158015610d3757600080fd5b505af1158015610d4b573d6000803e3d6000fd5b505050506040513d6020811015610d6157600080fd5b50511515610d6e57600080fd5b505050565b6000546101009004600160a060020a031681565b60006060610d9485611e8a565b600354909150600160a060020a03163314610e1f576040805160e560020a62461bcd02815260206004820152603360248201527f6d73672e73656e6465722073686f756c64206265205365637572697479546f6b60448201527f656e526567697374727920636f6e747261637400000000000000000000000000606482015290519081900360840190fd5b6007816040518082805190602001908083835b60208310610e515780518252601f199092019160209182019101610e32565b51815160001960209485036101000a0190811690199190911617905292019485525060405193849003019092206004015460ff161515600114159150610f099050576040805160e560020a62461bcd02815260206004820152602660248201527f53796d626f6c207374617475732073686f756c64206e6f7420657175616c207460448201527f6f20747275650000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b83600160a060020a03166007826040518082805190602001908083835b60208310610f455780518252601f199092019160209182019101610f26565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922054600160a060020a03169290921491506110239050576040805160e560020a62461bcd028152602060048201526044602482018190527f4f776e6572206f66207468652073796d626f6c2073686f756c64206d61746368908201527f656420776974682074686520726571756573746564206973737565722061646460648201527f7265737300000000000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b4261105b600654600784604051808280519060200190808383602083106106a15780518252601f199092019160209182019101610682565b10156110b1576040805160e560020a62461bcd02815260206004820152601c60248201527f5469636b65722073686f756c64206e6f74206265206578706972656400000000604482015290519081900360640190fd5b826007826040518082805190602001908083835b602083106110e45780518252601f1990920191602091820191016110c5565b51815160209384036101000a60001901801990921691161790529201948552506040519384900381019093208451611129956002909201949190910192509050612405565b5060016007826040518082805190602001908083835b6020831061115e5780518252601f19909201916020918201910161113f565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220600401805460ff1916931515939093179092555060019695505050505050565b600254600160a060020a031681565b60005460609060ff1615611216576040805160e560020a62461bcd02815260206004820152601260248201527f436f6e7472616374206973207061757365640000000000000000000000000000604482015290519081900360640190fd5b600160a060020a0385161515611276576040805160e560020a62461bcd02815260206004820152601660248201527f4f776e65722073686f756c64206e6f7420626520307800000000000000000000604482015290519081900360640190fd5b600084511180156112895750600a845111155b1515611305576040805160e560020a62461bcd02815260206004820152602a60248201527f5469636b6572206c656e6774682073686f756c6420616c77617973206265747760448201527f65656e2030202620313000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6000600854111561145457600554600854604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481019290925251600160a060020a03909216916323b872dd916064808201926020929091908290030181600087803b15801561138657600080fd5b505af115801561139a573d6000803e3d6000fd5b505050506040513d60208110156113b057600080fd5b50511515611454576040805160e560020a62461bcd02815260206004820152604260248201527f4661696c6564207472616e7366657246726f6d2062656361757365206f66207360448201527f7566666963656e7420416c6c6f77616e6365206973206e6f742070726f76696460648201527f6564000000000000000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b61145d84611e8a565b905061146881612137565b15156114be576040805160e560020a62461bcd02815260206004820152601a60248201527f5469636b657220697320616c7265616479207265736572766564000000000000604482015290519081900360640190fd5b60a06040519081016040528086600160a060020a0316815260200142815260200184815260200183600019168152602001600015158152506007826040518082805190602001908083835b602083106115285780518252601f199092019160209182019101611509565b51815160209384036101000a60001901801990921691161790529201948552506040805194859003820190942085518154600160a060020a031916600160a060020a039091161781558582015160018201559385015180516115939450600286019350910190612405565b5060608281015160038301556080928301516004909201805460ff1916921515929092179091556040805190810185905281815283519181019190915282514292600160a060020a038916927f8ccd225709fb15de014a9f1362ef5605e3c2182147b11f46e10dc8e2d72ac1bd92869289928992909182916020808401928401919088019080838360005b8381101561163657818101518382015260200161161e565b50505050905090810190601f1680156116635780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b8381101561169657818101518382015260200161167e565b50505050905090810190601f1680156116c35780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a35050505050565b600354600160a060020a031681565b600060606116f686611e8a565b600354909150600160a060020a03163314611781576040805160e560020a62461bcd02815260206004820152603360248201527f6d73672e73656e6465722073686f756c64206265205365637572697479546f6b60448201527f656e526567697374727920636f6e747261637400000000000000000000000000606482015290519081900360840190fd5b84600160a060020a03166007826040518082805190602001908083835b602083106117bd5780518252601f19909201916020918201910161179e565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922054600160a060020a031692909214915050801561180b575061180986612137565b155b1561188e5760016007826040518082805190602001908083835b602083106118445780518252601f199092019160209182019101611825565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220600401805460ff1916931515939093179092555060009250611b3f9050565b6000600160a060020a03166007826040518082805190602001908083835b602083106118cb5780518252601f1990920191602091820191016118ac565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922054600160a060020a0316929092149150819050611917575061191781612137565b15611b3a5760a06040519081016040528086600160a060020a0316815260200142815260200185815260200184600019168152602001600115158152506007826040518082805190602001908083835b602083106119865780518252601f199092019160209182019101611967565b51815160209384036101000a60001901801990921691161790529201948552506040805194859003820190942085518154600160a060020a031916600160a060020a039091161781558582015160018201559385015180516119f19450600286019350910190612405565b5060608281015160038301556080928301516004909201805460ff1916921515929092179091556040805190810186905281815283519181019190915282514292600160a060020a038916927f8ccd225709fb15de014a9f1362ef5605e3c2182147b11f46e10dc8e2d72ac1bd9286928a928a92909182916020808401928401919088019080838360005b83811015611a94578181015183820152602001611a7c565b50505050905090810190601f168015611ac15780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b83811015611af4578181015183820152602001611adc565b50505050905090810190601f168015611b215780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a360009150611b3f565b600191505b50949350505050565b6000546101009004600160a060020a03163314611b6457600080fd5b611b6d8161237d565b50565b6000546101009004600160a060020a03163314611b8c57600080fd5b6001546040805160e060020a63bf40fac1028152602060048201819052600e60248301527f4d6f64756c65526567697374727900000000000000000000000000000000000060448301529151600160a060020a039093169263bf40fac1926064808401939192918290030181600087803b158015611c0957600080fd5b505af1158015611c1d573d6000803e3d6000fd5b505050506040513d6020811015611c3357600080fd5b505160028054600160a060020a031916600160a060020a039283161790556001546040805160e060020a63bf40fac1028152602060048201819052601560248301527f5365637572697479546f6b656e5265676973747279000000000000000000000060448301529151929093169263bf40fac192606480830193928290030181600087803b158015611cc557600080fd5b505af1158015611cd9573d6000803e3d6000fd5b505050506040513d6020811015611cef57600080fd5b505160038054600160a060020a031916600160a060020a039283161790556001546040805160e060020a63bf40fac1028152602060048201819052600e60248301527f5469636b6572526567697374727900000000000000000000000000000000000060448301529151929093169263bf40fac192606480830193928290030181600087803b158015611d8157600080fd5b505af1158015611d95573d6000803e3d6000fd5b505050506040513d6020811015611dab57600080fd5b505160048054600160a060020a031916600160a060020a039283161781556001546040805160e060020a63bf40fac10281526020938101849052600960248201527f506f6c79546f6b656e000000000000000000000000000000000000000000000060448201529051919093169263bf40fac19260648083019391928290030181600087803b158015611e3d57600080fd5b505af1158015611e51573d6000803e3d6000fd5b505050506040513d6020811015611e6757600080fd5b505160058054600160a060020a031916600160a060020a03909216919091179055565b6060816000805b8251821015611fe3578282815181101515611ea857fe5b01602001517f0100000000000000000000000000000000000000000000000000000000000000908190040290507f61000000000000000000000000000000000000000000000000000000000000007fff00000000000000000000000000000000000000000000000000000000000000821610801590611f6957507f7a000000000000000000000000000000000000000000000000000000000000007fff00000000000000000000000000000000000000000000000000000000000000821611155b15611f9957601f197f01000000000000000000000000000000000000000000000000000000000000009182900401025b808383815181101515611fa857fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600190910190611e91565b50909392505050565b81810182811015611ff957fe5b92915050565b60005460ff16151561205b576040805160e560020a62461bcd02815260206004820152601660248201527f436f6e7472616374206973206e6f742070617573656400000000000000000000604482015290519081900360640190fd5b6000805460ff191690556040805142815290517faaa520fdd7d2c83061d632fa017b0432407e798818af63ea908589fceda39ab79181900360200190a1565b60005460ff16156120f5576040805160e560020a62461bcd02815260206004820152601260248201527f436f6e7472616374206973207061757365640000000000000000000000000000604482015290519081900360640190fd5b6000805460ff191660011790556040805142815290517f68b095021b1f40fe513109f513c66692f0b3219aee674a69f4efc57badb8201d9181900360200190a1565b600080600160a060020a03166007836040518082805190602001908083835b602083106121755780518252601f199092019160209182019101612156565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922054600160a060020a03169290921491506123749050576121ed600654600784604051808280519060200190808383602083106106a15780518252601f199092019160209182019101610682565b4211801561226657506007826040518082805190602001908083835b602083106122285780518252601f199092019160209182019101612209565b51815160001960209485036101000a0190811690199190911617905292019485525060405193849003019092206004015460ff161515600114159150505b1561236c576040805160a0810182526000808252602080830182905283518082018552828152838501526060830182905260808301919091529151845191926007928692918291908401908083835b602083106122d45780518252601f1990920191602091820191016122b5565b51815160209384036101000a60001901801990921691161790529201948552506040805194859003820190942085518154600160a060020a031916600160a060020a0390911617815585820151600182015593850151805161233f9450600286019350910190612405565b50606082015160038201556080909101516004909101805460ff1916911515919091179055506001612378565b506000612378565b5060015b919050565b600160a060020a038116151561239257600080fd5b60008054604051600160a060020a038085169361010090930416917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360008054600160a060020a039092166101000274ffffffffffffffffffffffffffffffffffffffff0019909216919091179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061244657805160ff1916838001178555612473565b82800160010185558215612473579182015b82811115612473578251825591602001919060010190612458565b5061247f929150612483565b5090565b61249d91905b8082111561247f5760008155600101612489565b905600a165627a7a7230582084da8fd64e1bc2436b8fbb132190302e0a944f2bcaab33ab540217478c7e89e90029",
  "sourceMap": "667:7205:7:-;;;237:5:2;216:26;;-1:-1:-1;;216:26:2;;;929:11:7;900:40;;1805:167;5:2:-1;;;;30:1;27;20:12;5:2;1805:167:7;;;;;;;;;;;;;;;;;;;567:5:64;:18;;-1:-1:-1;;;;;;567:18:64;575:10;567:18;;;;;1805:167:7;-1:-1:-1;;;;;412:31:5;;;;404:40;;;;;;454:16;:36;;-1:-1:-1;;;;;;454:36:5;-1:-1:-1;;;;;454:36:5;;;;;;;;;;1931:15:7;:34;-1:-1:-1;667:7205:7;;;-1:-1:-1;667:7205:7;;",
  "deployedSourceMap": "667:7205:7:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;900:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;900:40:7;;;;;;;;;;;;;;;;;;;;5902:655;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5902:655:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5902:655:7;;-1:-1:-1;5902:655:7;;-1:-1:-1;;;;;;;5902:655:7;;;;;-1:-1:-1;;;;;5902:655:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;5902:655:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1641:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1641:30:7;;;;3401:293;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3401:293:7;;;;;;;281:29:5;;8:9:-1;5:2;;;30:1;27;20:12;5:2;281:29:5;;;;;;;;-1:-1:-1;;;;;281:29:5;;;;;;;;;;;;;;7679:64:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7679:64:7;;;;7352:261;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7352:261:7;;;;;216:26:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;216:26:2;;;;;;;;;;;;;;;;;;;;;;316:24:5;;8:9:-1;5:2;;;30:1;27;20:12;5:2;316:24:5;;;;827:111:64;;8:9:-1;5:2;;;30:1;27;20:12;5:2;827:111:64;;;;167:31:5;;8:9:-1;5:2;;;30:1;27;20:12;5:2;167:31:5;;;;7810:59:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7810:59:7;;;;426:281:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;426:281:4;-1:-1:-1;;;;;426:281:4;;;;;238:20:64;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:64;;;;3904:729:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3904:729:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3904:729:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3904:729:7;;;;;;;;;;;-1:-1:-1;3904:729:7;;-1:-1:-1;3904:729:7;;;;-1:-1:-1;3904:729:7;-1:-1:-1;3904:729:7;;;;;;;;;;-1:-1:-1;3904:729:7;;-1:-1:-1;3904:729:7;;-1:-1:-1;;;;;;;3904:729:7;204:29:5;;8:9:-1;5:2;;;30:1;27;20:12;5:2;204:29:5;;;;2469:786:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2469:786:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2469:786:7;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2469:786:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2469:786:7;;;;-1:-1:-1;2469:786:7;-1:-1:-1;2469:786:7;;-1:-1:-1;2469:786:7;;;;;;;;-1:-1:-1;2469:786:7;;-1:-1:-1;;2469:786:7;;;-1:-1:-1;2469:786:7;;-1:-1:-1;;;;2469:786:7;239:36:5;;8:9:-1;5:2;;;30:1;27;20:12;5:2;239:36:5;;;;4892:782:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4892:782:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4892:782:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4892:782:7;;;;;;;;;;;-1:-1:-1;4892:782:7;;-1:-1:-1;4892:782:7;;;;-1:-1:-1;4892:782:7;-1:-1:-1;4892:782:7;;;;;;;;;;-1:-1:-1;4892:782:7;;-1:-1:-1;;4892:782:7;;;-1:-1:-1;4892:782:7;;-1:-1:-1;;;;4892:782:7;1100:103:64;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1100:103:64;-1:-1:-1;;;;;1100:103:64;;;;;503:418:5;;8:9:-1;5:2;;;30:1;27;20:12;5:2;503:418:5;;;;900:40:7;;;;:::o;5902:655::-;5959:7;5968;5977:6;5985:7;5994:4;6010:20;6033:14;6039:7;6033:5;:14::i;:::-;6010:37;;6061:17;6079:6;6061:25;;;;;;;;;;;;;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;;6061:25:7;;;;;-1:-1:-1;6061:25:7;;;;;;;;;;:32;;;;;:40;;274:1:-1;6061:40:7;;-1:-1:-1;6061:40:7;;-1:-1:-1;6061:100:7;;;6158:3;6103:52;6143:11;;6103:17;6121:6;6103:25;;;;;;;;;;;;;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;;6103:25:7;;;;;-1:-1:-1;6103:25:7;;;;;;;;;;274:1:-1;6103:35:7;;;;-1:-1:-1;;6103:39:7;:52::i;:::-;:58;6061:100;6057:493;;;6214:17;6232:6;6214:25;;;;;;;;;;;;;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;;6214:25:7;;;;;-1:-1:-1;6214:25:7;;;;;;;;;;:31;6263:25;;-1:-1:-1;;;;;6214:31:7;;;;6263:17;;-1:-1:-1;6263:25:7;;-1:-1:-1;6214:25:7;;;6263;;;;;6214;6263;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;;6263:25:7;;;;;-1:-1:-1;6263:25:7;;;;;;;;;;274:1:-1;6263:35:7;;6316:25;;6263:35;;6316:17;;-1:-1:-1;6316:25:7;;-1:-1:-1;6263:25:7;;;6316;;;;;6263;6316;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;6316:25:7;;;;;;;;;;;;;;;;;;;;;:35;;6369:17;6387:6;6369:25;;;;;;;;;;;;;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;;6369:25:7;;;;;-1:-1:-1;6369:25:7;;;;;;;;;;:35;;;6422:25;;6369:35;;6422:17;;-1:-1:-1;6422:25:7;;-1:-1:-1;6369:25:7;;;6422;;;;;6369;6422;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;;;6422:25:7;;;;;;;;;;;;;;;;;;:32;;;6177:291;;;;274:1:-1;6177:291:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6422:32;;;;;:25;-1:-1:-1;6177:291:7;;-1:-1:-1;6177:291:7;;;;-1:-1:-1;6177:291:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6057:493;6496:54;;;;;;;;;6512:1;6496:54;;;6512:1;-1:-1:-1;6512:1:7;;-1:-1:-1;6496:54:7;-1:-1:-1;6512:1:7;;-1:-1:-1;6512:1:7;;-1:-1:-1;6057:493:7;5902:655;;;;;;;;:::o;1641:30::-;;;;:::o;3401:293::-;3562:18;719:5:64;;;;;-1:-1:-1;;;;;719:5:64;705:10;:19;697:28;;;;;;3497:6:7;3483:20;;;3475:77;;;;;-1:-1:-1;;;;;3475:77:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3583:11:7;;;3604:24;;;;3643:44;;;;;;;;;;;;;;;;;;;;;;;;;3401:293;;:::o;281:29:5:-;;;-1:-1:-1;;;;;281:29:5;;:::o;7679:64:7:-;719:5:64;;;;;-1:-1:-1;;;;;719:5:64;705:10;:19;697:28;;;;;;7726:10:7;:8;:10::i;:::-;7679:64::o;7352:261::-;719:5:64;;;;;-1:-1:-1;;;;;719:5:64;705:10;:19;697:28;;;;;;7448:15:7;;:35;;;7440:44;;;;;;7528:15;;7499:63;;;;;;;;;;;;;;;;;;;;;;;;7572:15;:34;7352:261::o;216:26:2:-;;;;;;:::o;316:24:5:-;;;-1:-1:-1;;;;;316:24:5;;:::o;827:111:64:-;719:5;;;;;-1:-1:-1;;;;;719:5:64;705:10;:19;697:28;;;;;;903:5;;;884:25;;903:5;;;;-1:-1:-1;;;;;903:5:64;;884:25;;;931:1;915:18;;-1:-1:-1;;915:18:64;;;827:111::o;167:31:5:-;;;-1:-1:-1;;;;;167:31:5;;:::o;7810:59:7:-;719:5:64;;;;;-1:-1:-1;;;;;719:5:64;705:10;:19;697:28;;;;;;7854:8:7;:6;:8::i;426:281:4:-;548:16;719:5:64;;548:16:4;;719:5:64;;;-1:-1:-1;;;;;719:5:64;705:10;:19;697:28;;;;;;-1:-1:-1;;;;;509:28:4;;;;501:37;;;;;;621:30;;;;;;645:4;621:30;;;;;;578:14;;-1:-1:-1;;;;;;621:15:4;;;;;:30;;;;;;;;;;;;;;-1:-1:-1;621:15:4;:30;;;5:2:-1;;;;30:1;27;20:12;5:2;621:30:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;621:30:4;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;621:30:4;684:5;;;669:30;;;;;;684:5;;;;-1:-1:-1;;;;;684:5:4;;;669:30;;;;;;;;;;;;621;;-1:-1:-1;669:14:4;;;;;:30;;;;;621;;669;;;;;;;;;;;:14;:30;;;5:2:-1;;;;30:1;27;20:12;5:2;669:30:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;669:30:4;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;669:30:4;661:39;;;;;;;;426:281;;;:::o;238:20:64:-;;;;;;-1:-1:-1;;;;;238:20:64;;:::o;3904:729:7:-;3993:4;4009:20;4032:14;4038:7;4032:5;:14::i;:::-;4078:21;;4009:37;;-1:-1:-1;;;;;;4078:21:7;4064:10;:35;4056:99;;;;;-1:-1:-1;;;;;4056:99:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4173:17;4191:6;4173:25;;;;;;;;;;;;;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;;4173:25:7;;;;;-1:-1:-1;4173:25:7;;;;;;;;;;:32;;;;;:40;;274:1:-1;4173:40:7;;;-1:-1:-1;4165:91:7;;-1:-1:-1;4165:91:7;;;;-1:-1:-1;;;;;4165:91:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4309:6;-1:-1:-1;;;;;4274:41:7;:17;4292:6;4274:25;;;;;;;;;;;;;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;;4274:25:7;;;;;-1:-1:-1;4274:25:7;;;;;;;;;;:31;-1:-1:-1;;;;;4274:31:7;:41;;;;;-1:-1:-1;4266:122:7;;-1:-1:-1;4266:122:7;;;;-1:-1:-1;;;;;4266:122:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4462:3;4406:52;4446:11;;4406:17;4424:6;4406:25;;;;;;;;;;;;;66:2:-1;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;4406:52:7;:59;;4398:100;;;;;-1:-1:-1;;;;;4398:100:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;4546:10;4508:17;4526:6;4508:25;;;;;;;;;;;;;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;;4508:25:7;;;;;-1:-1:-1;4508:25:7;;;;;;;;;;;:48;;;;:35;;;;;:48;;;;;-1:-1:-1;4508:48:7;-1:-1:-1;4508:48:7;:::i;:::-;;4601:4;4566:17;4584:6;4566:25;;;;;;;;;;;;;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;;4566:25:7;;;;;-1:-1:-1;4566:25:7;;;;;;;;;;:32;;:39;;-1:-1:-1;;4566:39:7;;;;;;;;;;;-1:-1:-1;;;3904:729:7;-1:-1:-1;;;;;;3904:729:7:o;204:29:5:-;;;-1:-1:-1;;;;;204:29:5;;:::o;2469:786:7:-;397:6:2;;2970:20:7;;397:6:2;;396:7;388:38;;;;;-1:-1:-1;;;;;388:38:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2603:20:7;;;;2595:55;;;;;-1:-1:-1;;;;;2595:55:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;2692:1;2674:7;2668:21;:25;:56;;;;;2722:2;2703:7;2697:21;:27;;2668:56;2660:111;;;;;;;-1:-1:-1;;;;;2660:111:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2802:1;2784:15;;:19;2781:179;;;2831:9;;2873:15;;2825:64;;;;;;2855:10;2825:64;;;;2867:4;2825:64;;;;;;;;;;;;-1:-1:-1;;;;;2831:9:7;;;;2825:29;;:64;;;;;;;;;;;;;;;2831:9;;2825:64;;;5:2:-1;;;;30:1;27;20:12;5:2;2825:64:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2825:64:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2825:64:7;2817:143;;;;;;;-1:-1:-1;;;;;2817:143:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2993:14;2999:7;2993:5;:14::i;:::-;2970:37;;3025:19;3037:6;3025:11;:19::i;:::-;3017:58;;;;;;;-1:-1:-1;;;;;3017:58:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;3113:57;;;;;;;;;3127:6;-1:-1:-1;;;;;3113:57:7;;;;;3135:3;3113:57;;;;3140:10;3113:57;;;;3152:10;3113:57;;;;;;;3164:5;3113:57;;;;;3085:17;3103:6;3085:25;;;;;;;;;;;;;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;;3085:25:7;;;;;-1:-1:-1;3085:25:7;;;;;;;;;;;;:85;;;;-1:-1:-1;;;;;;3085:85:7;-1:-1:-1;;;;;3085:85:7;;;;;;;;;;-1:-1:-1;3085:85:7;;;;;;;;;;;-1:-1:-1;3085:85:7;;;;-1:-1:-1;3085:85:7;;;;:::i;:::-;-1:-1:-1;3085:85:7;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3085:85:7;;;;;;;;;;;3185:63;;;;;;;;;;;;;;;;;;;;;;;3244:3;;-1:-1:-1;;;;;3185:63:7;;;;;;;3220:10;;3185:63;;;;;;-1:-1:-1;3185:63:7;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3185:63:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3185:63:7;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3185:63:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2469:786;;;;;:::o;239:36:5:-;;;-1:-1:-1;;;;;239:36:5;;:::o;4892:782:7:-;4998:4;5014:20;5037:14;5043:7;5037:5;:14::i;:::-;5083:21;;5014:37;;-1:-1:-1;;;;;;5083:21:7;5069:10;:35;5061:99;;;;;-1:-1:-1;;;;;5061:99:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5209:6;-1:-1:-1;;;;;5174:41:7;:17;5192:6;5174:25;;;;;;;;;;;;;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;;5174:25:7;;;;;-1:-1:-1;5174:25:7;;;;;;;;;;:31;-1:-1:-1;;;;;5174:31:7;:41;;;;;-1:-1:-1;;5174:66:7;;;;;5220:20;5232:7;5220:11;:20::i;:::-;5219:21;5174:66;5170:496;;;5291:4;5256:17;5274:6;5256:25;;;;;;;;;;;;;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;;5256:25:7;;;;;-1:-1:-1;5256:25:7;;;;;;;;;;:32;;:39;;-1:-1:-1;;5256:39:7;;;;;;;;;;;-1:-1:-1;;;;5309:12:7;;-1:-1:-1;5309:12:7;5170:496;5393:1;-1:-1:-1;;;;;5350:45:7;:17;5368:6;5350:25;;;;;;;;;;;;;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;;5350:25:7;;;;;-1:-1:-1;5350:25:7;;;;;;;;;;:31;-1:-1:-1;;;;;5350:31:7;:45;;;;;-1:-1:-1;5350:45:7;;-1:-1:-1;5350:68:7;;;5399:19;5411:6;5399:11;:19::i;:::-;5346:320;;;5462:56;;;;;;;;;5476:6;-1:-1:-1;;;;;5462:56:7;;;;;5484:3;5462:56;;;;5489:10;5462:56;;;;5501:10;5462:56;;;;;;;5513:4;5462:56;;;;;5434:17;5452:6;5434:25;;;;;;;;;;;;;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;;5434:25:7;;;;;-1:-1:-1;5434:25:7;;;;;;;;;;;;:84;;;;-1:-1:-1;;;;;;5434:84:7;-1:-1:-1;;;;;5434:84:7;;;;;;;;;;-1:-1:-1;5434:84:7;;;;;;;;;;;-1:-1:-1;5434:84:7;;;;-1:-1:-1;5434:84:7;;;;:::i;:::-;-1:-1:-1;5434:84:7;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5434:84:7;;;;;;;;;;;5537:63;;;;;;;;;;;;;;;;;;;;;;;5596:3;;-1:-1:-1;;;;;5537:63:7;;;;;;;5572:10;;5537:63;;;;;;-1:-1:-1;5537:63:7;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;5537:63:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5537:63:7;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;5537:63:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5621:5;5614:12;;;;5346:320;5662:4;5655:11;;5346:320;4892:782;;;;;;;:::o;1100:103:64:-;719:5;;;;;-1:-1:-1;;;;;719:5:64;705:10;:19;697:28;;;;;;1169:29;1188:9;1169:18;:29::i;:::-;1100:103;:::o;503:418:5:-;719:5:64;;;;;-1:-1:-1;;;;;719:5:64;705:10;:19;697:28;;;;;;594:16:5;;577:63;;;-1:-1:-1;;;;;577:63:5;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;594:16:5;;;;577:45;;:63;;;;;;;;;;;;;594:16;;577:63;;;5:2:-1;;;;30:1;27;20:12;5:2;577:63:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;577:63:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;577:63:5;560:14;:80;;-1:-1:-1;;;;;;560:80:5;-1:-1:-1;;;;;560:80:5;;;;;;-1:-1:-1;691:16:5;674:70;;;-1:-1:-1;;;;;674:70:5;;577:63;674:70;;;;;;;;;;;;;;;;;;691:16;;;;;674:45;;:70;;;;;577:63;674:70;;;;;-1:-1:-1;691:16:5;674:70;;;5:2:-1;;;;30:1;27;20:12;5:2;674:70:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;674:70:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;674:70:5;650:21;:94;;-1:-1:-1;;;;;;650:94:5;-1:-1:-1;;;;;650:94:5;;;;;;-1:-1:-1;788:16:5;771:63;;;-1:-1:-1;;;;;771:63:5;;674:70;771:63;;;;;;;;;;;;;;;;;;788:16;;;;;771:45;;:63;;;;;674:70;771:63;;;;;-1:-1:-1;788:16:5;771:63;;;5:2:-1;;;;30:1;27;20:12;5:2;771:63:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;771:63:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;771:63:5;754:14;:80;;-1:-1:-1;;;;;;754:80:5;-1:-1:-1;;;;;754:80:5;;;;;;-1:-1:-1;873:16:5;856:58;;;-1:-1:-1;;;;;856:58:5;;771:63;856:58;;;;;;;;;;;;;;;;;;873:16;;;;;856:45;;:58;;;;;771:63;;856:58;;;;;-1:-1:-1;873:16:5;856:58;;;5:2:-1;;;;30:1;27;20:12;5:2;856:58:5;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;856:58:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;856:58:5;844:9;:70;;-1:-1:-1;;;;;;844:70:5;-1:-1:-1;;;;;844:70:5;;;;;;;;;503:418::o;195:387:11:-;247:6;297:5;318:6;;313:228;334:10;:17;330:1;:21;313:228;;;384:10;395:1;384:13;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;415:10:11;;;;;;;;:24;;-1:-1:-1;429:10:11;;;;;;415:24;411:88;;;-1:-1:-1;;471:9:11;;;;;:12;464:20;411:88;528:2;512:10;523:1;512:13;;;;;;;;;;;;;;:18;;;;;;;;;;-1:-1:-1;353:3:11;;;;;313:228;;;-1:-1:-1;564:10:11;;195:387;-1:-1:-1;;;195:387:11:o;1214:123:63:-;1293:5;;;1311:6;;;;1304:14;;;;1214:123;;;;:::o;915:98:2:-;590:6;;;;582:41;;;;;;;-1:-1:-1;;;;;582:41:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;974:5;965:14;;-1:-1:-1;;965:14:2;;;994:12;;;1002:3;994:12;;;;;;;;;;;;;915:98::o;728:96::-;397:6;;;;396:7;388:38;;;;;-1:-1:-1;;;;;388:38:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;779:6;:13;;-1:-1:-1;;779:13:2;788:4;779:13;;;807:10;;;813:3;807:10;;;;;;;;;;;;;728:96::o;6718:468:7:-;6772:4;6836:1;-1:-1:-1;;;;;6792:46:7;:17;6810:7;6792:26;;;;;;;;;;;;;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;;6792:26:7;;;;;-1:-1:-1;6792:26:7;;;;;;;;;;:32;-1:-1:-1;;;;;6792:32:7;:46;;;;;-1:-1:-1;6788:371:7;;-1:-1:-1;6788:371:7;6864:53;6905:11;;6864:17;6882:7;6864:26;;;;;;;;;;;;;66:2:-1;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;6864:53:7;6858:3;:59;:104;;;;;6921:17;6939:7;6921:26;;;;;;;;;;;;;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;;6921:26:7;;;;;-1:-1:-1;6921:26:7;;;;;;;;;;:33;;;;;:41;;274:1:-1;6921:41:7;;;-1:-1:-1;;6858:104:7;6854:294;;;7011:60;;;;;;;;-1:-1:-1;7011:60:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6982:26;;;;7011:60;;6982:17;;7000:7;;6982:26;;;;;;;;;;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;;6982:26:7;;;;;-1:-1:-1;6982:26:7;;;;;;;;;;;;:89;;;;-1:-1:-1;;;;;;6982:89:7;-1:-1:-1;;;;;6982:89:7;;;;;;;;;;-1:-1:-1;6982:89:7;;;;;;;;;;;-1:-1:-1;6982:89:7;;;;-1:-1:-1;6982:89:7;;;;:::i;:::-;-1:-1:-1;6982:89:7;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6982:89:7;;;;;;;;;;-1:-1:-1;;7089:11:7;;6854:294;-1:-1:-1;7143:5:7;7136:12;;6854:294;-1:-1:-1;7175:4:7;6718:468;;;;:::o;1338:171:64:-;-1:-1:-1;;;;;1408:23:64;;;;1400:32;;;;;;1464:5;;;1443:38;;-1:-1:-1;;;;;1443:38:64;;;;1464:5;;;;;;1443:38;;;1487:5;:17;;-1:-1:-1;;;;;1487:17:64;;;;;-1:-1:-1;;1487:17:64;;;;;;;;;1338:171::o;667:7205:7:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;667:7205:7;;;-1:-1:-1;667:7205:7;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o",
  "source": "pragma solidity ^0.4.24;\n\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\nimport \"openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\";\nimport \"./interfaces/ITickerRegistry.sol\";\nimport \"./helpers/Util.sol\";\nimport \"./Pausable.sol\";\nimport \"./RegistryUpdater.sol\";\nimport \"./ReclaimTokens.sol\";\n\n/**\n * @title Registry contract for issuers to reserve their security token symbols\n * @notice Allows issuers to reserve their token symbols ahead of actually generating their security token.\n * @dev SecurityTokenRegistry would reference this contract and ensure that a token symbol exists here and only its owner can deploy the token with that symbol.\n */\ncontract TickerRegistry is ITickerRegistry, Util, Pausable, RegistryUpdater, ReclaimTokens {\n\n    using SafeMath for uint256;\n    // constant variable to check the validity to use the symbol\n    // For now it's value is 15 days;\n    uint256 public expiryLimit = 15 * 1 days;\n\n    // Details of the symbol that get registered with the polymath platform\n    struct SymbolDetails {\n        address owner;\n        uint256 timestamp;\n        string tokenName;\n        bytes32 swarmHash;\n        bool status;\n    }\n\n    // Storage of symbols correspond to their details.\n    mapping(string => SymbolDetails) registeredSymbols;\n\n    // Emit after the symbol registration\n    event LogRegisterTicker(address indexed _owner, string _symbol, string _name, bytes32 _swarmHash, uint256 indexed _timestamp);\n    // Emit when the token symbol expiry get changed\n    event LogChangeExpiryLimit(uint256 _oldExpiry, uint256 _newExpiry);\n\n    // Registration fee in POLY base 18 decimals\n    uint256 public registrationFee;\n    // Emit when changePolyRegistrationFee is called\n    event LogChangePolyRegistrationFee(uint256 _oldFee, uint256 _newFee);\n\n    constructor (address _polymathRegistry, uint256 _registrationFee) public\n    RegistryUpdater(_polymathRegistry)\n    {\n        registrationFee = _registrationFee;\n    }\n\n    /**\n     * @notice Register the token symbol for its particular owner\n     * @notice Once the token symbol is registered to its owner then no other issuer can claim\n     * @notice its ownership. If the symbol expires and its issuer hasn't used it, then someone else can take it.\n     * @param _symbol token symbol\n     * @param _tokenName Name of the token\n     * @param _owner Address of the owner of the token\n     * @param _swarmHash Off-chain details of the issuer and token\n     */\n    function registerTicker(address _owner, string _symbol, string _tokenName, bytes32 _swarmHash) public whenNotPaused {\n        require(_owner != address(0), \"Owner should not be 0x\");\n        require(bytes(_symbol).length > 0 && bytes(_symbol).length <= 10, \"Ticker length should always between 0 & 10\");\n        if(registrationFee > 0)\n            require(ERC20(polyToken).transferFrom(msg.sender, this, registrationFee), \"Failed transferFrom because of sufficent Allowance is not provided\");\n        string memory symbol = upper(_symbol);\n        require(expiryCheck(symbol), \"Ticker is already reserved\");\n        registeredSymbols[symbol] = SymbolDetails(_owner, now, _tokenName, _swarmHash, false);\n        emit LogRegisterTicker (_owner, symbol, _tokenName, _swarmHash, now);\n    }\n\n    /**\n     * @notice Change the expiry time for the token symbol\n     * @param _newExpiry new time period for token symbol expiry\n     */\n    function changeExpiryLimit(uint256 _newExpiry) public onlyOwner {\n        require(_newExpiry >= 1 days, \"Expiry should greater than or equal to 1 day\");\n        uint256 _oldExpiry = expiryLimit;\n        expiryLimit = _newExpiry;\n        emit LogChangeExpiryLimit(_oldExpiry, _newExpiry);\n    }\n\n    /**\n     * @notice Check the validity of the symbol\n     * @param _symbol token symbol\n     * @param _owner address of the owner\n     * @param _tokenName Name of the token\n     * @return bool\n     */\n    function checkValidity(string _symbol, address _owner, string _tokenName) public returns(bool) {\n        string memory symbol = upper(_symbol);\n        require(msg.sender == securityTokenRegistry, \"msg.sender should be SecurityTokenRegistry contract\");\n        require(registeredSymbols[symbol].status != true, \"Symbol status should not equal to true\");\n        require(registeredSymbols[symbol].owner == _owner, \"Owner of the symbol should matched with the requested issuer address\");\n        require(registeredSymbols[symbol].timestamp.add(expiryLimit) >= now, \"Ticker should not be expired\");\n        registeredSymbols[symbol].tokenName = _tokenName;\n        registeredSymbols[symbol].status = true;\n        return true;\n    }\n\n    /**\n     * @notice Check the symbol is reserved or not\n     * @param _symbol Symbol of the token\n     * @param _owner Owner of the token\n     * @param _tokenName Name of the token\n     * @param _swarmHash off-chain hash\n     * @return bool\n     */\n     function isReserved(string _symbol, address _owner, string _tokenName, bytes32 _swarmHash) public returns(bool) {\n        string memory symbol = upper(_symbol);\n        require(msg.sender == securityTokenRegistry, \"msg.sender should be SecurityTokenRegistry contract\");\n        if (registeredSymbols[symbol].owner == _owner && !expiryCheck(_symbol)) {\n            registeredSymbols[symbol].status = true;\n            return false;\n        }\n        else if (registeredSymbols[symbol].owner == address(0) || expiryCheck(symbol)) {\n            registeredSymbols[symbol] = SymbolDetails(_owner, now, _tokenName, _swarmHash, true);\n            emit LogRegisterTicker (_owner, symbol, _tokenName, _swarmHash, now);\n            return false;\n        } else\n            return true;\n     }\n\n    /**\n     * @notice Returns the owner and timestamp for a given symbol\n     * @param _symbol symbol\n     * @return address\n     * @return uint256\n     * @return string\n     * @return bytes32\n     * @return bool\n     */\n    function getDetails(string _symbol) public view returns (address, uint256, string, bytes32, bool) {\n        string memory symbol = upper(_symbol);\n        if (registeredSymbols[symbol].status == true||registeredSymbols[symbol].timestamp.add(expiryLimit) > now) {\n            return\n            (\n                registeredSymbols[symbol].owner,\n                registeredSymbols[symbol].timestamp,\n                registeredSymbols[symbol].tokenName,\n                registeredSymbols[symbol].swarmHash,\n                registeredSymbols[symbol].status\n            );\n        }else\n            return (address(0), uint256(0), \"\", bytes32(0), false);\n    }\n\n    /**\n     * @notice To re-initialize the token symbol details if symbol validity expires\n     * @param _symbol token symbol\n     * @return bool\n     */\n    function expiryCheck(string _symbol) internal returns(bool) {\n        if (registeredSymbols[_symbol].owner != address(0)) {\n            if (now > registeredSymbols[_symbol].timestamp.add(expiryLimit) && registeredSymbols[_symbol].status != true) {\n                registeredSymbols[_symbol] = SymbolDetails(address(0), uint256(0), \"\", bytes32(0), false);\n                return true;\n            }else\n                return false;\n        }\n        return true;\n    }\n\n    /**\n     * @notice set the ticker registration fee in POLY tokens\n     * @param _registrationFee registration fee in POLY tokens (base 18 decimals)\n     */\n    function changePolyRegistrationFee(uint256 _registrationFee) public onlyOwner {\n        require(registrationFee != _registrationFee);\n        emit LogChangePolyRegistrationFee(registrationFee, _registrationFee);\n        registrationFee = _registrationFee;\n    }\n\n     /**\n     * @notice pause registration function\n     */\n    function unpause() public onlyOwner  {\n        _unpause();\n    }\n\n    /**\n     * @notice unpause registration function\n     */\n    function pause() public onlyOwner {\n        _pause();\n    }\n\n}\n",
  "sourcePath": "/Users/satyamagrawal/Repositories/testing-package/polymath-core/contracts/TickerRegistry.sol",
  "ast": {
    "absolutePath": "/Users/satyamagrawal/Repositories/testing-package/polymath-core/contracts/TickerRegistry.sol",
    "exportedSymbols": {
      "TickerRegistry": [
        1684
      ]
    },
    "id": 1685,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 1145,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:7"
      },
      {
        "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol",
        "file": "openzeppelin-solidity/contracts/math/SafeMath.sol",
        "id": 1146,
        "nodeType": "ImportDirective",
        "scope": 1685,
        "sourceUnit": 22579,
        "src": "26:59:7",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol",
        "file": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol",
        "id": 1147,
        "nodeType": "ImportDirective",
        "scope": 1685,
        "sourceUnit": 22838,
        "src": "86:63:7",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/satyamagrawal/Repositories/testing-package/polymath-core/contracts/interfaces/ITickerRegistry.sol",
        "file": "./interfaces/ITickerRegistry.sol",
        "id": 1148,
        "nodeType": "ImportDirective",
        "scope": 1685,
        "sourceUnit": 10284,
        "src": "150:42:7",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/satyamagrawal/Repositories/testing-package/polymath-core/contracts/helpers/Util.sol",
        "file": "./helpers/Util.sol",
        "id": 1149,
        "nodeType": "ImportDirective",
        "scope": 1685,
        "sourceUnit": 9529,
        "src": "193:28:7",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/satyamagrawal/Repositories/testing-package/polymath-core/contracts/Pausable.sol",
        "file": "./Pausable.sol",
        "id": 1150,
        "nodeType": "ImportDirective",
        "scope": 1685,
        "sourceUnit": 472,
        "src": "222:24:7",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/satyamagrawal/Repositories/testing-package/polymath-core/contracts/RegistryUpdater.sol",
        "file": "./RegistryUpdater.sol",
        "id": 1151,
        "nodeType": "ImportDirective",
        "scope": 1685,
        "sourceUnit": 677,
        "src": "247:31:7",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/satyamagrawal/Repositories/testing-package/polymath-core/contracts/ReclaimTokens.sol",
        "file": "./ReclaimTokens.sol",
        "id": 1152,
        "nodeType": "ImportDirective",
        "scope": 1685,
        "sourceUnit": 600,
        "src": "279:29:7",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 1153,
              "name": "ITickerRegistry",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 10283,
              "src": "694:15:7",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ITickerRegistry_$10283",
                "typeString": "contract ITickerRegistry"
              }
            },
            "id": 1154,
            "nodeType": "InheritanceSpecifier",
            "src": "694:15:7"
          },
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 1155,
              "name": "Util",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 9528,
              "src": "711:4:7",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Util_$9528",
                "typeString": "contract Util"
              }
            },
            "id": 1156,
            "nodeType": "InheritanceSpecifier",
            "src": "711:4:7"
          },
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 1157,
              "name": "Pausable",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 471,
              "src": "717:8:7",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Pausable_$471",
                "typeString": "contract Pausable"
              }
            },
            "id": 1158,
            "nodeType": "InheritanceSpecifier",
            "src": "717:8:7"
          },
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 1159,
              "name": "RegistryUpdater",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 676,
              "src": "727:15:7",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_RegistryUpdater_$676",
                "typeString": "contract RegistryUpdater"
              }
            },
            "id": 1160,
            "nodeType": "InheritanceSpecifier",
            "src": "727:15:7"
          },
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 1161,
              "name": "ReclaimTokens",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 599,
              "src": "744:13:7",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ReclaimTokens_$599",
                "typeString": "contract ReclaimTokens"
              }
            },
            "id": 1162,
            "nodeType": "InheritanceSpecifier",
            "src": "744:13:7"
          }
        ],
        "contractDependencies": [
          471,
          599,
          676,
          9528,
          10283,
          22664
        ],
        "contractKind": "contract",
        "documentation": "@title Registry contract for issuers to reserve their security token symbols\n@notice Allows issuers to reserve their token symbols ahead of actually generating their security token.\n@dev SecurityTokenRegistry would reference this contract and ensure that a token symbol exists here and only its owner can deploy the token with that symbol.",
        "fullyImplemented": true,
        "id": 1684,
        "linearizedBaseContracts": [
          1684,
          599,
          676,
          22664,
          471,
          9528,
          10283
        ],
        "name": "TickerRegistry",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "id": 1165,
            "libraryName": {
              "contractScope": null,
              "id": 1163,
              "name": "SafeMath",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 22578,
              "src": "771:8:7",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_SafeMath_$22578",
                "typeString": "library SafeMath"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "765:27:7",
            "typeName": {
              "id": 1164,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "784:7:7",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            }
          },
          {
            "constant": false,
            "id": 1170,
            "name": "expiryLimit",
            "nodeType": "VariableDeclaration",
            "scope": 1684,
            "src": "900:40:7",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 1166,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "900:7:7",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "commonType": {
                "typeIdentifier": "t_rational_1296000_by_1",
                "typeString": "int_const 1296000"
              },
              "id": 1169,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "lValueRequested": false,
              "leftExpression": {
                "argumentTypes": null,
                "hexValue": "3135",
                "id": 1167,
                "isConstant": false,
                "isLValue": false,
                "isPure": true,
                "kind": "number",
                "lValueRequested": false,
                "nodeType": "Literal",
                "src": "929:2:7",
                "subdenomination": null,
                "typeDescriptions": {
                  "typeIdentifier": "t_rational_15_by_1",
                  "typeString": "int_const 15"
                },
                "value": "15"
              },
              "nodeType": "BinaryOperation",
              "operator": "*",
              "rightExpression": {
                "argumentTypes": null,
                "hexValue": "31",
                "id": 1168,
                "isConstant": false,
                "isLValue": false,
                "isPure": true,
                "kind": "number",
                "lValueRequested": false,
                "nodeType": "Literal",
                "src": "934:6:7",
                "subdenomination": "days",
                "typeDescriptions": {
                  "typeIdentifier": "t_rational_86400_by_1",
                  "typeString": "int_const 86400"
                },
                "value": "1"
              },
              "src": "929:11:7",
              "typeDescriptions": {
                "typeIdentifier": "t_rational_1296000_by_1",
                "typeString": "int_const 1296000"
              }
            },
            "visibility": "public"
          },
          {
            "canonicalName": "TickerRegistry.SymbolDetails",
            "id": 1181,
            "members": [
              {
                "constant": false,
                "id": 1172,
                "name": "owner",
                "nodeType": "VariableDeclaration",
                "scope": 1181,
                "src": "1054:13:7",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 1171,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "1054:7:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 1174,
                "name": "timestamp",
                "nodeType": "VariableDeclaration",
                "scope": 1181,
                "src": "1077:17:7",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 1173,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1077:7:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 1176,
                "name": "tokenName",
                "nodeType": "VariableDeclaration",
                "scope": 1181,
                "src": "1104:16:7",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 1175,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "1104:6:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 1178,
                "name": "swarmHash",
                "nodeType": "VariableDeclaration",
                "scope": 1181,
                "src": "1130:17:7",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 1177,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "1130:7:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 1180,
                "name": "status",
                "nodeType": "VariableDeclaration",
                "scope": 1181,
                "src": "1157:11:7",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bool",
                  "typeString": "bool"
                },
                "typeName": {
                  "id": 1179,
                  "name": "bool",
                  "nodeType": "ElementaryTypeName",
                  "src": "1157:4:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "SymbolDetails",
            "nodeType": "StructDefinition",
            "scope": 1684,
            "src": "1023:152:7",
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 1185,
            "name": "registeredSymbols",
            "nodeType": "VariableDeclaration",
            "scope": 1684,
            "src": "1236:50:7",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
              "typeString": "mapping(string => struct TickerRegistry.SymbolDetails)"
            },
            "typeName": {
              "id": 1184,
              "keyType": {
                "id": 1182,
                "name": "string",
                "nodeType": "ElementaryTypeName",
                "src": "1244:6:7",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                }
              },
              "nodeType": "Mapping",
              "src": "1236:32:7",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                "typeString": "mapping(string => struct TickerRegistry.SymbolDetails)"
              },
              "valueType": {
                "contractScope": null,
                "id": 1183,
                "name": "SymbolDetails",
                "nodeType": "UserDefinedTypeName",
                "referencedDeclaration": 1181,
                "src": "1254:13:7",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage_ptr",
                  "typeString": "struct TickerRegistry.SymbolDetails"
                }
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 1197,
            "name": "LogRegisterTicker",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 1196,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1187,
                  "indexed": true,
                  "name": "_owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 1197,
                  "src": "1359:22:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1186,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1359:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1189,
                  "indexed": false,
                  "name": "_symbol",
                  "nodeType": "VariableDeclaration",
                  "scope": 1197,
                  "src": "1383:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1188,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1383:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1191,
                  "indexed": false,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 1197,
                  "src": "1399:12:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1190,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1399:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1193,
                  "indexed": false,
                  "name": "_swarmHash",
                  "nodeType": "VariableDeclaration",
                  "scope": 1197,
                  "src": "1413:18:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1192,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1413:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1195,
                  "indexed": true,
                  "name": "_timestamp",
                  "nodeType": "VariableDeclaration",
                  "scope": 1197,
                  "src": "1433:26:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1194,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1433:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1358:102:7"
            },
            "src": "1335:126:7"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 1203,
            "name": "LogChangeExpiryLimit",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 1202,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1199,
                  "indexed": false,
                  "name": "_oldExpiry",
                  "nodeType": "VariableDeclaration",
                  "scope": 1203,
                  "src": "1546:18:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1198,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1546:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1201,
                  "indexed": false,
                  "name": "_newExpiry",
                  "nodeType": "VariableDeclaration",
                  "scope": 1203,
                  "src": "1566:18:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1200,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1566:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1545:40:7"
            },
            "src": "1519:67:7"
          },
          {
            "constant": false,
            "id": 1205,
            "name": "registrationFee",
            "nodeType": "VariableDeclaration",
            "scope": 1684,
            "src": "1641:30:7",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 1204,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1641:7:7",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 1211,
            "name": "LogChangePolyRegistrationFee",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 1210,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1207,
                  "indexed": false,
                  "name": "_oldFee",
                  "nodeType": "VariableDeclaration",
                  "scope": 1211,
                  "src": "1765:15:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1206,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1765:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1209,
                  "indexed": false,
                  "name": "_newFee",
                  "nodeType": "VariableDeclaration",
                  "scope": 1211,
                  "src": "1782:15:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1208,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1782:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1764:34:7"
            },
            "src": "1730:69:7"
          },
          {
            "body": {
              "id": 1225,
              "nodeType": "Block",
              "src": "1921:51:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1223,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 1221,
                      "name": "registrationFee",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1205,
                      "src": "1931:15:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 1222,
                      "name": "_registrationFee",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1215,
                      "src": "1949:16:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1931:34:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 1224,
                  "nodeType": "ExpressionStatement",
                  "src": "1931:34:7"
                }
              ]
            },
            "documentation": null,
            "id": 1226,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 1218,
                    "name": "_polymathRegistry",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 1213,
                    "src": "1898:17:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  }
                ],
                "id": 1219,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1217,
                  "name": "RegistryUpdater",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 676,
                  "src": "1882:15:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_type$_t_contract$_RegistryUpdater_$676_$",
                    "typeString": "type(contract RegistryUpdater)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1882:34:7"
              }
            ],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1216,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1213,
                  "name": "_polymathRegistry",
                  "nodeType": "VariableDeclaration",
                  "scope": 1226,
                  "src": "1818:25:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1212,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1818:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1215,
                  "name": "_registrationFee",
                  "nodeType": "VariableDeclaration",
                  "scope": 1226,
                  "src": "1845:24:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1214,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1845:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1817:53:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 1220,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1921:0:7"
            },
            "scope": 1684,
            "src": "1805:167:7",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1315,
              "nodeType": "Block",
              "src": "2585:670:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 1244,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 1240,
                          "name": "_owner",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1228,
                          "src": "2603:6:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 1242,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2621:1:7",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "id": 1241,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "2613:7:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": "address"
                          },
                          "id": 1243,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2613:10:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "2603:20:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4f776e65722073686f756c64206e6f74206265203078",
                        "id": 1245,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2625:24:7",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_d8257c0ca2535bc1dc4b05833f637067b4344f29089af677551c232811407713",
                          "typeString": "literal_string \"Owner should not be 0x\""
                        },
                        "value": "Owner should not be 0x"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_d8257c0ca2535bc1dc4b05833f637067b4344f29089af677551c232811407713",
                          "typeString": "literal_string \"Owner should not be 0x\""
                        }
                      ],
                      "id": 1239,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "2595:7:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 1246,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2595:55:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1247,
                  "nodeType": "ExpressionStatement",
                  "src": "2595:55:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 1261,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 1254,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 1250,
                                  "name": "_symbol",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1230,
                                  "src": "2674:7:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                ],
                                "id": 1249,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "2668:5:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                                  "typeString": "type(bytes storage pointer)"
                                },
                                "typeName": "bytes"
                              },
                              "id": 1251,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2668:14:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory",
                                "typeString": "bytes memory"
                              }
                            },
                            "id": 1252,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "2668:21:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 1253,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2692:1:7",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "2668:25:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "&&",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 1260,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 1256,
                                  "name": "_symbol",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1230,
                                  "src": "2703:7:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                ],
                                "id": 1255,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "2697:5:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                                  "typeString": "type(bytes storage pointer)"
                                },
                                "typeName": "bytes"
                              },
                              "id": 1257,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2697:14:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory",
                                "typeString": "bytes memory"
                              }
                            },
                            "id": 1258,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "2697:21:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "<=",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "3130",
                            "id": 1259,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2722:2:7",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_10_by_1",
                              "typeString": "int_const 10"
                            },
                            "value": "10"
                          },
                          "src": "2697:27:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "2668:56:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "5469636b6572206c656e6774682073686f756c6420616c77617973206265747765656e20302026203130",
                        "id": 1262,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2726:44:7",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_5eddf6ec9badb8fceef35bcadfe661994a10f986712642fb732f9d31124ffe7d",
                          "typeString": "literal_string \"Ticker length should always between 0 & 10\""
                        },
                        "value": "Ticker length should always between 0 & 10"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_5eddf6ec9badb8fceef35bcadfe661994a10f986712642fb732f9d31124ffe7d",
                          "typeString": "literal_string \"Ticker length should always between 0 & 10\""
                        }
                      ],
                      "id": 1248,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "2660:7:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 1263,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2660:111:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1264,
                  "nodeType": "ExpressionStatement",
                  "src": "2660:111:7"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 1267,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 1265,
                      "name": "registrationFee",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1205,
                      "src": "2784:15:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 1266,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "2802:1:7",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "2784:19:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 1281,
                  "nodeType": "IfStatement",
                  "src": "2781:179:7",
                  "trueBody": {
                    "expression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 1273,
                                "name": "msg",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 23131,
                                "src": "2855:3:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_message",
                                  "typeString": "msg"
                                }
                              },
                              "id": 1274,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "sender",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": null,
                              "src": "2855:10:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 1275,
                              "name": "this",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 23204,
                              "src": "2867:4:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_TickerRegistry_$1684",
                                "typeString": "contract TickerRegistry"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 1276,
                              "name": "registrationFee",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1205,
                              "src": "2873:15:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_contract$_TickerRegistry_$1684",
                                "typeString": "contract TickerRegistry"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 1270,
                                  "name": "polyToken",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 615,
                                  "src": "2831:9:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                ],
                                "id": 1269,
                                "name": "ERC20",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 22837,
                                "src": "2825:5:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_ERC20_$22837_$",
                                  "typeString": "type(contract ERC20)"
                                }
                              },
                              "id": 1271,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2825:16:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_ERC20_$22837",
                                "typeString": "contract ERC20"
                              }
                            },
                            "id": 1272,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "transferFrom",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 22819,
                            "src": "2825:29:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$",
                              "typeString": "function (address,address,uint256) external returns (bool)"
                            }
                          },
                          "id": 1277,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2825:64:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "hexValue": "4661696c6564207472616e7366657246726f6d2062656361757365206f6620737566666963656e7420416c6c6f77616e6365206973206e6f742070726f7669646564",
                          "id": 1278,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "string",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2891:68:7",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_stringliteral_39f8133d9e40dc5e6b34d9a9e536ce9c723fe05af13c2feb51de7d902ca65f7f",
                            "typeString": "literal_string \"Failed transferFrom because of sufficent Allowance is not provided\""
                          },
                          "value": "Failed transferFrom because of sufficent Allowance is not provided"
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          {
                            "typeIdentifier": "t_stringliteral_39f8133d9e40dc5e6b34d9a9e536ce9c723fe05af13c2feb51de7d902ca65f7f",
                            "typeString": "literal_string \"Failed transferFrom because of sufficent Allowance is not provided\""
                          }
                        ],
                        "id": 1268,
                        "name": "require",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [
                          23134,
                          23135
                        ],
                        "referencedDeclaration": 23135,
                        "src": "2817:7:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                          "typeString": "function (bool,string memory) pure"
                        }
                      },
                      "id": 1279,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2817:143:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$__$",
                        "typeString": "tuple()"
                      }
                    },
                    "id": 1280,
                    "nodeType": "ExpressionStatement",
                    "src": "2817:143:7"
                  }
                },
                {
                  "assignments": [
                    1283
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 1283,
                      "name": "symbol",
                      "nodeType": "VariableDeclaration",
                      "scope": 1316,
                      "src": "2970:20:7",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 1282,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "2970:6:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 1287,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1285,
                        "name": "_symbol",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1230,
                        "src": "2999:7:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 1284,
                      "name": "upper",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9527,
                      "src": "2993:5:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$",
                        "typeString": "function (string memory) pure returns (string memory)"
                      }
                    },
                    "id": 1286,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2993:14:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2970:37:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 1290,
                            "name": "symbol",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1283,
                            "src": "3037:6:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          ],
                          "id": 1289,
                          "name": "expiryCheck",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1642,
                          "src": "3025:11:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_bool_$",
                            "typeString": "function (string memory) returns (bool)"
                          }
                        },
                        "id": 1291,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3025:19:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "5469636b657220697320616c7265616479207265736572766564",
                        "id": 1292,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3046:28:7",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_292ca2791ba2b50eddd1ca7376625146437585c2ac1a14d1b70216c9f042e204",
                          "typeString": "literal_string \"Ticker is already reserved\""
                        },
                        "value": "Ticker is already reserved"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_292ca2791ba2b50eddd1ca7376625146437585c2ac1a14d1b70216c9f042e204",
                          "typeString": "literal_string \"Ticker is already reserved\""
                        }
                      ],
                      "id": 1288,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "3017:7:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 1293,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3017:58:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1294,
                  "nodeType": "ExpressionStatement",
                  "src": "3017:58:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1305,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 1295,
                        "name": "registeredSymbols",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1185,
                        "src": "3085:17:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                          "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                        }
                      },
                      "id": 1297,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 1296,
                        "name": "symbol",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1283,
                        "src": "3103:6:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "3085:25:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                        "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 1299,
                          "name": "_owner",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1228,
                          "src": "3127:6:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 1300,
                          "name": "now",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 23133,
                          "src": "3135:3:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 1301,
                          "name": "_tokenName",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1232,
                          "src": "3140:10:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 1302,
                          "name": "_swarmHash",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1234,
                          "src": "3152:10:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "hexValue": "66616c7365",
                          "id": 1303,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "3164:5:7",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "false"
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          },
                          {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        ],
                        "id": 1298,
                        "name": "SymbolDetails",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1181,
                        "src": "3113:13:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_struct$_SymbolDetails_$1181_storage_ptr_$",
                          "typeString": "type(struct TickerRegistry.SymbolDetails storage pointer)"
                        }
                      },
                      "id": 1304,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "structConstructorCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3113:57:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_SymbolDetails_$1181_memory",
                        "typeString": "struct TickerRegistry.SymbolDetails memory"
                      }
                    },
                    "src": "3085:85:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                      "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                    }
                  },
                  "id": 1306,
                  "nodeType": "ExpressionStatement",
                  "src": "3085:85:7"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1308,
                        "name": "_owner",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1228,
                        "src": "3204:6:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1309,
                        "name": "symbol",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1283,
                        "src": "3212:6:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1310,
                        "name": "_tokenName",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1232,
                        "src": "3220:10:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1311,
                        "name": "_swarmHash",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1234,
                        "src": "3232:10:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1312,
                        "name": "now",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 23133,
                        "src": "3244:3:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 1307,
                      "name": "LogRegisterTicker",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1197,
                      "src": "3185:17:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes32_$_t_uint256_$returns$__$",
                        "typeString": "function (address,string memory,string memory,bytes32,uint256)"
                      }
                    },
                    "id": 1313,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3185:63:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1314,
                  "nodeType": "EmitStatement",
                  "src": "3180:68:7"
                }
              ]
            },
            "documentation": "@notice Register the token symbol for its particular owner\n@notice Once the token symbol is registered to its owner then no other issuer can claim\n@notice its ownership. If the symbol expires and its issuer hasn't used it, then someone else can take it.\n@param _symbol token symbol\n@param _tokenName Name of the token\n@param _owner Address of the owner of the token\n@param _swarmHash Off-chain details of the issuer and token",
            "id": 1316,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 1237,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1236,
                  "name": "whenNotPaused",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 433,
                  "src": "2571:13:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2571:13:7"
              }
            ],
            "name": "registerTicker",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1235,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1228,
                  "name": "_owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 1316,
                  "src": "2493:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1227,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2493:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1230,
                  "name": "_symbol",
                  "nodeType": "VariableDeclaration",
                  "scope": 1316,
                  "src": "2509:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1229,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2509:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1232,
                  "name": "_tokenName",
                  "nodeType": "VariableDeclaration",
                  "scope": 1316,
                  "src": "2525:17:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1231,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2525:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1234,
                  "name": "_swarmHash",
                  "nodeType": "VariableDeclaration",
                  "scope": 1316,
                  "src": "2544:18:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1233,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2544:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2492:71:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 1238,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2585:0:7"
            },
            "scope": 1684,
            "src": "2469:786:7",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1343,
              "nodeType": "Block",
              "src": "3465:229:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 1326,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 1324,
                          "name": "_newExpiry",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1318,
                          "src": "3483:10:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 1325,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "3497:6:7",
                          "subdenomination": "days",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_86400_by_1",
                            "typeString": "int_const 86400"
                          },
                          "value": "1"
                        },
                        "src": "3483:20:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4578706972792073686f756c642067726561746572207468616e206f7220657175616c20746f203120646179",
                        "id": 1327,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3505:46:7",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_4bf784af45b69bea332aab740317b3b05c76a11a0e99434e79e3d4641b5935db",
                          "typeString": "literal_string \"Expiry should greater than or equal to 1 day\""
                        },
                        "value": "Expiry should greater than or equal to 1 day"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_4bf784af45b69bea332aab740317b3b05c76a11a0e99434e79e3d4641b5935db",
                          "typeString": "literal_string \"Expiry should greater than or equal to 1 day\""
                        }
                      ],
                      "id": 1323,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "3475:7:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 1328,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3475:77:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1329,
                  "nodeType": "ExpressionStatement",
                  "src": "3475:77:7"
                },
                {
                  "assignments": [
                    1331
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 1331,
                      "name": "_oldExpiry",
                      "nodeType": "VariableDeclaration",
                      "scope": 1344,
                      "src": "3562:18:7",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 1330,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "3562:7:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 1333,
                  "initialValue": {
                    "argumentTypes": null,
                    "id": 1332,
                    "name": "expiryLimit",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 1170,
                    "src": "3583:11:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3562:32:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1336,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 1334,
                      "name": "expiryLimit",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1170,
                      "src": "3604:11:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 1335,
                      "name": "_newExpiry",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1318,
                      "src": "3618:10:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3604:24:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 1337,
                  "nodeType": "ExpressionStatement",
                  "src": "3604:24:7"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1339,
                        "name": "_oldExpiry",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1331,
                        "src": "3664:10:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1340,
                        "name": "_newExpiry",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1318,
                        "src": "3676:10:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 1338,
                      "name": "LogChangeExpiryLimit",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1203,
                      "src": "3643:20:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$",
                        "typeString": "function (uint256,uint256)"
                      }
                    },
                    "id": 1341,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3643:44:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1342,
                  "nodeType": "EmitStatement",
                  "src": "3638:49:7"
                }
              ]
            },
            "documentation": "@notice Change the expiry time for the token symbol\n@param _newExpiry new time period for token symbol expiry",
            "id": 1344,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 1321,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1320,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 22612,
                  "src": "3455:9:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "3455:9:7"
              }
            ],
            "name": "changeExpiryLimit",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1319,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1318,
                  "name": "_newExpiry",
                  "nodeType": "VariableDeclaration",
                  "scope": 1344,
                  "src": "3428:18:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1317,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3428:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3427:20:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 1322,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3465:0:7"
            },
            "scope": 1684,
            "src": "3401:293:7",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1418,
              "nodeType": "Block",
              "src": "3999:634:7",
              "statements": [
                {
                  "assignments": [
                    1356
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 1356,
                      "name": "symbol",
                      "nodeType": "VariableDeclaration",
                      "scope": 1419,
                      "src": "4009:20:7",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 1355,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "4009:6:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 1360,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1358,
                        "name": "_symbol",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1346,
                        "src": "4038:7:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 1357,
                      "name": "upper",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9527,
                      "src": "4032:5:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$",
                        "typeString": "function (string memory) pure returns (string memory)"
                      }
                    },
                    "id": 1359,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4032:14:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4009:37:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 1365,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 1362,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 23131,
                            "src": "4064:3:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 1363,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "4064:10:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 1364,
                          "name": "securityTokenRegistry",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 611,
                          "src": "4078:21:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "4064:35:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "6d73672e73656e6465722073686f756c64206265205365637572697479546f6b656e526567697374727920636f6e7472616374",
                        "id": 1366,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4101:53:7",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_f7d24bd0ec670f7e977fd4e0b70c26b81d860782ac5c86c998ddd6f731bf1f48",
                          "typeString": "literal_string \"msg.sender should be SecurityTokenRegistry contract\""
                        },
                        "value": "msg.sender should be SecurityTokenRegistry contract"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_f7d24bd0ec670f7e977fd4e0b70c26b81d860782ac5c86c998ddd6f731bf1f48",
                          "typeString": "literal_string \"msg.sender should be SecurityTokenRegistry contract\""
                        }
                      ],
                      "id": 1361,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "4056:7:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 1367,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4056:99:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1368,
                  "nodeType": "ExpressionStatement",
                  "src": "4056:99:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 1375,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 1370,
                              "name": "registeredSymbols",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1185,
                              "src": "4173:17:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                                "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                              }
                            },
                            "id": 1372,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 1371,
                              "name": "symbol",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1356,
                              "src": "4191:6:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "4173:25:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                              "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                            }
                          },
                          "id": 1373,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "status",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 1180,
                          "src": "4173:32:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "74727565",
                          "id": 1374,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "4209:4:7",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "true"
                        },
                        "src": "4173:40:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "53796d626f6c207374617475732073686f756c64206e6f7420657175616c20746f2074727565",
                        "id": 1376,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4215:40:7",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_fbc2e0b6c728e2446500abaac89f015c1b4b1c33d0bcbe8c0027a758cc21fcdb",
                          "typeString": "literal_string \"Symbol status should not equal to true\""
                        },
                        "value": "Symbol status should not equal to true"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_fbc2e0b6c728e2446500abaac89f015c1b4b1c33d0bcbe8c0027a758cc21fcdb",
                          "typeString": "literal_string \"Symbol status should not equal to true\""
                        }
                      ],
                      "id": 1369,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "4165:7:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 1377,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4165:91:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1378,
                  "nodeType": "ExpressionStatement",
                  "src": "4165:91:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 1385,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 1380,
                              "name": "registeredSymbols",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1185,
                              "src": "4274:17:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                                "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                              }
                            },
                            "id": 1382,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 1381,
                              "name": "symbol",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1356,
                              "src": "4292:6:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "4274:25:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                              "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                            }
                          },
                          "id": 1383,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "owner",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 1172,
                          "src": "4274:31:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 1384,
                          "name": "_owner",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1348,
                          "src": "4309:6:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "4274:41:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4f776e6572206f66207468652073796d626f6c2073686f756c64206d61746368656420776974682074686520726571756573746564206973737565722061646472657373",
                        "id": 1386,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4317:70:7",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_a316818764760ff4ade7b2696656f5f48df62ddf258041ff0ccf6929bad59049",
                          "typeString": "literal_string \"Owner of the symbol should matched with the requested issuer address\""
                        },
                        "value": "Owner of the symbol should matched with the requested issuer address"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_a316818764760ff4ade7b2696656f5f48df62ddf258041ff0ccf6929bad59049",
                          "typeString": "literal_string \"Owner of the symbol should matched with the requested issuer address\""
                        }
                      ],
                      "id": 1379,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "4266:7:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 1387,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4266:122:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1388,
                  "nodeType": "ExpressionStatement",
                  "src": "4266:122:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 1398,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 1395,
                              "name": "expiryLimit",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1170,
                              "src": "4446:11:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 1390,
                                  "name": "registeredSymbols",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1185,
                                  "src": "4406:17:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                                    "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                                  }
                                },
                                "id": 1392,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 1391,
                                  "name": "symbol",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1356,
                                  "src": "4424:6:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "4406:25:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                                  "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                                }
                              },
                              "id": 1393,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "timestamp",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 1174,
                              "src": "4406:35:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "id": 1394,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "add",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 22577,
                            "src": "4406:39:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                              "typeString": "function (uint256,uint256) pure returns (uint256)"
                            }
                          },
                          "id": 1396,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4406:52:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 1397,
                          "name": "now",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 23133,
                          "src": "4462:3:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "4406:59:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "5469636b65722073686f756c64206e6f742062652065787069726564",
                        "id": 1399,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4467:30:7",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_b267cb99c032747d8c4316b6c52caea9e44e9e6a22dd9e0be1d8c21616930dd1",
                          "typeString": "literal_string \"Ticker should not be expired\""
                        },
                        "value": "Ticker should not be expired"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_b267cb99c032747d8c4316b6c52caea9e44e9e6a22dd9e0be1d8c21616930dd1",
                          "typeString": "literal_string \"Ticker should not be expired\""
                        }
                      ],
                      "id": 1389,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "4398:7:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 1400,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4398:100:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1401,
                  "nodeType": "ExpressionStatement",
                  "src": "4398:100:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1407,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 1402,
                          "name": "registeredSymbols",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1185,
                          "src": "4508:17:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                            "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                          }
                        },
                        "id": 1404,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 1403,
                          "name": "symbol",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1356,
                          "src": "4526:6:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "4508:25:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                          "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                        }
                      },
                      "id": 1405,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "tokenName",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 1176,
                      "src": "4508:35:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage",
                        "typeString": "string storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 1406,
                      "name": "_tokenName",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1350,
                      "src": "4546:10:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "src": "4508:48:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "id": 1408,
                  "nodeType": "ExpressionStatement",
                  "src": "4508:48:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1414,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 1409,
                          "name": "registeredSymbols",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1185,
                          "src": "4566:17:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                            "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                          }
                        },
                        "id": 1411,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 1410,
                          "name": "symbol",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1356,
                          "src": "4584:6:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "4566:25:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                          "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                        }
                      },
                      "id": 1412,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "status",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 1180,
                      "src": "4566:32:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "74727565",
                      "id": 1413,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "4601:4:7",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "true"
                    },
                    "src": "4566:39:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 1415,
                  "nodeType": "ExpressionStatement",
                  "src": "4566:39:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "hexValue": "74727565",
                    "id": 1416,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "bool",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "4622:4:7",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "value": "true"
                  },
                  "functionReturnParameters": 1354,
                  "id": 1417,
                  "nodeType": "Return",
                  "src": "4615:11:7"
                }
              ]
            },
            "documentation": "@notice Check the validity of the symbol\n@param _symbol token symbol\n@param _owner address of the owner\n@param _tokenName Name of the token\n@return bool",
            "id": 1419,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "checkValidity",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1351,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1346,
                  "name": "_symbol",
                  "nodeType": "VariableDeclaration",
                  "scope": 1419,
                  "src": "3927:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1345,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "3927:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1348,
                  "name": "_owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 1419,
                  "src": "3943:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1347,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3943:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1350,
                  "name": "_tokenName",
                  "nodeType": "VariableDeclaration",
                  "scope": 1419,
                  "src": "3959:17:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1349,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "3959:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3926:51:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 1354,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1353,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1419,
                  "src": "3993:4:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1352,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "3993:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3992:6:7"
            },
            "scope": 1684,
            "src": "3904:729:7",
            "stateMutability": "nonpayable",
            "superFunction": 10254,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1506,
              "nodeType": "Block",
              "src": "5004:670:7",
              "statements": [
                {
                  "assignments": [
                    1433
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 1433,
                      "name": "symbol",
                      "nodeType": "VariableDeclaration",
                      "scope": 1507,
                      "src": "5014:20:7",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 1432,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "5014:6:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 1437,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1435,
                        "name": "_symbol",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1421,
                        "src": "5043:7:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 1434,
                      "name": "upper",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9527,
                      "src": "5037:5:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$",
                        "typeString": "function (string memory) pure returns (string memory)"
                      }
                    },
                    "id": 1436,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5037:14:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5014:37:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 1442,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 1439,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 23131,
                            "src": "5069:3:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 1440,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "5069:10:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 1441,
                          "name": "securityTokenRegistry",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 611,
                          "src": "5083:21:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "5069:35:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "6d73672e73656e6465722073686f756c64206265205365637572697479546f6b656e526567697374727920636f6e7472616374",
                        "id": 1443,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5106:53:7",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_f7d24bd0ec670f7e977fd4e0b70c26b81d860782ac5c86c998ddd6f731bf1f48",
                          "typeString": "literal_string \"msg.sender should be SecurityTokenRegistry contract\""
                        },
                        "value": "msg.sender should be SecurityTokenRegistry contract"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_f7d24bd0ec670f7e977fd4e0b70c26b81d860782ac5c86c998ddd6f731bf1f48",
                          "typeString": "literal_string \"msg.sender should be SecurityTokenRegistry contract\""
                        }
                      ],
                      "id": 1438,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "5061:7:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 1444,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5061:99:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1445,
                  "nodeType": "ExpressionStatement",
                  "src": "5061:99:7"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 1456,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "id": 1451,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 1446,
                            "name": "registeredSymbols",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1185,
                            "src": "5174:17:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                              "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                            }
                          },
                          "id": 1448,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 1447,
                            "name": "symbol",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1433,
                            "src": "5192:6:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "5174:25:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                            "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                          }
                        },
                        "id": 1449,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "owner",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 1172,
                        "src": "5174:31:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "argumentTypes": null,
                        "id": 1450,
                        "name": "_owner",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1423,
                        "src": "5209:6:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "src": "5174:41:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "&&",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 1455,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "!",
                      "prefix": true,
                      "src": "5219:21:7",
                      "subExpression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 1453,
                            "name": "_symbol",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1421,
                            "src": "5232:7:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          ],
                          "id": 1452,
                          "name": "expiryCheck",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1642,
                          "src": "5220:11:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_bool_$",
                            "typeString": "function (string memory) returns (bool)"
                          }
                        },
                        "id": 1454,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5220:20:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "5174:66:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "id": 1478,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 1474,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 1467,
                              "name": "registeredSymbols",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1185,
                              "src": "5350:17:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                                "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                              }
                            },
                            "id": 1469,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 1468,
                              "name": "symbol",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1433,
                              "src": "5368:6:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "5350:25:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                              "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                            }
                          },
                          "id": 1470,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "owner",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 1172,
                          "src": "5350:31:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 1472,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "5393:1:7",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "id": 1471,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "5385:7:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": "address"
                          },
                          "id": 1473,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "5385:10:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "5350:45:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "||",
                      "rightExpression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 1476,
                            "name": "symbol",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1433,
                            "src": "5411:6:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          ],
                          "id": 1475,
                          "name": "expiryCheck",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1642,
                          "src": "5399:11:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_bool_$",
                            "typeString": "function (string memory) returns (bool)"
                          }
                        },
                        "id": 1477,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5399:19:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "src": "5350:68:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": {
                      "expression": {
                        "argumentTypes": null,
                        "hexValue": "74727565",
                        "id": 1502,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "bool",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5662:4:7",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "value": "true"
                      },
                      "functionReturnParameters": 1431,
                      "id": 1503,
                      "nodeType": "Return",
                      "src": "5655:11:7"
                    },
                    "id": 1504,
                    "nodeType": "IfStatement",
                    "src": "5346:320:7",
                    "trueBody": {
                      "id": 1501,
                      "nodeType": "Block",
                      "src": "5420:217:7",
                      "statements": [
                        {
                          "expression": {
                            "argumentTypes": null,
                            "id": 1489,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftHandSide": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 1479,
                                "name": "registeredSymbols",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1185,
                                "src": "5434:17:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                                  "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                                }
                              },
                              "id": 1481,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 1480,
                                "name": "symbol",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1433,
                                "src": "5452:6:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "nodeType": "IndexAccess",
                              "src": "5434:25:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                                "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                              }
                            },
                            "nodeType": "Assignment",
                            "operator": "=",
                            "rightHandSide": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 1483,
                                  "name": "_owner",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1423,
                                  "src": "5476:6:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 1484,
                                  "name": "now",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 23133,
                                  "src": "5484:3:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 1485,
                                  "name": "_tokenName",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1425,
                                  "src": "5489:10:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 1486,
                                  "name": "_swarmHash",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1427,
                                  "src": "5501:10:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "hexValue": "74727565",
                                  "id": 1487,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "bool",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "5513:4:7",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  },
                                  "value": "true"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  },
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  },
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  },
                                  {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                ],
                                "id": 1482,
                                "name": "SymbolDetails",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1181,
                                "src": "5462:13:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_struct$_SymbolDetails_$1181_storage_ptr_$",
                                  "typeString": "type(struct TickerRegistry.SymbolDetails storage pointer)"
                                }
                              },
                              "id": 1488,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "structConstructorCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "5462:56:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_SymbolDetails_$1181_memory",
                                "typeString": "struct TickerRegistry.SymbolDetails memory"
                              }
                            },
                            "src": "5434:84:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                              "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                            }
                          },
                          "id": 1490,
                          "nodeType": "ExpressionStatement",
                          "src": "5434:84:7"
                        },
                        {
                          "eventCall": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 1492,
                                "name": "_owner",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1423,
                                "src": "5556:6:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 1493,
                                "name": "symbol",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1433,
                                "src": "5564:6:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 1494,
                                "name": "_tokenName",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1425,
                                "src": "5572:10:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 1495,
                                "name": "_swarmHash",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1427,
                                "src": "5584:10:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 1496,
                                "name": "now",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 23133,
                                "src": "5596:3:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                },
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 1491,
                              "name": "LogRegisterTicker",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1197,
                              "src": "5537:17:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes32_$_t_uint256_$returns$__$",
                                "typeString": "function (address,string memory,string memory,bytes32,uint256)"
                              }
                            },
                            "id": 1497,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5537:63:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$__$",
                              "typeString": "tuple()"
                            }
                          },
                          "id": 1498,
                          "nodeType": "EmitStatement",
                          "src": "5532:68:7"
                        },
                        {
                          "expression": {
                            "argumentTypes": null,
                            "hexValue": "66616c7365",
                            "id": 1499,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "bool",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "5621:5:7",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "value": "false"
                          },
                          "functionReturnParameters": 1431,
                          "id": 1500,
                          "nodeType": "Return",
                          "src": "5614:12:7"
                        }
                      ]
                    }
                  },
                  "id": 1505,
                  "nodeType": "IfStatement",
                  "src": "5170:496:7",
                  "trueBody": {
                    "id": 1466,
                    "nodeType": "Block",
                    "src": "5242:90:7",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 1462,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 1457,
                                "name": "registeredSymbols",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1185,
                                "src": "5256:17:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                                  "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                                }
                              },
                              "id": 1459,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 1458,
                                "name": "symbol",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1433,
                                "src": "5274:6:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "5256:25:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                                "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                              }
                            },
                            "id": 1460,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberName": "status",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 1180,
                            "src": "5256:32:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "hexValue": "74727565",
                            "id": 1461,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "bool",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "5291:4:7",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "value": "true"
                          },
                          "src": "5256:39:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 1463,
                        "nodeType": "ExpressionStatement",
                        "src": "5256:39:7"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "hexValue": "66616c7365",
                          "id": 1464,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "5316:5:7",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "false"
                        },
                        "functionReturnParameters": 1431,
                        "id": 1465,
                        "nodeType": "Return",
                        "src": "5309:12:7"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": "@notice Check the symbol is reserved or not\n@param _symbol Symbol of the token\n@param _owner Owner of the token\n@param _tokenName Name of the token\n@param _swarmHash off-chain hash\n@return bool",
            "id": 1507,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "isReserved",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1428,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1421,
                  "name": "_symbol",
                  "nodeType": "VariableDeclaration",
                  "scope": 1507,
                  "src": "4912:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1420,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "4912:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1423,
                  "name": "_owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 1507,
                  "src": "4928:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1422,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4928:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1425,
                  "name": "_tokenName",
                  "nodeType": "VariableDeclaration",
                  "scope": 1507,
                  "src": "4944:17:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1424,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "4944:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1427,
                  "name": "_swarmHash",
                  "nodeType": "VariableDeclaration",
                  "scope": 1507,
                  "src": "4963:18:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1426,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4963:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4911:71:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 1431,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1430,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1507,
                  "src": "4998:4:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1429,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "4998:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4997:6:7"
            },
            "scope": 1684,
            "src": "4892:782:7",
            "stateMutability": "nonpayable",
            "superFunction": 10282,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1581,
              "nodeType": "Block",
              "src": "6000:557:7",
              "statements": [
                {
                  "assignments": [
                    1523
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 1523,
                      "name": "symbol",
                      "nodeType": "VariableDeclaration",
                      "scope": 1582,
                      "src": "6010:20:7",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 1522,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "6010:6:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 1527,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1525,
                        "name": "_symbol",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1509,
                        "src": "6039:7:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 1524,
                      "name": "upper",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9527,
                      "src": "6033:5:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$",
                        "typeString": "function (string memory) pure returns (string memory)"
                      }
                    },
                    "id": 1526,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6033:14:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6010:37:7"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 1543,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "id": 1533,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 1528,
                            "name": "registeredSymbols",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1185,
                            "src": "6061:17:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                              "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                            }
                          },
                          "id": 1530,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 1529,
                            "name": "symbol",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1523,
                            "src": "6079:6:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "6061:25:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                            "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                          }
                        },
                        "id": 1531,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "status",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 1180,
                        "src": "6061:32:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "74727565",
                        "id": 1532,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "bool",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6097:4:7",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "value": "true"
                      },
                      "src": "6061:40:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "||",
                    "rightExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 1542,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 1539,
                            "name": "expiryLimit",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1170,
                            "src": "6143:11:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 1534,
                                "name": "registeredSymbols",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1185,
                                "src": "6103:17:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                                  "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                                }
                              },
                              "id": 1536,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 1535,
                                "name": "symbol",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1523,
                                "src": "6121:6:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "6103:25:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                                "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                              }
                            },
                            "id": 1537,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "timestamp",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 1174,
                            "src": "6103:35:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 1538,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "add",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 22577,
                          "src": "6103:39:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                            "typeString": "function (uint256,uint256) pure returns (uint256)"
                          }
                        },
                        "id": 1540,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6103:52:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": ">",
                      "rightExpression": {
                        "argumentTypes": null,
                        "id": 1541,
                        "name": "now",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 23133,
                        "src": "6158:3:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "6103:58:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "6061:100:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "expression": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 1568,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6512:1:7",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "id": 1567,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "6504:7:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": "address"
                          },
                          "id": 1569,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6504:10:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 1571,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6524:1:7",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "id": 1570,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "6516:7:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_uint256_$",
                              "typeString": "type(uint256)"
                            },
                            "typeName": "uint256"
                          },
                          "id": 1572,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6516:10:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "hexValue": "",
                          "id": 1573,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "string",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "6528:2:7",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                            "typeString": "literal_string \"\""
                          },
                          "value": ""
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 1575,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6540:1:7",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "id": 1574,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "6532:7:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_bytes32_$",
                              "typeString": "type(bytes32)"
                            },
                            "typeName": "bytes32"
                          },
                          "id": 1576,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6532:10:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "hexValue": "66616c7365",
                          "id": 1577,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "6544:5:7",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "false"
                        }
                      ],
                      "id": 1578,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "TupleExpression",
                      "src": "6503:47:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_$_t_bytes32_$_t_bool_$",
                        "typeString": "tuple(address,uint256,literal_string \"\",bytes32,bool)"
                      }
                    },
                    "functionReturnParameters": 1521,
                    "id": 1579,
                    "nodeType": "Return",
                    "src": "6496:54:7"
                  },
                  "id": 1580,
                  "nodeType": "IfStatement",
                  "src": "6057:493:7",
                  "trueBody": {
                    "id": 1566,
                    "nodeType": "Block",
                    "src": "6163:316:7",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "components": [
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 1544,
                                  "name": "registeredSymbols",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1185,
                                  "src": "6214:17:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                                    "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                                  }
                                },
                                "id": 1546,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 1545,
                                  "name": "symbol",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1523,
                                  "src": "6232:6:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "6214:25:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                                  "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                                }
                              },
                              "id": 1547,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "owner",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 1172,
                              "src": "6214:31:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 1548,
                                  "name": "registeredSymbols",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1185,
                                  "src": "6263:17:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                                    "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                                  }
                                },
                                "id": 1550,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 1549,
                                  "name": "symbol",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1523,
                                  "src": "6281:6:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "6263:25:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                                  "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                                }
                              },
                              "id": 1551,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "timestamp",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 1174,
                              "src": "6263:35:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 1552,
                                  "name": "registeredSymbols",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1185,
                                  "src": "6316:17:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                                    "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                                  }
                                },
                                "id": 1554,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 1553,
                                  "name": "symbol",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1523,
                                  "src": "6334:6:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "6316:25:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                                  "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                                }
                              },
                              "id": 1555,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "tokenName",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 1176,
                              "src": "6316:35:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_storage",
                                "typeString": "string storage ref"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 1556,
                                  "name": "registeredSymbols",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1185,
                                  "src": "6369:17:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                                    "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                                  }
                                },
                                "id": 1558,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 1557,
                                  "name": "symbol",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1523,
                                  "src": "6387:6:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "6369:25:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                                  "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                                }
                              },
                              "id": 1559,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "swarmHash",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 1178,
                              "src": "6369:35:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 1560,
                                  "name": "registeredSymbols",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1185,
                                  "src": "6422:17:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                                    "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                                  }
                                },
                                "id": 1562,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 1561,
                                  "name": "symbol",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1523,
                                  "src": "6440:6:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "6422:25:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                                  "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                                }
                              },
                              "id": 1563,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "status",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 1180,
                              "src": "6422:32:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            }
                          ],
                          "id": 1564,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "TupleExpression",
                          "src": "6196:272:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_string_storage_$_t_bytes32_$_t_bool_$",
                            "typeString": "tuple(address,uint256,string storage ref,bytes32,bool)"
                          }
                        },
                        "functionReturnParameters": 1521,
                        "id": 1565,
                        "nodeType": "Return",
                        "src": "6177:291:7"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": "@notice Returns the owner and timestamp for a given symbol\n@param _symbol symbol\n@return address\n@return uint256\n@return string\n@return bytes32\n@return bool",
            "id": 1582,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getDetails",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1510,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1509,
                  "name": "_symbol",
                  "nodeType": "VariableDeclaration",
                  "scope": 1582,
                  "src": "5922:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1508,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "5922:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5921:16:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 1521,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1512,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1582,
                  "src": "5959:7:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1511,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5959:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1514,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1582,
                  "src": "5968:7:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1513,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5968:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1516,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1582,
                  "src": "5977:6:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1515,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "5977:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1518,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1582,
                  "src": "5985:7:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1517,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "5985:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1520,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1582,
                  "src": "5994:4:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1519,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "5994:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5958:41:7"
            },
            "scope": 1684,
            "src": "5902:655:7",
            "stateMutability": "view",
            "superFunction": 10269,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1641,
              "nodeType": "Block",
              "src": "6778:408:7",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 1596,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 1589,
                          "name": "registeredSymbols",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1185,
                          "src": "6792:17:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                            "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                          }
                        },
                        "id": 1591,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 1590,
                          "name": "_symbol",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1584,
                          "src": "6810:7:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "6792:26:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                          "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                        }
                      },
                      "id": 1592,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "owner",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 1172,
                      "src": "6792:32:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "!=",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 1594,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "6836:1:7",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          }
                        ],
                        "id": 1593,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "6828:7:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_address_$",
                          "typeString": "type(address)"
                        },
                        "typeName": "address"
                      },
                      "id": 1595,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "6828:10:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "6792:46:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 1638,
                  "nodeType": "IfStatement",
                  "src": "6788:371:7",
                  "trueBody": {
                    "id": 1637,
                    "nodeType": "Block",
                    "src": "6840:319:7",
                    "statements": [
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "id": 1612,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 1605,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "id": 1597,
                              "name": "now",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 23133,
                              "src": "6858:3:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": ">",
                            "rightExpression": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 1603,
                                  "name": "expiryLimit",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1170,
                                  "src": "6905:11:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "baseExpression": {
                                      "argumentTypes": null,
                                      "id": 1598,
                                      "name": "registeredSymbols",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 1185,
                                      "src": "6864:17:7",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                                        "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                                      }
                                    },
                                    "id": 1600,
                                    "indexExpression": {
                                      "argumentTypes": null,
                                      "id": 1599,
                                      "name": "_symbol",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 1584,
                                      "src": "6882:7:7",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string memory"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "6864:26:7",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                                      "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                                    }
                                  },
                                  "id": 1601,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "timestamp",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 1174,
                                  "src": "6864:36:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "id": 1602,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "add",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 22577,
                                "src": "6864:40:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                  "typeString": "function (uint256,uint256) pure returns (uint256)"
                                }
                              },
                              "id": 1604,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "6864:53:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "6858:59:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "&&",
                          "rightExpression": {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "id": 1611,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 1606,
                                  "name": "registeredSymbols",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1185,
                                  "src": "6921:17:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                                    "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                                  }
                                },
                                "id": 1608,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 1607,
                                  "name": "_symbol",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1584,
                                  "src": "6939:7:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "6921:26:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                                  "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                                }
                              },
                              "id": 1609,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "status",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 1180,
                              "src": "6921:33:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "!=",
                            "rightExpression": {
                              "argumentTypes": null,
                              "hexValue": "74727565",
                              "id": 1610,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6958:4:7",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "value": "true"
                            },
                            "src": "6921:41:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "src": "6858:104:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "expression": {
                            "argumentTypes": null,
                            "hexValue": "66616c7365",
                            "id": 1634,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "bool",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "7143:5:7",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "value": "false"
                          },
                          "functionReturnParameters": 1588,
                          "id": 1635,
                          "nodeType": "Return",
                          "src": "7136:12:7"
                        },
                        "id": 1636,
                        "nodeType": "IfStatement",
                        "src": "6854:294:7",
                        "trueBody": {
                          "id": 1633,
                          "nodeType": "Block",
                          "src": "6964:151:7",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 1629,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 1613,
                                    "name": "registeredSymbols",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 1185,
                                    "src": "6982:17:7",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                                      "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                                    }
                                  },
                                  "id": 1615,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 1614,
                                    "name": "_symbol",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 1584,
                                    "src": "7000:7:7",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "6982:26:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                                    "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "arguments": [
                                        {
                                          "argumentTypes": null,
                                          "hexValue": "30",
                                          "id": 1618,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "number",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "7033:1:7",
                                          "subdenomination": null,
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_rational_0_by_1",
                                            "typeString": "int_const 0"
                                          },
                                          "value": "0"
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_rational_0_by_1",
                                            "typeString": "int_const 0"
                                          }
                                        ],
                                        "id": 1617,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "nodeType": "ElementaryTypeNameExpression",
                                        "src": "7025:7:7",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_address_$",
                                          "typeString": "type(address)"
                                        },
                                        "typeName": "address"
                                      },
                                      "id": 1619,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "typeConversion",
                                      "lValueRequested": false,
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "7025:10:7",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    {
                                      "argumentTypes": null,
                                      "arguments": [
                                        {
                                          "argumentTypes": null,
                                          "hexValue": "30",
                                          "id": 1621,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "number",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "7045:1:7",
                                          "subdenomination": null,
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_rational_0_by_1",
                                            "typeString": "int_const 0"
                                          },
                                          "value": "0"
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_rational_0_by_1",
                                            "typeString": "int_const 0"
                                          }
                                        ],
                                        "id": 1620,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "nodeType": "ElementaryTypeNameExpression",
                                        "src": "7037:7:7",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_uint256_$",
                                          "typeString": "type(uint256)"
                                        },
                                        "typeName": "uint256"
                                      },
                                      "id": 1622,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "typeConversion",
                                      "lValueRequested": false,
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "7037:10:7",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    {
                                      "argumentTypes": null,
                                      "hexValue": "",
                                      "id": 1623,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "string",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "7049:2:7",
                                      "subdenomination": null,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                                        "typeString": "literal_string \"\""
                                      },
                                      "value": ""
                                    },
                                    {
                                      "argumentTypes": null,
                                      "arguments": [
                                        {
                                          "argumentTypes": null,
                                          "hexValue": "30",
                                          "id": 1625,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "number",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "7061:1:7",
                                          "subdenomination": null,
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_rational_0_by_1",
                                            "typeString": "int_const 0"
                                          },
                                          "value": "0"
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_rational_0_by_1",
                                            "typeString": "int_const 0"
                                          }
                                        ],
                                        "id": 1624,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "nodeType": "ElementaryTypeNameExpression",
                                        "src": "7053:7:7",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_bytes32_$",
                                          "typeString": "type(bytes32)"
                                        },
                                        "typeName": "bytes32"
                                      },
                                      "id": 1626,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "typeConversion",
                                      "lValueRequested": false,
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "7053:10:7",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                      }
                                    },
                                    {
                                      "argumentTypes": null,
                                      "hexValue": "66616c7365",
                                      "id": 1627,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "bool",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "7065:5:7",
                                      "subdenomination": null,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                      },
                                      "value": "false"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      },
                                      {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      },
                                      {
                                        "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                                        "typeString": "literal_string \"\""
                                      },
                                      {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                      },
                                      {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                      }
                                    ],
                                    "id": 1616,
                                    "name": "SymbolDetails",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 1181,
                                    "src": "7011:13:7",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_struct$_SymbolDetails_$1181_storage_ptr_$",
                                      "typeString": "type(struct TickerRegistry.SymbolDetails storage pointer)"
                                    }
                                  },
                                  "id": 1628,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "structConstructorCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "7011:60:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_SymbolDetails_$1181_memory",
                                    "typeString": "struct TickerRegistry.SymbolDetails memory"
                                  }
                                },
                                "src": "6982:89:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                                  "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                                }
                              },
                              "id": 1630,
                              "nodeType": "ExpressionStatement",
                              "src": "6982:89:7"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "hexValue": "74727565",
                                "id": 1631,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "7096:4:7",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "value": "true"
                              },
                              "functionReturnParameters": 1588,
                              "id": 1632,
                              "nodeType": "Return",
                              "src": "7089:11:7"
                            }
                          ]
                        }
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "hexValue": "74727565",
                    "id": 1639,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "bool",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "7175:4:7",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "value": "true"
                  },
                  "functionReturnParameters": 1588,
                  "id": 1640,
                  "nodeType": "Return",
                  "src": "7168:11:7"
                }
              ]
            },
            "documentation": "@notice To re-initialize the token symbol details if symbol validity expires\n@param _symbol token symbol\n@return bool",
            "id": 1642,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "expiryCheck",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1585,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1584,
                  "name": "_symbol",
                  "nodeType": "VariableDeclaration",
                  "scope": 1642,
                  "src": "6739:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1583,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6739:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6738:16:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 1588,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1587,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1642,
                  "src": "6772:4:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1586,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "6772:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6771:6:7"
            },
            "scope": 1684,
            "src": "6718:468:7",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 1664,
              "nodeType": "Block",
              "src": "7430:183:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 1652,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 1650,
                          "name": "registrationFee",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1205,
                          "src": "7448:15:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 1651,
                          "name": "_registrationFee",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1644,
                          "src": "7467:16:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "7448:35:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 1649,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23134,
                      "src": "7440:7:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 1653,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7440:44:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1654,
                  "nodeType": "ExpressionStatement",
                  "src": "7440:44:7"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1656,
                        "name": "registrationFee",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1205,
                        "src": "7528:15:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1657,
                        "name": "_registrationFee",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1644,
                        "src": "7545:16:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 1655,
                      "name": "LogChangePolyRegistrationFee",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1211,
                      "src": "7499:28:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$",
                        "typeString": "function (uint256,uint256)"
                      }
                    },
                    "id": 1658,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7499:63:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1659,
                  "nodeType": "EmitStatement",
                  "src": "7494:68:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1662,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 1660,
                      "name": "registrationFee",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1205,
                      "src": "7572:15:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 1661,
                      "name": "_registrationFee",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1644,
                      "src": "7590:16:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7572:34:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 1663,
                  "nodeType": "ExpressionStatement",
                  "src": "7572:34:7"
                }
              ]
            },
            "documentation": "@notice set the ticker registration fee in POLY tokens\n@param _registrationFee registration fee in POLY tokens (base 18 decimals)",
            "id": 1665,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 1647,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1646,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 22612,
                  "src": "7420:9:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "7420:9:7"
              }
            ],
            "name": "changePolyRegistrationFee",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1645,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1644,
                  "name": "_registrationFee",
                  "nodeType": "VariableDeclaration",
                  "scope": 1665,
                  "src": "7387:24:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1643,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7387:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7386:26:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 1648,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7430:0:7"
            },
            "scope": 1684,
            "src": "7352:261:7",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1673,
              "nodeType": "Block",
              "src": "7716:27:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 1670,
                      "name": "_unpause",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 470,
                      "src": "7726:8:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
                        "typeString": "function ()"
                      }
                    },
                    "id": 1671,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7726:10:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1672,
                  "nodeType": "ExpressionStatement",
                  "src": "7726:10:7"
                }
              ]
            },
            "documentation": "@notice pause registration function",
            "id": 1674,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 1668,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1667,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 22612,
                  "src": "7705:9:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "7705:9:7"
              }
            ],
            "name": "unpause",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1666,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7695:2:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 1669,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7716:0:7"
            },
            "scope": 1684,
            "src": "7679:64:7",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1682,
              "nodeType": "Block",
              "src": "7844:25:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 1679,
                      "name": "_pause",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 456,
                      "src": "7854:6:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
                        "typeString": "function ()"
                      }
                    },
                    "id": 1680,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7854:8:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1681,
                  "nodeType": "ExpressionStatement",
                  "src": "7854:8:7"
                }
              ]
            },
            "documentation": "@notice unpause registration function",
            "id": 1683,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 1677,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1676,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 22612,
                  "src": "7834:9:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "7834:9:7"
              }
            ],
            "name": "pause",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1675,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7824:2:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 1678,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7844:0:7"
            },
            "scope": 1684,
            "src": "7810:59:7",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 1685,
        "src": "667:7205:7"
      }
    ],
    "src": "0:7873:7"
  },
  "legacyAST": {
    "absolutePath": "/Users/satyamagrawal/Repositories/testing-package/polymath-core/contracts/TickerRegistry.sol",
    "exportedSymbols": {
      "TickerRegistry": [
        1684
      ]
    },
    "id": 1685,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 1145,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:7"
      },
      {
        "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol",
        "file": "openzeppelin-solidity/contracts/math/SafeMath.sol",
        "id": 1146,
        "nodeType": "ImportDirective",
        "scope": 1685,
        "sourceUnit": 22579,
        "src": "26:59:7",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol",
        "file": "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol",
        "id": 1147,
        "nodeType": "ImportDirective",
        "scope": 1685,
        "sourceUnit": 22838,
        "src": "86:63:7",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/satyamagrawal/Repositories/testing-package/polymath-core/contracts/interfaces/ITickerRegistry.sol",
        "file": "./interfaces/ITickerRegistry.sol",
        "id": 1148,
        "nodeType": "ImportDirective",
        "scope": 1685,
        "sourceUnit": 10284,
        "src": "150:42:7",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/satyamagrawal/Repositories/testing-package/polymath-core/contracts/helpers/Util.sol",
        "file": "./helpers/Util.sol",
        "id": 1149,
        "nodeType": "ImportDirective",
        "scope": 1685,
        "sourceUnit": 9529,
        "src": "193:28:7",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/satyamagrawal/Repositories/testing-package/polymath-core/contracts/Pausable.sol",
        "file": "./Pausable.sol",
        "id": 1150,
        "nodeType": "ImportDirective",
        "scope": 1685,
        "sourceUnit": 472,
        "src": "222:24:7",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/satyamagrawal/Repositories/testing-package/polymath-core/contracts/RegistryUpdater.sol",
        "file": "./RegistryUpdater.sol",
        "id": 1151,
        "nodeType": "ImportDirective",
        "scope": 1685,
        "sourceUnit": 677,
        "src": "247:31:7",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/satyamagrawal/Repositories/testing-package/polymath-core/contracts/ReclaimTokens.sol",
        "file": "./ReclaimTokens.sol",
        "id": 1152,
        "nodeType": "ImportDirective",
        "scope": 1685,
        "sourceUnit": 600,
        "src": "279:29:7",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 1153,
              "name": "ITickerRegistry",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 10283,
              "src": "694:15:7",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ITickerRegistry_$10283",
                "typeString": "contract ITickerRegistry"
              }
            },
            "id": 1154,
            "nodeType": "InheritanceSpecifier",
            "src": "694:15:7"
          },
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 1155,
              "name": "Util",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 9528,
              "src": "711:4:7",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Util_$9528",
                "typeString": "contract Util"
              }
            },
            "id": 1156,
            "nodeType": "InheritanceSpecifier",
            "src": "711:4:7"
          },
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 1157,
              "name": "Pausable",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 471,
              "src": "717:8:7",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Pausable_$471",
                "typeString": "contract Pausable"
              }
            },
            "id": 1158,
            "nodeType": "InheritanceSpecifier",
            "src": "717:8:7"
          },
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 1159,
              "name": "RegistryUpdater",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 676,
              "src": "727:15:7",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_RegistryUpdater_$676",
                "typeString": "contract RegistryUpdater"
              }
            },
            "id": 1160,
            "nodeType": "InheritanceSpecifier",
            "src": "727:15:7"
          },
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 1161,
              "name": "ReclaimTokens",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 599,
              "src": "744:13:7",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ReclaimTokens_$599",
                "typeString": "contract ReclaimTokens"
              }
            },
            "id": 1162,
            "nodeType": "InheritanceSpecifier",
            "src": "744:13:7"
          }
        ],
        "contractDependencies": [
          471,
          599,
          676,
          9528,
          10283,
          22664
        ],
        "contractKind": "contract",
        "documentation": "@title Registry contract for issuers to reserve their security token symbols\n@notice Allows issuers to reserve their token symbols ahead of actually generating their security token.\n@dev SecurityTokenRegistry would reference this contract and ensure that a token symbol exists here and only its owner can deploy the token with that symbol.",
        "fullyImplemented": true,
        "id": 1684,
        "linearizedBaseContracts": [
          1684,
          599,
          676,
          22664,
          471,
          9528,
          10283
        ],
        "name": "TickerRegistry",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "id": 1165,
            "libraryName": {
              "contractScope": null,
              "id": 1163,
              "name": "SafeMath",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 22578,
              "src": "771:8:7",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_SafeMath_$22578",
                "typeString": "library SafeMath"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "765:27:7",
            "typeName": {
              "id": 1164,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "784:7:7",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            }
          },
          {
            "constant": false,
            "id": 1170,
            "name": "expiryLimit",
            "nodeType": "VariableDeclaration",
            "scope": 1684,
            "src": "900:40:7",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 1166,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "900:7:7",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "commonType": {
                "typeIdentifier": "t_rational_1296000_by_1",
                "typeString": "int_const 1296000"
              },
              "id": 1169,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "lValueRequested": false,
              "leftExpression": {
                "argumentTypes": null,
                "hexValue": "3135",
                "id": 1167,
                "isConstant": false,
                "isLValue": false,
                "isPure": true,
                "kind": "number",
                "lValueRequested": false,
                "nodeType": "Literal",
                "src": "929:2:7",
                "subdenomination": null,
                "typeDescriptions": {
                  "typeIdentifier": "t_rational_15_by_1",
                  "typeString": "int_const 15"
                },
                "value": "15"
              },
              "nodeType": "BinaryOperation",
              "operator": "*",
              "rightExpression": {
                "argumentTypes": null,
                "hexValue": "31",
                "id": 1168,
                "isConstant": false,
                "isLValue": false,
                "isPure": true,
                "kind": "number",
                "lValueRequested": false,
                "nodeType": "Literal",
                "src": "934:6:7",
                "subdenomination": "days",
                "typeDescriptions": {
                  "typeIdentifier": "t_rational_86400_by_1",
                  "typeString": "int_const 86400"
                },
                "value": "1"
              },
              "src": "929:11:7",
              "typeDescriptions": {
                "typeIdentifier": "t_rational_1296000_by_1",
                "typeString": "int_const 1296000"
              }
            },
            "visibility": "public"
          },
          {
            "canonicalName": "TickerRegistry.SymbolDetails",
            "id": 1181,
            "members": [
              {
                "constant": false,
                "id": 1172,
                "name": "owner",
                "nodeType": "VariableDeclaration",
                "scope": 1181,
                "src": "1054:13:7",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 1171,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "1054:7:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 1174,
                "name": "timestamp",
                "nodeType": "VariableDeclaration",
                "scope": 1181,
                "src": "1077:17:7",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 1173,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1077:7:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 1176,
                "name": "tokenName",
                "nodeType": "VariableDeclaration",
                "scope": 1181,
                "src": "1104:16:7",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 1175,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "1104:6:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 1178,
                "name": "swarmHash",
                "nodeType": "VariableDeclaration",
                "scope": 1181,
                "src": "1130:17:7",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 1177,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "1130:7:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 1180,
                "name": "status",
                "nodeType": "VariableDeclaration",
                "scope": 1181,
                "src": "1157:11:7",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bool",
                  "typeString": "bool"
                },
                "typeName": {
                  "id": 1179,
                  "name": "bool",
                  "nodeType": "ElementaryTypeName",
                  "src": "1157:4:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "SymbolDetails",
            "nodeType": "StructDefinition",
            "scope": 1684,
            "src": "1023:152:7",
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 1185,
            "name": "registeredSymbols",
            "nodeType": "VariableDeclaration",
            "scope": 1684,
            "src": "1236:50:7",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
              "typeString": "mapping(string => struct TickerRegistry.SymbolDetails)"
            },
            "typeName": {
              "id": 1184,
              "keyType": {
                "id": 1182,
                "name": "string",
                "nodeType": "ElementaryTypeName",
                "src": "1244:6:7",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                }
              },
              "nodeType": "Mapping",
              "src": "1236:32:7",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                "typeString": "mapping(string => struct TickerRegistry.SymbolDetails)"
              },
              "valueType": {
                "contractScope": null,
                "id": 1183,
                "name": "SymbolDetails",
                "nodeType": "UserDefinedTypeName",
                "referencedDeclaration": 1181,
                "src": "1254:13:7",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage_ptr",
                  "typeString": "struct TickerRegistry.SymbolDetails"
                }
              }
            },
            "value": null,
            "visibility": "internal"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 1197,
            "name": "LogRegisterTicker",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 1196,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1187,
                  "indexed": true,
                  "name": "_owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 1197,
                  "src": "1359:22:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1186,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1359:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1189,
                  "indexed": false,
                  "name": "_symbol",
                  "nodeType": "VariableDeclaration",
                  "scope": 1197,
                  "src": "1383:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1188,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1383:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1191,
                  "indexed": false,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 1197,
                  "src": "1399:12:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1190,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1399:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1193,
                  "indexed": false,
                  "name": "_swarmHash",
                  "nodeType": "VariableDeclaration",
                  "scope": 1197,
                  "src": "1413:18:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1192,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1413:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1195,
                  "indexed": true,
                  "name": "_timestamp",
                  "nodeType": "VariableDeclaration",
                  "scope": 1197,
                  "src": "1433:26:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1194,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1433:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1358:102:7"
            },
            "src": "1335:126:7"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 1203,
            "name": "LogChangeExpiryLimit",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 1202,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1199,
                  "indexed": false,
                  "name": "_oldExpiry",
                  "nodeType": "VariableDeclaration",
                  "scope": 1203,
                  "src": "1546:18:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1198,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1546:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1201,
                  "indexed": false,
                  "name": "_newExpiry",
                  "nodeType": "VariableDeclaration",
                  "scope": 1203,
                  "src": "1566:18:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1200,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1566:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1545:40:7"
            },
            "src": "1519:67:7"
          },
          {
            "constant": false,
            "id": 1205,
            "name": "registrationFee",
            "nodeType": "VariableDeclaration",
            "scope": 1684,
            "src": "1641:30:7",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 1204,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1641:7:7",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 1211,
            "name": "LogChangePolyRegistrationFee",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 1210,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1207,
                  "indexed": false,
                  "name": "_oldFee",
                  "nodeType": "VariableDeclaration",
                  "scope": 1211,
                  "src": "1765:15:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1206,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1765:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1209,
                  "indexed": false,
                  "name": "_newFee",
                  "nodeType": "VariableDeclaration",
                  "scope": 1211,
                  "src": "1782:15:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1208,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1782:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1764:34:7"
            },
            "src": "1730:69:7"
          },
          {
            "body": {
              "id": 1225,
              "nodeType": "Block",
              "src": "1921:51:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1223,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 1221,
                      "name": "registrationFee",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1205,
                      "src": "1931:15:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 1222,
                      "name": "_registrationFee",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1215,
                      "src": "1949:16:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1931:34:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 1224,
                  "nodeType": "ExpressionStatement",
                  "src": "1931:34:7"
                }
              ]
            },
            "documentation": null,
            "id": 1226,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 1218,
                    "name": "_polymathRegistry",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 1213,
                    "src": "1898:17:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  }
                ],
                "id": 1219,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1217,
                  "name": "RegistryUpdater",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 676,
                  "src": "1882:15:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_type$_t_contract$_RegistryUpdater_$676_$",
                    "typeString": "type(contract RegistryUpdater)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1882:34:7"
              }
            ],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1216,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1213,
                  "name": "_polymathRegistry",
                  "nodeType": "VariableDeclaration",
                  "scope": 1226,
                  "src": "1818:25:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1212,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1818:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1215,
                  "name": "_registrationFee",
                  "nodeType": "VariableDeclaration",
                  "scope": 1226,
                  "src": "1845:24:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1214,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1845:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1817:53:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 1220,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1921:0:7"
            },
            "scope": 1684,
            "src": "1805:167:7",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1315,
              "nodeType": "Block",
              "src": "2585:670:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 1244,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 1240,
                          "name": "_owner",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1228,
                          "src": "2603:6:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 1242,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2621:1:7",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "id": 1241,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "2613:7:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": "address"
                          },
                          "id": 1243,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2613:10:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "2603:20:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4f776e65722073686f756c64206e6f74206265203078",
                        "id": 1245,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2625:24:7",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_d8257c0ca2535bc1dc4b05833f637067b4344f29089af677551c232811407713",
                          "typeString": "literal_string \"Owner should not be 0x\""
                        },
                        "value": "Owner should not be 0x"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_d8257c0ca2535bc1dc4b05833f637067b4344f29089af677551c232811407713",
                          "typeString": "literal_string \"Owner should not be 0x\""
                        }
                      ],
                      "id": 1239,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "2595:7:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 1246,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2595:55:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1247,
                  "nodeType": "ExpressionStatement",
                  "src": "2595:55:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 1261,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 1254,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 1250,
                                  "name": "_symbol",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1230,
                                  "src": "2674:7:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                ],
                                "id": 1249,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "2668:5:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                                  "typeString": "type(bytes storage pointer)"
                                },
                                "typeName": "bytes"
                              },
                              "id": 1251,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2668:14:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory",
                                "typeString": "bytes memory"
                              }
                            },
                            "id": 1252,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "2668:21:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 1253,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2692:1:7",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "2668:25:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "&&",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 1260,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 1256,
                                  "name": "_symbol",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1230,
                                  "src": "2703:7:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                ],
                                "id": 1255,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "2697:5:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                                  "typeString": "type(bytes storage pointer)"
                                },
                                "typeName": "bytes"
                              },
                              "id": 1257,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2697:14:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_memory",
                                "typeString": "bytes memory"
                              }
                            },
                            "id": 1258,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "2697:21:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "<=",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "3130",
                            "id": 1259,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2722:2:7",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_10_by_1",
                              "typeString": "int_const 10"
                            },
                            "value": "10"
                          },
                          "src": "2697:27:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "2668:56:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "5469636b6572206c656e6774682073686f756c6420616c77617973206265747765656e20302026203130",
                        "id": 1262,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2726:44:7",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_5eddf6ec9badb8fceef35bcadfe661994a10f986712642fb732f9d31124ffe7d",
                          "typeString": "literal_string \"Ticker length should always between 0 & 10\""
                        },
                        "value": "Ticker length should always between 0 & 10"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_5eddf6ec9badb8fceef35bcadfe661994a10f986712642fb732f9d31124ffe7d",
                          "typeString": "literal_string \"Ticker length should always between 0 & 10\""
                        }
                      ],
                      "id": 1248,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "2660:7:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 1263,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2660:111:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1264,
                  "nodeType": "ExpressionStatement",
                  "src": "2660:111:7"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 1267,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 1265,
                      "name": "registrationFee",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1205,
                      "src": "2784:15:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 1266,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "2802:1:7",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "2784:19:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 1281,
                  "nodeType": "IfStatement",
                  "src": "2781:179:7",
                  "trueBody": {
                    "expression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 1273,
                                "name": "msg",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 23131,
                                "src": "2855:3:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_message",
                                  "typeString": "msg"
                                }
                              },
                              "id": 1274,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "sender",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": null,
                              "src": "2855:10:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 1275,
                              "name": "this",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 23204,
                              "src": "2867:4:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_TickerRegistry_$1684",
                                "typeString": "contract TickerRegistry"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 1276,
                              "name": "registrationFee",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1205,
                              "src": "2873:15:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_contract$_TickerRegistry_$1684",
                                "typeString": "contract TickerRegistry"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 1270,
                                  "name": "polyToken",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 615,
                                  "src": "2831:9:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                ],
                                "id": 1269,
                                "name": "ERC20",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 22837,
                                "src": "2825:5:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_ERC20_$22837_$",
                                  "typeString": "type(contract ERC20)"
                                }
                              },
                              "id": 1271,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2825:16:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_ERC20_$22837",
                                "typeString": "contract ERC20"
                              }
                            },
                            "id": 1272,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "transferFrom",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 22819,
                            "src": "2825:29:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$",
                              "typeString": "function (address,address,uint256) external returns (bool)"
                            }
                          },
                          "id": 1277,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2825:64:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "hexValue": "4661696c6564207472616e7366657246726f6d2062656361757365206f6620737566666963656e7420416c6c6f77616e6365206973206e6f742070726f7669646564",
                          "id": 1278,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "string",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2891:68:7",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_stringliteral_39f8133d9e40dc5e6b34d9a9e536ce9c723fe05af13c2feb51de7d902ca65f7f",
                            "typeString": "literal_string \"Failed transferFrom because of sufficent Allowance is not provided\""
                          },
                          "value": "Failed transferFrom because of sufficent Allowance is not provided"
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          {
                            "typeIdentifier": "t_stringliteral_39f8133d9e40dc5e6b34d9a9e536ce9c723fe05af13c2feb51de7d902ca65f7f",
                            "typeString": "literal_string \"Failed transferFrom because of sufficent Allowance is not provided\""
                          }
                        ],
                        "id": 1268,
                        "name": "require",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [
                          23134,
                          23135
                        ],
                        "referencedDeclaration": 23135,
                        "src": "2817:7:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                          "typeString": "function (bool,string memory) pure"
                        }
                      },
                      "id": 1279,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2817:143:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$__$",
                        "typeString": "tuple()"
                      }
                    },
                    "id": 1280,
                    "nodeType": "ExpressionStatement",
                    "src": "2817:143:7"
                  }
                },
                {
                  "assignments": [
                    1283
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 1283,
                      "name": "symbol",
                      "nodeType": "VariableDeclaration",
                      "scope": 1316,
                      "src": "2970:20:7",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 1282,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "2970:6:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 1287,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1285,
                        "name": "_symbol",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1230,
                        "src": "2999:7:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 1284,
                      "name": "upper",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9527,
                      "src": "2993:5:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$",
                        "typeString": "function (string memory) pure returns (string memory)"
                      }
                    },
                    "id": 1286,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2993:14:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2970:37:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 1290,
                            "name": "symbol",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1283,
                            "src": "3037:6:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          ],
                          "id": 1289,
                          "name": "expiryCheck",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1642,
                          "src": "3025:11:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_bool_$",
                            "typeString": "function (string memory) returns (bool)"
                          }
                        },
                        "id": 1291,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3025:19:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "5469636b657220697320616c7265616479207265736572766564",
                        "id": 1292,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3046:28:7",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_292ca2791ba2b50eddd1ca7376625146437585c2ac1a14d1b70216c9f042e204",
                          "typeString": "literal_string \"Ticker is already reserved\""
                        },
                        "value": "Ticker is already reserved"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_292ca2791ba2b50eddd1ca7376625146437585c2ac1a14d1b70216c9f042e204",
                          "typeString": "literal_string \"Ticker is already reserved\""
                        }
                      ],
                      "id": 1288,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "3017:7:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 1293,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3017:58:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1294,
                  "nodeType": "ExpressionStatement",
                  "src": "3017:58:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1305,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 1295,
                        "name": "registeredSymbols",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1185,
                        "src": "3085:17:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                          "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                        }
                      },
                      "id": 1297,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 1296,
                        "name": "symbol",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1283,
                        "src": "3103:6:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "3085:25:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                        "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 1299,
                          "name": "_owner",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1228,
                          "src": "3127:6:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 1300,
                          "name": "now",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 23133,
                          "src": "3135:3:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 1301,
                          "name": "_tokenName",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1232,
                          "src": "3140:10:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 1302,
                          "name": "_swarmHash",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1234,
                          "src": "3152:10:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "hexValue": "66616c7365",
                          "id": 1303,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "3164:5:7",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "false"
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          },
                          {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          },
                          {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        ],
                        "id": 1298,
                        "name": "SymbolDetails",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1181,
                        "src": "3113:13:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_struct$_SymbolDetails_$1181_storage_ptr_$",
                          "typeString": "type(struct TickerRegistry.SymbolDetails storage pointer)"
                        }
                      },
                      "id": 1304,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "structConstructorCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3113:57:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_SymbolDetails_$1181_memory",
                        "typeString": "struct TickerRegistry.SymbolDetails memory"
                      }
                    },
                    "src": "3085:85:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                      "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                    }
                  },
                  "id": 1306,
                  "nodeType": "ExpressionStatement",
                  "src": "3085:85:7"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1308,
                        "name": "_owner",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1228,
                        "src": "3204:6:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1309,
                        "name": "symbol",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1283,
                        "src": "3212:6:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1310,
                        "name": "_tokenName",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1232,
                        "src": "3220:10:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1311,
                        "name": "_swarmHash",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1234,
                        "src": "3232:10:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1312,
                        "name": "now",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 23133,
                        "src": "3244:3:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 1307,
                      "name": "LogRegisterTicker",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1197,
                      "src": "3185:17:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes32_$_t_uint256_$returns$__$",
                        "typeString": "function (address,string memory,string memory,bytes32,uint256)"
                      }
                    },
                    "id": 1313,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3185:63:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1314,
                  "nodeType": "EmitStatement",
                  "src": "3180:68:7"
                }
              ]
            },
            "documentation": "@notice Register the token symbol for its particular owner\n@notice Once the token symbol is registered to its owner then no other issuer can claim\n@notice its ownership. If the symbol expires and its issuer hasn't used it, then someone else can take it.\n@param _symbol token symbol\n@param _tokenName Name of the token\n@param _owner Address of the owner of the token\n@param _swarmHash Off-chain details of the issuer and token",
            "id": 1316,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 1237,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1236,
                  "name": "whenNotPaused",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 433,
                  "src": "2571:13:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2571:13:7"
              }
            ],
            "name": "registerTicker",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1235,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1228,
                  "name": "_owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 1316,
                  "src": "2493:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1227,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2493:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1230,
                  "name": "_symbol",
                  "nodeType": "VariableDeclaration",
                  "scope": 1316,
                  "src": "2509:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1229,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2509:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1232,
                  "name": "_tokenName",
                  "nodeType": "VariableDeclaration",
                  "scope": 1316,
                  "src": "2525:17:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1231,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2525:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1234,
                  "name": "_swarmHash",
                  "nodeType": "VariableDeclaration",
                  "scope": 1316,
                  "src": "2544:18:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1233,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2544:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2492:71:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 1238,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2585:0:7"
            },
            "scope": 1684,
            "src": "2469:786:7",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1343,
              "nodeType": "Block",
              "src": "3465:229:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 1326,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 1324,
                          "name": "_newExpiry",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1318,
                          "src": "3483:10:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 1325,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "3497:6:7",
                          "subdenomination": "days",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_86400_by_1",
                            "typeString": "int_const 86400"
                          },
                          "value": "1"
                        },
                        "src": "3483:20:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4578706972792073686f756c642067726561746572207468616e206f7220657175616c20746f203120646179",
                        "id": 1327,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3505:46:7",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_4bf784af45b69bea332aab740317b3b05c76a11a0e99434e79e3d4641b5935db",
                          "typeString": "literal_string \"Expiry should greater than or equal to 1 day\""
                        },
                        "value": "Expiry should greater than or equal to 1 day"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_4bf784af45b69bea332aab740317b3b05c76a11a0e99434e79e3d4641b5935db",
                          "typeString": "literal_string \"Expiry should greater than or equal to 1 day\""
                        }
                      ],
                      "id": 1323,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "3475:7:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 1328,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3475:77:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1329,
                  "nodeType": "ExpressionStatement",
                  "src": "3475:77:7"
                },
                {
                  "assignments": [
                    1331
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 1331,
                      "name": "_oldExpiry",
                      "nodeType": "VariableDeclaration",
                      "scope": 1344,
                      "src": "3562:18:7",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 1330,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "3562:7:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 1333,
                  "initialValue": {
                    "argumentTypes": null,
                    "id": 1332,
                    "name": "expiryLimit",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 1170,
                    "src": "3583:11:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3562:32:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1336,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 1334,
                      "name": "expiryLimit",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1170,
                      "src": "3604:11:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 1335,
                      "name": "_newExpiry",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1318,
                      "src": "3618:10:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3604:24:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 1337,
                  "nodeType": "ExpressionStatement",
                  "src": "3604:24:7"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1339,
                        "name": "_oldExpiry",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1331,
                        "src": "3664:10:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1340,
                        "name": "_newExpiry",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1318,
                        "src": "3676:10:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 1338,
                      "name": "LogChangeExpiryLimit",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1203,
                      "src": "3643:20:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$",
                        "typeString": "function (uint256,uint256)"
                      }
                    },
                    "id": 1341,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3643:44:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1342,
                  "nodeType": "EmitStatement",
                  "src": "3638:49:7"
                }
              ]
            },
            "documentation": "@notice Change the expiry time for the token symbol\n@param _newExpiry new time period for token symbol expiry",
            "id": 1344,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 1321,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1320,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 22612,
                  "src": "3455:9:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "3455:9:7"
              }
            ],
            "name": "changeExpiryLimit",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1319,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1318,
                  "name": "_newExpiry",
                  "nodeType": "VariableDeclaration",
                  "scope": 1344,
                  "src": "3428:18:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1317,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3428:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3427:20:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 1322,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3465:0:7"
            },
            "scope": 1684,
            "src": "3401:293:7",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1418,
              "nodeType": "Block",
              "src": "3999:634:7",
              "statements": [
                {
                  "assignments": [
                    1356
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 1356,
                      "name": "symbol",
                      "nodeType": "VariableDeclaration",
                      "scope": 1419,
                      "src": "4009:20:7",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 1355,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "4009:6:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 1360,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1358,
                        "name": "_symbol",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1346,
                        "src": "4038:7:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 1357,
                      "name": "upper",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9527,
                      "src": "4032:5:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$",
                        "typeString": "function (string memory) pure returns (string memory)"
                      }
                    },
                    "id": 1359,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4032:14:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4009:37:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 1365,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 1362,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 23131,
                            "src": "4064:3:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 1363,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "4064:10:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 1364,
                          "name": "securityTokenRegistry",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 611,
                          "src": "4078:21:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "4064:35:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "6d73672e73656e6465722073686f756c64206265205365637572697479546f6b656e526567697374727920636f6e7472616374",
                        "id": 1366,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4101:53:7",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_f7d24bd0ec670f7e977fd4e0b70c26b81d860782ac5c86c998ddd6f731bf1f48",
                          "typeString": "literal_string \"msg.sender should be SecurityTokenRegistry contract\""
                        },
                        "value": "msg.sender should be SecurityTokenRegistry contract"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_f7d24bd0ec670f7e977fd4e0b70c26b81d860782ac5c86c998ddd6f731bf1f48",
                          "typeString": "literal_string \"msg.sender should be SecurityTokenRegistry contract\""
                        }
                      ],
                      "id": 1361,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "4056:7:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 1367,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4056:99:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1368,
                  "nodeType": "ExpressionStatement",
                  "src": "4056:99:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 1375,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 1370,
                              "name": "registeredSymbols",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1185,
                              "src": "4173:17:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                                "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                              }
                            },
                            "id": 1372,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 1371,
                              "name": "symbol",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1356,
                              "src": "4191:6:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "4173:25:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                              "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                            }
                          },
                          "id": 1373,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "status",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 1180,
                          "src": "4173:32:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "74727565",
                          "id": 1374,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "4209:4:7",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "true"
                        },
                        "src": "4173:40:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "53796d626f6c207374617475732073686f756c64206e6f7420657175616c20746f2074727565",
                        "id": 1376,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4215:40:7",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_fbc2e0b6c728e2446500abaac89f015c1b4b1c33d0bcbe8c0027a758cc21fcdb",
                          "typeString": "literal_string \"Symbol status should not equal to true\""
                        },
                        "value": "Symbol status should not equal to true"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_fbc2e0b6c728e2446500abaac89f015c1b4b1c33d0bcbe8c0027a758cc21fcdb",
                          "typeString": "literal_string \"Symbol status should not equal to true\""
                        }
                      ],
                      "id": 1369,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "4165:7:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 1377,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4165:91:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1378,
                  "nodeType": "ExpressionStatement",
                  "src": "4165:91:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 1385,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 1380,
                              "name": "registeredSymbols",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1185,
                              "src": "4274:17:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                                "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                              }
                            },
                            "id": 1382,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 1381,
                              "name": "symbol",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1356,
                              "src": "4292:6:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "4274:25:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                              "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                            }
                          },
                          "id": 1383,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "owner",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 1172,
                          "src": "4274:31:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 1384,
                          "name": "_owner",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1348,
                          "src": "4309:6:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "4274:41:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4f776e6572206f66207468652073796d626f6c2073686f756c64206d61746368656420776974682074686520726571756573746564206973737565722061646472657373",
                        "id": 1386,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4317:70:7",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_a316818764760ff4ade7b2696656f5f48df62ddf258041ff0ccf6929bad59049",
                          "typeString": "literal_string \"Owner of the symbol should matched with the requested issuer address\""
                        },
                        "value": "Owner of the symbol should matched with the requested issuer address"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_a316818764760ff4ade7b2696656f5f48df62ddf258041ff0ccf6929bad59049",
                          "typeString": "literal_string \"Owner of the symbol should matched with the requested issuer address\""
                        }
                      ],
                      "id": 1379,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "4266:7:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 1387,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4266:122:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1388,
                  "nodeType": "ExpressionStatement",
                  "src": "4266:122:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 1398,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 1395,
                              "name": "expiryLimit",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1170,
                              "src": "4446:11:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 1390,
                                  "name": "registeredSymbols",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1185,
                                  "src": "4406:17:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                                    "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                                  }
                                },
                                "id": 1392,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 1391,
                                  "name": "symbol",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1356,
                                  "src": "4424:6:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "4406:25:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                                  "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                                }
                              },
                              "id": 1393,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "timestamp",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 1174,
                              "src": "4406:35:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "id": 1394,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "add",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 22577,
                            "src": "4406:39:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                              "typeString": "function (uint256,uint256) pure returns (uint256)"
                            }
                          },
                          "id": 1396,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4406:52:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 1397,
                          "name": "now",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 23133,
                          "src": "4462:3:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "4406:59:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "5469636b65722073686f756c64206e6f742062652065787069726564",
                        "id": 1399,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4467:30:7",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_b267cb99c032747d8c4316b6c52caea9e44e9e6a22dd9e0be1d8c21616930dd1",
                          "typeString": "literal_string \"Ticker should not be expired\""
                        },
                        "value": "Ticker should not be expired"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_b267cb99c032747d8c4316b6c52caea9e44e9e6a22dd9e0be1d8c21616930dd1",
                          "typeString": "literal_string \"Ticker should not be expired\""
                        }
                      ],
                      "id": 1389,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "4398:7:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 1400,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4398:100:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1401,
                  "nodeType": "ExpressionStatement",
                  "src": "4398:100:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1407,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 1402,
                          "name": "registeredSymbols",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1185,
                          "src": "4508:17:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                            "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                          }
                        },
                        "id": 1404,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 1403,
                          "name": "symbol",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1356,
                          "src": "4526:6:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "4508:25:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                          "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                        }
                      },
                      "id": 1405,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "tokenName",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 1176,
                      "src": "4508:35:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage",
                        "typeString": "string storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 1406,
                      "name": "_tokenName",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1350,
                      "src": "4546:10:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "src": "4508:48:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "id": 1408,
                  "nodeType": "ExpressionStatement",
                  "src": "4508:48:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1414,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 1409,
                          "name": "registeredSymbols",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1185,
                          "src": "4566:17:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                            "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                          }
                        },
                        "id": 1411,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 1410,
                          "name": "symbol",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1356,
                          "src": "4584:6:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "4566:25:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                          "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                        }
                      },
                      "id": 1412,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "status",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 1180,
                      "src": "4566:32:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "74727565",
                      "id": 1413,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "4601:4:7",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "true"
                    },
                    "src": "4566:39:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 1415,
                  "nodeType": "ExpressionStatement",
                  "src": "4566:39:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "hexValue": "74727565",
                    "id": 1416,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "bool",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "4622:4:7",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "value": "true"
                  },
                  "functionReturnParameters": 1354,
                  "id": 1417,
                  "nodeType": "Return",
                  "src": "4615:11:7"
                }
              ]
            },
            "documentation": "@notice Check the validity of the symbol\n@param _symbol token symbol\n@param _owner address of the owner\n@param _tokenName Name of the token\n@return bool",
            "id": 1419,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "checkValidity",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1351,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1346,
                  "name": "_symbol",
                  "nodeType": "VariableDeclaration",
                  "scope": 1419,
                  "src": "3927:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1345,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "3927:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1348,
                  "name": "_owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 1419,
                  "src": "3943:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1347,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3943:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1350,
                  "name": "_tokenName",
                  "nodeType": "VariableDeclaration",
                  "scope": 1419,
                  "src": "3959:17:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1349,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "3959:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3926:51:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 1354,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1353,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1419,
                  "src": "3993:4:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1352,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "3993:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3992:6:7"
            },
            "scope": 1684,
            "src": "3904:729:7",
            "stateMutability": "nonpayable",
            "superFunction": 10254,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1506,
              "nodeType": "Block",
              "src": "5004:670:7",
              "statements": [
                {
                  "assignments": [
                    1433
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 1433,
                      "name": "symbol",
                      "nodeType": "VariableDeclaration",
                      "scope": 1507,
                      "src": "5014:20:7",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 1432,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "5014:6:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 1437,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1435,
                        "name": "_symbol",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1421,
                        "src": "5043:7:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 1434,
                      "name": "upper",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9527,
                      "src": "5037:5:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$",
                        "typeString": "function (string memory) pure returns (string memory)"
                      }
                    },
                    "id": 1436,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5037:14:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5014:37:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 1442,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 1439,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 23131,
                            "src": "5069:3:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 1440,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "5069:10:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 1441,
                          "name": "securityTokenRegistry",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 611,
                          "src": "5083:21:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "5069:35:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "6d73672e73656e6465722073686f756c64206265205365637572697479546f6b656e526567697374727920636f6e7472616374",
                        "id": 1443,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5106:53:7",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_f7d24bd0ec670f7e977fd4e0b70c26b81d860782ac5c86c998ddd6f731bf1f48",
                          "typeString": "literal_string \"msg.sender should be SecurityTokenRegistry contract\""
                        },
                        "value": "msg.sender should be SecurityTokenRegistry contract"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_f7d24bd0ec670f7e977fd4e0b70c26b81d860782ac5c86c998ddd6f731bf1f48",
                          "typeString": "literal_string \"msg.sender should be SecurityTokenRegistry contract\""
                        }
                      ],
                      "id": 1438,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "5061:7:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 1444,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5061:99:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1445,
                  "nodeType": "ExpressionStatement",
                  "src": "5061:99:7"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 1456,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "id": 1451,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 1446,
                            "name": "registeredSymbols",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1185,
                            "src": "5174:17:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                              "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                            }
                          },
                          "id": 1448,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 1447,
                            "name": "symbol",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1433,
                            "src": "5192:6:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "5174:25:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                            "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                          }
                        },
                        "id": 1449,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "owner",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 1172,
                        "src": "5174:31:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "argumentTypes": null,
                        "id": 1450,
                        "name": "_owner",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1423,
                        "src": "5209:6:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "src": "5174:41:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "&&",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 1455,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "!",
                      "prefix": true,
                      "src": "5219:21:7",
                      "subExpression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 1453,
                            "name": "_symbol",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1421,
                            "src": "5232:7:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          ],
                          "id": 1452,
                          "name": "expiryCheck",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1642,
                          "src": "5220:11:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_bool_$",
                            "typeString": "function (string memory) returns (bool)"
                          }
                        },
                        "id": 1454,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5220:20:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "5174:66:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "id": 1478,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 1474,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 1467,
                              "name": "registeredSymbols",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1185,
                              "src": "5350:17:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                                "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                              }
                            },
                            "id": 1469,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 1468,
                              "name": "symbol",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1433,
                              "src": "5368:6:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "5350:25:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                              "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                            }
                          },
                          "id": 1470,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "owner",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 1172,
                          "src": "5350:31:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 1472,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "5393:1:7",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "id": 1471,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "5385:7:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": "address"
                          },
                          "id": 1473,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "5385:10:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "5350:45:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "||",
                      "rightExpression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 1476,
                            "name": "symbol",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1433,
                            "src": "5411:6:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          ],
                          "id": 1475,
                          "name": "expiryCheck",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1642,
                          "src": "5399:11:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_bool_$",
                            "typeString": "function (string memory) returns (bool)"
                          }
                        },
                        "id": 1477,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5399:19:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "src": "5350:68:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": {
                      "expression": {
                        "argumentTypes": null,
                        "hexValue": "74727565",
                        "id": 1502,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "bool",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5662:4:7",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "value": "true"
                      },
                      "functionReturnParameters": 1431,
                      "id": 1503,
                      "nodeType": "Return",
                      "src": "5655:11:7"
                    },
                    "id": 1504,
                    "nodeType": "IfStatement",
                    "src": "5346:320:7",
                    "trueBody": {
                      "id": 1501,
                      "nodeType": "Block",
                      "src": "5420:217:7",
                      "statements": [
                        {
                          "expression": {
                            "argumentTypes": null,
                            "id": 1489,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftHandSide": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 1479,
                                "name": "registeredSymbols",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1185,
                                "src": "5434:17:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                                  "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                                }
                              },
                              "id": 1481,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 1480,
                                "name": "symbol",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1433,
                                "src": "5452:6:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "nodeType": "IndexAccess",
                              "src": "5434:25:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                                "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                              }
                            },
                            "nodeType": "Assignment",
                            "operator": "=",
                            "rightHandSide": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 1483,
                                  "name": "_owner",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1423,
                                  "src": "5476:6:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 1484,
                                  "name": "now",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 23133,
                                  "src": "5484:3:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 1485,
                                  "name": "_tokenName",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1425,
                                  "src": "5489:10:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 1486,
                                  "name": "_swarmHash",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1427,
                                  "src": "5501:10:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "hexValue": "74727565",
                                  "id": 1487,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "bool",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "5513:4:7",
                                  "subdenomination": null,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  },
                                  "value": "true"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  },
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  },
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  },
                                  {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                ],
                                "id": 1482,
                                "name": "SymbolDetails",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1181,
                                "src": "5462:13:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_struct$_SymbolDetails_$1181_storage_ptr_$",
                                  "typeString": "type(struct TickerRegistry.SymbolDetails storage pointer)"
                                }
                              },
                              "id": 1488,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "structConstructorCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "5462:56:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_SymbolDetails_$1181_memory",
                                "typeString": "struct TickerRegistry.SymbolDetails memory"
                              }
                            },
                            "src": "5434:84:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                              "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                            }
                          },
                          "id": 1490,
                          "nodeType": "ExpressionStatement",
                          "src": "5434:84:7"
                        },
                        {
                          "eventCall": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 1492,
                                "name": "_owner",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1423,
                                "src": "5556:6:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 1493,
                                "name": "symbol",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1433,
                                "src": "5564:6:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 1494,
                                "name": "_tokenName",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1425,
                                "src": "5572:10:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 1495,
                                "name": "_swarmHash",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1427,
                                "src": "5584:10:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 1496,
                                "name": "now",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 23133,
                                "src": "5596:3:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                },
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 1491,
                              "name": "LogRegisterTicker",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 1197,
                              "src": "5537:17:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes32_$_t_uint256_$returns$__$",
                                "typeString": "function (address,string memory,string memory,bytes32,uint256)"
                              }
                            },
                            "id": 1497,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5537:63:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$__$",
                              "typeString": "tuple()"
                            }
                          },
                          "id": 1498,
                          "nodeType": "EmitStatement",
                          "src": "5532:68:7"
                        },
                        {
                          "expression": {
                            "argumentTypes": null,
                            "hexValue": "66616c7365",
                            "id": 1499,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "bool",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "5621:5:7",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "value": "false"
                          },
                          "functionReturnParameters": 1431,
                          "id": 1500,
                          "nodeType": "Return",
                          "src": "5614:12:7"
                        }
                      ]
                    }
                  },
                  "id": 1505,
                  "nodeType": "IfStatement",
                  "src": "5170:496:7",
                  "trueBody": {
                    "id": 1466,
                    "nodeType": "Block",
                    "src": "5242:90:7",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 1462,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 1457,
                                "name": "registeredSymbols",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1185,
                                "src": "5256:17:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                                  "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                                }
                              },
                              "id": 1459,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 1458,
                                "name": "symbol",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1433,
                                "src": "5274:6:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "5256:25:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                                "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                              }
                            },
                            "id": 1460,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberName": "status",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 1180,
                            "src": "5256:32:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "hexValue": "74727565",
                            "id": 1461,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "bool",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "5291:4:7",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "value": "true"
                          },
                          "src": "5256:39:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 1463,
                        "nodeType": "ExpressionStatement",
                        "src": "5256:39:7"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "hexValue": "66616c7365",
                          "id": 1464,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "5316:5:7",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "false"
                        },
                        "functionReturnParameters": 1431,
                        "id": 1465,
                        "nodeType": "Return",
                        "src": "5309:12:7"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": "@notice Check the symbol is reserved or not\n@param _symbol Symbol of the token\n@param _owner Owner of the token\n@param _tokenName Name of the token\n@param _swarmHash off-chain hash\n@return bool",
            "id": 1507,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "isReserved",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1428,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1421,
                  "name": "_symbol",
                  "nodeType": "VariableDeclaration",
                  "scope": 1507,
                  "src": "4912:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1420,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "4912:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1423,
                  "name": "_owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 1507,
                  "src": "4928:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1422,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4928:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1425,
                  "name": "_tokenName",
                  "nodeType": "VariableDeclaration",
                  "scope": 1507,
                  "src": "4944:17:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1424,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "4944:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1427,
                  "name": "_swarmHash",
                  "nodeType": "VariableDeclaration",
                  "scope": 1507,
                  "src": "4963:18:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1426,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4963:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4911:71:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 1431,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1430,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1507,
                  "src": "4998:4:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1429,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "4998:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4997:6:7"
            },
            "scope": 1684,
            "src": "4892:782:7",
            "stateMutability": "nonpayable",
            "superFunction": 10282,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1581,
              "nodeType": "Block",
              "src": "6000:557:7",
              "statements": [
                {
                  "assignments": [
                    1523
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 1523,
                      "name": "symbol",
                      "nodeType": "VariableDeclaration",
                      "scope": 1582,
                      "src": "6010:20:7",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 1522,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "6010:6:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 1527,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1525,
                        "name": "_symbol",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1509,
                        "src": "6039:7:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 1524,
                      "name": "upper",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9527,
                      "src": "6033:5:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$",
                        "typeString": "function (string memory) pure returns (string memory)"
                      }
                    },
                    "id": 1526,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6033:14:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6010:37:7"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 1543,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "id": 1533,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 1528,
                            "name": "registeredSymbols",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1185,
                            "src": "6061:17:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                              "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                            }
                          },
                          "id": 1530,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 1529,
                            "name": "symbol",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1523,
                            "src": "6079:6:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "6061:25:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                            "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                          }
                        },
                        "id": 1531,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "status",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 1180,
                        "src": "6061:32:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "74727565",
                        "id": 1532,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "bool",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6097:4:7",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "value": "true"
                      },
                      "src": "6061:40:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "||",
                    "rightExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 1542,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 1539,
                            "name": "expiryLimit",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1170,
                            "src": "6143:11:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 1534,
                                "name": "registeredSymbols",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1185,
                                "src": "6103:17:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                                  "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                                }
                              },
                              "id": 1536,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 1535,
                                "name": "symbol",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 1523,
                                "src": "6121:6:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "6103:25:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                                "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                              }
                            },
                            "id": 1537,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "timestamp",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 1174,
                            "src": "6103:35:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 1538,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "add",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 22577,
                          "src": "6103:39:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                            "typeString": "function (uint256,uint256) pure returns (uint256)"
                          }
                        },
                        "id": 1540,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "6103:52:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": ">",
                      "rightExpression": {
                        "argumentTypes": null,
                        "id": 1541,
                        "name": "now",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 23133,
                        "src": "6158:3:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "6103:58:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "6061:100:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "expression": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 1568,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6512:1:7",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "id": 1567,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "6504:7:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": "address"
                          },
                          "id": 1569,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6504:10:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 1571,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6524:1:7",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "id": 1570,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "6516:7:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_uint256_$",
                              "typeString": "type(uint256)"
                            },
                            "typeName": "uint256"
                          },
                          "id": 1572,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6516:10:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "hexValue": "",
                          "id": 1573,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "string",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "6528:2:7",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                            "typeString": "literal_string \"\""
                          },
                          "value": ""
                        },
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 1575,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6540:1:7",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "id": 1574,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "6532:7:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_bytes32_$",
                              "typeString": "type(bytes32)"
                            },
                            "typeName": "bytes32"
                          },
                          "id": 1576,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6532:10:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "hexValue": "66616c7365",
                          "id": 1577,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "6544:5:7",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "false"
                        }
                      ],
                      "id": 1578,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "TupleExpression",
                      "src": "6503:47:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_$_t_bytes32_$_t_bool_$",
                        "typeString": "tuple(address,uint256,literal_string \"\",bytes32,bool)"
                      }
                    },
                    "functionReturnParameters": 1521,
                    "id": 1579,
                    "nodeType": "Return",
                    "src": "6496:54:7"
                  },
                  "id": 1580,
                  "nodeType": "IfStatement",
                  "src": "6057:493:7",
                  "trueBody": {
                    "id": 1566,
                    "nodeType": "Block",
                    "src": "6163:316:7",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "components": [
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 1544,
                                  "name": "registeredSymbols",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1185,
                                  "src": "6214:17:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                                    "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                                  }
                                },
                                "id": 1546,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 1545,
                                  "name": "symbol",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1523,
                                  "src": "6232:6:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "6214:25:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                                  "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                                }
                              },
                              "id": 1547,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "owner",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 1172,
                              "src": "6214:31:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 1548,
                                  "name": "registeredSymbols",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1185,
                                  "src": "6263:17:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                                    "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                                  }
                                },
                                "id": 1550,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 1549,
                                  "name": "symbol",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1523,
                                  "src": "6281:6:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "6263:25:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                                  "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                                }
                              },
                              "id": 1551,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "timestamp",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 1174,
                              "src": "6263:35:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 1552,
                                  "name": "registeredSymbols",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1185,
                                  "src": "6316:17:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                                    "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                                  }
                                },
                                "id": 1554,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 1553,
                                  "name": "symbol",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1523,
                                  "src": "6334:6:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "6316:25:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                                  "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                                }
                              },
                              "id": 1555,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "tokenName",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 1176,
                              "src": "6316:35:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_storage",
                                "typeString": "string storage ref"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 1556,
                                  "name": "registeredSymbols",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1185,
                                  "src": "6369:17:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                                    "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                                  }
                                },
                                "id": 1558,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 1557,
                                  "name": "symbol",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1523,
                                  "src": "6387:6:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "6369:25:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                                  "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                                }
                              },
                              "id": 1559,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "swarmHash",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 1178,
                              "src": "6369:35:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 1560,
                                  "name": "registeredSymbols",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1185,
                                  "src": "6422:17:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                                    "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                                  }
                                },
                                "id": 1562,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 1561,
                                  "name": "symbol",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1523,
                                  "src": "6440:6:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "6422:25:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                                  "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                                }
                              },
                              "id": 1563,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "status",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 1180,
                              "src": "6422:32:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            }
                          ],
                          "id": 1564,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "TupleExpression",
                          "src": "6196:272:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$_t_address_$_t_uint256_$_t_string_storage_$_t_bytes32_$_t_bool_$",
                            "typeString": "tuple(address,uint256,string storage ref,bytes32,bool)"
                          }
                        },
                        "functionReturnParameters": 1521,
                        "id": 1565,
                        "nodeType": "Return",
                        "src": "6177:291:7"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": "@notice Returns the owner and timestamp for a given symbol\n@param _symbol symbol\n@return address\n@return uint256\n@return string\n@return bytes32\n@return bool",
            "id": 1582,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getDetails",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1510,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1509,
                  "name": "_symbol",
                  "nodeType": "VariableDeclaration",
                  "scope": 1582,
                  "src": "5922:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1508,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "5922:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5921:16:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 1521,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1512,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1582,
                  "src": "5959:7:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1511,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5959:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1514,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1582,
                  "src": "5968:7:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1513,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5968:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1516,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1582,
                  "src": "5977:6:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1515,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "5977:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1518,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1582,
                  "src": "5985:7:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1517,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "5985:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1520,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1582,
                  "src": "5994:4:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1519,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "5994:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5958:41:7"
            },
            "scope": 1684,
            "src": "5902:655:7",
            "stateMutability": "view",
            "superFunction": 10269,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1641,
              "nodeType": "Block",
              "src": "6778:408:7",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 1596,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 1589,
                          "name": "registeredSymbols",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1185,
                          "src": "6792:17:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                            "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                          }
                        },
                        "id": 1591,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 1590,
                          "name": "_symbol",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1584,
                          "src": "6810:7:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "6792:26:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                          "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                        }
                      },
                      "id": 1592,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "owner",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 1172,
                      "src": "6792:32:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "!=",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 1594,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "6836:1:7",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          }
                        ],
                        "id": 1593,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "6828:7:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_address_$",
                          "typeString": "type(address)"
                        },
                        "typeName": "address"
                      },
                      "id": 1595,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "6828:10:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "6792:46:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 1638,
                  "nodeType": "IfStatement",
                  "src": "6788:371:7",
                  "trueBody": {
                    "id": 1637,
                    "nodeType": "Block",
                    "src": "6840:319:7",
                    "statements": [
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "id": 1612,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 1605,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "id": 1597,
                              "name": "now",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 23133,
                              "src": "6858:3:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": ">",
                            "rightExpression": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 1603,
                                  "name": "expiryLimit",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1170,
                                  "src": "6905:11:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "baseExpression": {
                                      "argumentTypes": null,
                                      "id": 1598,
                                      "name": "registeredSymbols",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 1185,
                                      "src": "6864:17:7",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                                        "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                                      }
                                    },
                                    "id": 1600,
                                    "indexExpression": {
                                      "argumentTypes": null,
                                      "id": 1599,
                                      "name": "_symbol",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 1584,
                                      "src": "6882:7:7",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string memory"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "6864:26:7",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                                      "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                                    }
                                  },
                                  "id": 1601,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "timestamp",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 1174,
                                  "src": "6864:36:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "id": 1602,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "add",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 22577,
                                "src": "6864:40:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                  "typeString": "function (uint256,uint256) pure returns (uint256)"
                                }
                              },
                              "id": 1604,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "6864:53:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "6858:59:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "&&",
                          "rightExpression": {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "id": 1611,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 1606,
                                  "name": "registeredSymbols",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1185,
                                  "src": "6921:17:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                                    "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                                  }
                                },
                                "id": 1608,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 1607,
                                  "name": "_symbol",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1584,
                                  "src": "6939:7:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "6921:26:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                                  "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                                }
                              },
                              "id": 1609,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "status",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 1180,
                              "src": "6921:33:7",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "!=",
                            "rightExpression": {
                              "argumentTypes": null,
                              "hexValue": "74727565",
                              "id": 1610,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6958:4:7",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "value": "true"
                            },
                            "src": "6921:41:7",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "src": "6858:104:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "expression": {
                            "argumentTypes": null,
                            "hexValue": "66616c7365",
                            "id": 1634,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "bool",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "7143:5:7",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "value": "false"
                          },
                          "functionReturnParameters": 1588,
                          "id": 1635,
                          "nodeType": "Return",
                          "src": "7136:12:7"
                        },
                        "id": 1636,
                        "nodeType": "IfStatement",
                        "src": "6854:294:7",
                        "trueBody": {
                          "id": 1633,
                          "nodeType": "Block",
                          "src": "6964:151:7",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 1629,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 1613,
                                    "name": "registeredSymbols",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 1185,
                                    "src": "6982:17:7",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_string_memory_$_t_struct$_SymbolDetails_$1181_storage_$",
                                      "typeString": "mapping(string memory => struct TickerRegistry.SymbolDetails storage ref)"
                                    }
                                  },
                                  "id": 1615,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 1614,
                                    "name": "_symbol",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 1584,
                                    "src": "7000:7:7",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "6982:26:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                                    "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "arguments": [
                                        {
                                          "argumentTypes": null,
                                          "hexValue": "30",
                                          "id": 1618,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "number",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "7033:1:7",
                                          "subdenomination": null,
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_rational_0_by_1",
                                            "typeString": "int_const 0"
                                          },
                                          "value": "0"
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_rational_0_by_1",
                                            "typeString": "int_const 0"
                                          }
                                        ],
                                        "id": 1617,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "nodeType": "ElementaryTypeNameExpression",
                                        "src": "7025:7:7",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_address_$",
                                          "typeString": "type(address)"
                                        },
                                        "typeName": "address"
                                      },
                                      "id": 1619,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "typeConversion",
                                      "lValueRequested": false,
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "7025:10:7",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    {
                                      "argumentTypes": null,
                                      "arguments": [
                                        {
                                          "argumentTypes": null,
                                          "hexValue": "30",
                                          "id": 1621,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "number",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "7045:1:7",
                                          "subdenomination": null,
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_rational_0_by_1",
                                            "typeString": "int_const 0"
                                          },
                                          "value": "0"
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_rational_0_by_1",
                                            "typeString": "int_const 0"
                                          }
                                        ],
                                        "id": 1620,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "nodeType": "ElementaryTypeNameExpression",
                                        "src": "7037:7:7",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_uint256_$",
                                          "typeString": "type(uint256)"
                                        },
                                        "typeName": "uint256"
                                      },
                                      "id": 1622,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "typeConversion",
                                      "lValueRequested": false,
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "7037:10:7",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    {
                                      "argumentTypes": null,
                                      "hexValue": "",
                                      "id": 1623,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "string",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "7049:2:7",
                                      "subdenomination": null,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                                        "typeString": "literal_string \"\""
                                      },
                                      "value": ""
                                    },
                                    {
                                      "argumentTypes": null,
                                      "arguments": [
                                        {
                                          "argumentTypes": null,
                                          "hexValue": "30",
                                          "id": 1625,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "number",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "7061:1:7",
                                          "subdenomination": null,
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_rational_0_by_1",
                                            "typeString": "int_const 0"
                                          },
                                          "value": "0"
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_rational_0_by_1",
                                            "typeString": "int_const 0"
                                          }
                                        ],
                                        "id": 1624,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "nodeType": "ElementaryTypeNameExpression",
                                        "src": "7053:7:7",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_bytes32_$",
                                          "typeString": "type(bytes32)"
                                        },
                                        "typeName": "bytes32"
                                      },
                                      "id": 1626,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "typeConversion",
                                      "lValueRequested": false,
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "7053:10:7",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                      }
                                    },
                                    {
                                      "argumentTypes": null,
                                      "hexValue": "66616c7365",
                                      "id": 1627,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "bool",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "7065:5:7",
                                      "subdenomination": null,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                      },
                                      "value": "false"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      },
                                      {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      },
                                      {
                                        "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                                        "typeString": "literal_string \"\""
                                      },
                                      {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                      },
                                      {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                      }
                                    ],
                                    "id": 1616,
                                    "name": "SymbolDetails",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 1181,
                                    "src": "7011:13:7",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_struct$_SymbolDetails_$1181_storage_ptr_$",
                                      "typeString": "type(struct TickerRegistry.SymbolDetails storage pointer)"
                                    }
                                  },
                                  "id": 1628,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "structConstructorCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "7011:60:7",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_SymbolDetails_$1181_memory",
                                    "typeString": "struct TickerRegistry.SymbolDetails memory"
                                  }
                                },
                                "src": "6982:89:7",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_SymbolDetails_$1181_storage",
                                  "typeString": "struct TickerRegistry.SymbolDetails storage ref"
                                }
                              },
                              "id": 1630,
                              "nodeType": "ExpressionStatement",
                              "src": "6982:89:7"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "hexValue": "74727565",
                                "id": 1631,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "7096:4:7",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "value": "true"
                              },
                              "functionReturnParameters": 1588,
                              "id": 1632,
                              "nodeType": "Return",
                              "src": "7089:11:7"
                            }
                          ]
                        }
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "hexValue": "74727565",
                    "id": 1639,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "bool",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "7175:4:7",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "value": "true"
                  },
                  "functionReturnParameters": 1588,
                  "id": 1640,
                  "nodeType": "Return",
                  "src": "7168:11:7"
                }
              ]
            },
            "documentation": "@notice To re-initialize the token symbol details if symbol validity expires\n@param _symbol token symbol\n@return bool",
            "id": 1642,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "expiryCheck",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1585,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1584,
                  "name": "_symbol",
                  "nodeType": "VariableDeclaration",
                  "scope": 1642,
                  "src": "6739:14:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1583,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6739:6:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6738:16:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 1588,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1587,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 1642,
                  "src": "6772:4:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1586,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "6772:4:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6771:6:7"
            },
            "scope": 1684,
            "src": "6718:468:7",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 1664,
              "nodeType": "Block",
              "src": "7430:183:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 1652,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 1650,
                          "name": "registrationFee",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1205,
                          "src": "7448:15:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 1651,
                          "name": "_registrationFee",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1644,
                          "src": "7467:16:7",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "7448:35:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 1649,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23134,
                      "src": "7440:7:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 1653,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7440:44:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1654,
                  "nodeType": "ExpressionStatement",
                  "src": "7440:44:7"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1656,
                        "name": "registrationFee",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1205,
                        "src": "7528:15:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 1657,
                        "name": "_registrationFee",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1644,
                        "src": "7545:16:7",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 1655,
                      "name": "LogChangePolyRegistrationFee",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1211,
                      "src": "7499:28:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$",
                        "typeString": "function (uint256,uint256)"
                      }
                    },
                    "id": 1658,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7499:63:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1659,
                  "nodeType": "EmitStatement",
                  "src": "7494:68:7"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1662,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 1660,
                      "name": "registrationFee",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1205,
                      "src": "7572:15:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 1661,
                      "name": "_registrationFee",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1644,
                      "src": "7590:16:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7572:34:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 1663,
                  "nodeType": "ExpressionStatement",
                  "src": "7572:34:7"
                }
              ]
            },
            "documentation": "@notice set the ticker registration fee in POLY tokens\n@param _registrationFee registration fee in POLY tokens (base 18 decimals)",
            "id": 1665,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 1647,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1646,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 22612,
                  "src": "7420:9:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "7420:9:7"
              }
            ],
            "name": "changePolyRegistrationFee",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1645,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1644,
                  "name": "_registrationFee",
                  "nodeType": "VariableDeclaration",
                  "scope": 1665,
                  "src": "7387:24:7",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1643,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7387:7:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7386:26:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 1648,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7430:0:7"
            },
            "scope": 1684,
            "src": "7352:261:7",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1673,
              "nodeType": "Block",
              "src": "7716:27:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 1670,
                      "name": "_unpause",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 470,
                      "src": "7726:8:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
                        "typeString": "function ()"
                      }
                    },
                    "id": 1671,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7726:10:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1672,
                  "nodeType": "ExpressionStatement",
                  "src": "7726:10:7"
                }
              ]
            },
            "documentation": "@notice pause registration function",
            "id": 1674,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 1668,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1667,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 22612,
                  "src": "7705:9:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "7705:9:7"
              }
            ],
            "name": "unpause",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1666,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7695:2:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 1669,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7716:0:7"
            },
            "scope": 1684,
            "src": "7679:64:7",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 1682,
              "nodeType": "Block",
              "src": "7844:25:7",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 1679,
                      "name": "_pause",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 456,
                      "src": "7854:6:7",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
                        "typeString": "function ()"
                      }
                    },
                    "id": 1680,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7854:8:7",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1681,
                  "nodeType": "ExpressionStatement",
                  "src": "7854:8:7"
                }
              ]
            },
            "documentation": "@notice unpause registration function",
            "id": 1683,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 1677,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 1676,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 22612,
                  "src": "7834:9:7",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "7834:9:7"
              }
            ],
            "name": "pause",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1675,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7824:2:7"
            },
            "payable": false,
            "returnParameters": {
              "id": 1678,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7844:0:7"
            },
            "scope": 1684,
            "src": "7810:59:7",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 1685,
        "src": "667:7205:7"
      }
    ],
    "src": "0:7873:7"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.24+commit.e67f0147.Emscripten.clang"
  },
  "networks": {
    "15": {
      "events": {},
      "links": {},
      "address": "0x21dc0f3331630e03968c9634cb270c881785ff93",
      "transactionHash": "0xabed6449d9c783f7da09bce31e4b32ae1e22d4eda40e93f155a3a28485b5a350"
    }
  },
  "schemaVersion": "2.0.1",
  "updatedAt": "2018-08-21T09:48:28.941Z"
}