{
  "contractName": "PolyOracle",
  "abi": [
    {
      "constant": true,
      "inputs": [],
      "name": "staleTime",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "ignoreRequestIds",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "oracleURL",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "oraclizeTimeTolerance",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "name": "admin",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "requestIds",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "sanityBounds",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "freezeOracle",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "latestScheduledUpdate",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "latestUpdate",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "gasLimit",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "payable": true,
      "stateMutability": "payable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "_price",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "_oldPrice",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "_queryId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "_time",
          "type": "uint256"
        }
      ],
      "name": "LogPriceUpdated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "_time",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "_queryId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "_query",
          "type": "string"
        }
      ],
      "name": "LogNewOraclizeQuery",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "_admin",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "_valid",
          "type": "bool"
        },
        {
          "indexed": false,
          "name": "_time",
          "type": "uint256"
        }
      ],
      "name": "LogAdminSet",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "_queryId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "_time",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "_result",
          "type": "string"
        }
      ],
      "name": "LogStalePriceUpdate",
      "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"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "myid",
          "type": "bytes32"
        },
        {
          "name": "result",
          "type": "string"
        },
        {
          "name": "proof",
          "type": "bytes"
        }
      ],
      "name": "__callback",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "name": "_result",
          "type": "string"
        }
      ],
      "name": "__callback",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_times",
          "type": "uint256[]"
        }
      ],
      "name": "schedulePriceUpdatesFixed",
      "outputs": [],
      "payable": true,
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_startTime",
          "type": "uint256"
        },
        {
          "name": "_interval",
          "type": "uint256"
        },
        {
          "name": "_iters",
          "type": "uint256"
        }
      ],
      "name": "schedulePriceUpdatesRolling",
      "outputs": [],
      "payable": true,
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_price",
          "type": "uint256"
        }
      ],
      "name": "setPOLYUSD",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_frozen",
          "type": "bool"
        }
      ],
      "name": "setFreezeOracle",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_oracleURL",
          "type": "string"
        }
      ],
      "name": "setOracleURL",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_sanityBounds",
          "type": "uint256"
        }
      ],
      "name": "setSanityBounds",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_gasPrice",
          "type": "uint256"
        }
      ],
      "name": "setGasPrice",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getPriceAndTime",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        },
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_gasLimit",
          "type": "uint256"
        }
      ],
      "name": "setGasLimit",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_staleTime",
          "type": "uint256"
        }
      ],
      "name": "setStaleTime",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_requestIds",
          "type": "bytes32[]"
        },
        {
          "name": "_ignore",
          "type": "bool[]"
        }
      ],
      "name": "setIgnoreRequestIds",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_admin",
          "type": "address"
        },
        {
          "name": "_valid",
          "type": "bool"
        }
      ],
      "name": "setAdmin",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_oraclizeTimeTolerance",
          "type": "uint256"
        }
      ],
      "name": "setOraclizeTimeTolerance",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getCurrencyAddress",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getCurrencySymbol",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getCurrencyDenominated",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getPrice",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "drainContract",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x610100604052605560808190527f6a736f6e2868747470733a2f2f6170692e636f696e6d61726b65746361702e6360a09081527f6f6d2f76322f7469636b65722f323439362f3f636f6e766572743d555344292e60c0527f646174612e71756f7465732e5553442e7072696365000000000000000000000060e052620000899160069190620006ff565b506702c68af0bb140000600755620186a060085561012c600955615460600a5560058054600160a060020a03191633179055620000d4640ba43b7400640100000000620000da810204565b620007a1565b600054600160a060020a031615806200011057506000546200010e90600160a060020a03166401000000006200031a810204565b155b156200012d576200012b60006401000000006200031e810204565b505b6000809054906101000a9004600160a060020a0316600160a060020a03166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156200019957600080fd5b505af1158015620001ae573d6000803e3d6000fd5b505050506040513d6020811015620001c557600080fd5b5051600154600160a060020a0390811691161462000297576000809054906101000a9004600160a060020a0316600160a060020a03166338cc48316040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156200024957600080fd5b505af11580156200025e573d6000803e3d6000fd5b505050506040513d60208110156200027557600080fd5b505160018054600160a060020a031916600160a060020a039092169190911790555b600154604080517fca6ad1e4000000000000000000000000000000000000000000000000000000008152600481018490529051600160a060020a039092169163ca6ad1e49160248082019260009290919082900301818387803b158015620002fe57600080fd5b505af115801562000313573d6000803e3d6000fd5b5050505050565b3b90565b60006200033364010000000062000339810204565b92915050565b60008062000364731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed6401000000006200031a810204565b1115620003e25760008054600160a060020a031916731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed17905560408051808201909152600b81527f6574685f6d61696e6e65740000000000000000000000000000000000000000006020820152620003d990640100000000620006e6810204565b506001620006e3565b60006200040c73c03a2615d5efaf5f49f60b7bb6583eaec212fdf16401000000006200031a810204565b1115620004815760008054600160a060020a03191673c03a2615d5efaf5f49f60b7bb6583eaec212fdf117905560408051808201909152600c81527f6574685f726f707374656e3300000000000000000000000000000000000000006020820152620003d990640100000000620006e6810204565b6000620004ab73b7a07bcf2ba2f2703b24c0691b5278999c59ac7e6401000000006200031a810204565b1115620005205760008054600160a060020a03191673b7a07bcf2ba2f2703b24c0691b5278999c59ac7e17905560408051808201909152600981527f6574685f6b6f76616e00000000000000000000000000000000000000000000006020820152620003d990640100000000620006e6810204565b60006200054a73146500cfd35b22e4a392fe0adc06de1a1368ed486401000000006200031a810204565b1115620005bf5760008054600160a060020a03191673146500cfd35b22e4a392fe0adc06de1a1368ed4817905560408051808201909152600b81527f6574685f72696e6b6562790000000000000000000000000000000000000000006020820152620003d990640100000000620006e6810204565b6000620005e9736f485c8bf6fc43ea212e93bbf8ce046c7f1cb4756401000000006200031a810204565b11156200061f575060008054600160a060020a031916736f485c8bf6fc43ea212e93bbf8ce046c7f1cb4751790556001620006e3565b6000620006497320e12a1f859b3feae5fb2a0a32c18f5a65555bbf6401000000006200031a810204565b11156200067f575060008054600160a060020a0319167320e12a1f859b3feae5fb2a0a32c18f5a65555bbf1790556001620006e3565b6000620006a97351efaf4c8b3c9afbd5ab9f4bbc82784ab6ef8faa6401000000006200031a810204565b1115620006df575060008054600160a060020a0319167351efaf4c8b3c9afbd5ab9f4bbc82784ab6ef8faa1790556001620006e3565b5060005b90565b8051620006fb906002906020840190620006ff565b5050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200074257805160ff191683800117855562000772565b8280016001018555821562000772579182015b828111156200077257825182559160200191906001019062000755565b506200078092915062000784565b5090565b620006e391905b808211156200078057600081556001016200078b565b61302c80620007b16000396000f3006080604052600436106101925763ffffffff60e060020a6000350416630f71590c811461019757806327dc297e146101b157806338b880521461020f57806338bbfa50146102365780633b30ef1c146102d25780634b0bddd2146102fe5780634b6ea67714610324578063554600fa146103ae5780635cf6208a146103c65780635dfc09a4146103db57806363a846f8146103f0578063715018a6146104115780637d14c8df146104265780638645f7a81461043e5780638a62e9e9146104565780638da5cb5b146104e457806396bc5ab71461051557806398d5fdca1461056e5780639b4bb9f014610583578063a489a2c7146105cb578063af91e0bf146105e0578063b0cccbc3146105f5578063bf1fe4201461060f578063bfe0c27e14610627578063c21afe121461063c578063c43422521461064d578063d0360e5914610662578063d265421914610677578063e139e5691461068c578063e360a49e146106ba578063ee7d72b4146106cf578063f2fde38b146106e7578063f68016b714610708578063fed82ef31461071d575b600080fd5b3480156101a357600080fd5b506101af600435610735565b005b3480156101bd57600080fd5b5060408051602060046024803582810135601f81018590048502860185019096528585526101af95833595369560449491939091019190819084018382808284375094975061079e9650505050505050565b34801561021b57600080fd5b50610224610c20565b60408051918252519081900360200190f35b34801561024257600080fd5b5060408051602060046024803582810135601f81018590048502860185019096528585526101af95833595369560449491939091019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750610c269650505050505050565b3480156102de57600080fd5b506102ea600435610c2b565b604080519115158252519081900360200190f35b34801561030a57600080fd5b506101af600160a060020a03600435166024351515610c40565b34801561033057600080fd5b50610339610cc0565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561037357818101518382015260200161035b565b50505050905090810190601f1680156103a05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156103ba57600080fd5b506101af600435610d4e565b3480156103d257600080fd5b50610224610d6a565b3480156103e757600080fd5b50610224610d70565b3480156103fc57600080fd5b506102ea600160a060020a0360043516610d95565b34801561041d57600080fd5b506101af610daa565b34801561043257600080fd5b506101af600435610e0b565b34801561044a57600080fd5b50610224600435610e27565b34801561046257600080fd5b50604080516020600480358082013583810280860185019096528085526101af95369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750949750610e399650505050505050565b3480156104f057600080fd5b506104f9610f14565b60408051600160a060020a039092168252519081900360200190f35b34801561052157600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526101af943694929360249392840191908190840183828082843750949750610f239650505050505050565b34801561057a57600080fd5b50610224610f51565b604080516020600480358082013583810280860185019096528085526101af95369593946024949385019291829185019084908082843750949750610f6f9650505050505050565b3480156105d757600080fd5b50610224611566565b3480156105ec57600080fd5b506102ea61156c565b34801561060157600080fd5b506101af6004351515611575565b34801561061b57600080fd5b506101af60043561159f565b34801561063357600080fd5b506104f96115c2565b6101af6004356024356044356115da565b34801561065957600080fd5b50610224611a09565b34801561066e57600080fd5b506101af611a0f565b34801561068357600080fd5b50610224611a53565b34801561069857600080fd5b506106a1611a77565b6040805192835260208301919091528051918290030190f35b3480156106c657600080fd5b50610224611a81565b3480156106db57600080fd5b506101af600435611a87565b3480156106f357600080fd5b506101af600160a060020a0360043516611b0a565b34801561071457600080fd5b50610224611b2a565b34801561072957600080fd5b506101af600435611b30565b600554600160a060020a0316331461074c57600080fd5b600b54604080518381526020810192909252600082820152426060830152517fff417065ee8b8d3413272cbb7706e9a8c4b11be8d34c75217ef84aac5f2a2f239181900360800190a1600b5542600c55565b6000806107a9611b4c565b600160a060020a0316331461082d576040805160e560020a62461bcd028152602060048201526024808201527f4f6e6c79204f7261636c697a652063616e206163636573732074686973206d6560448201527f74686f6400000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60115460ff1615610888576040805160e560020a62461bcd02815260206004820152601060248201527f4f7261636c652069732066726f7a656e00000000000000000000000000000000604482015290519081900360640190fd5b6000848152600f602052604090205460ff16156108ef576040805160e560020a62461bcd02815260206004820152601260248201527f49676e6f72696e67207265717565737449640000000000000000000000000000604482015290519081900360640190fd5b600c546000858152600e602052604090205410156109ca576000848152600e60209081526040808320548151888152808401829052606092810183815288519382019390935287517fc4a0f430f8025b63448c7504fb089019fc60b906d0c5924459abb4797a6c0c56958a9593948a9490926080850192918601918190849084905b83811015610989578181015183820152602001610971565b50505050905090810190601f1680156109b65780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1610c1a565b600c546000858152600e60205260409020541015610a32576040805160e560020a62461bcd02815260206004820152600f60248201527f526573756c74206973207374616c650000000000000000000000000000000000604482015290519081900360640190fd5b6009546000858152600e6020526040902054429091011015610a9e576040805160e560020a62461bcd02815260206004820152600f60248201527f526573756c74206973206561726c790000000000000000000000000000000000604482015290519081900360640190fd5b610aa9836012611d3d565b9150610ada670de0b6b3a7640000610ace600754600b54611ef790919063ffffffff16565b9063ffffffff611f2616565b600c5490915015610bb957600b54610af8908263ffffffff611f3b16565b821115610b4f576040805160e560020a62461bcd02815260206004820152601360248201527f526573756c7420697320746f6f206c6172676500000000000000000000000000604482015290519081900360640190fd5b600b54610b62908263ffffffff611f4816565b821015610bb9576040805160e560020a62461bcd02815260206004820152601360248201527f526573756c7420697320746f6f20736d616c6c00000000000000000000000000604482015290519081900360640190fd5b6000848152600e602090815260409182902054600c819055600b54835186815292830152818301879052606082015290517fff417065ee8b8d3413272cbb7706e9a8c4b11be8d34c75217ef84aac5f2a2f239181900360800190a1600b8290555b50505050565b600a5481565b505050565b600f6020526000908152604090205460ff1681565b600554600160a060020a03163314610c5757600080fd5b600160a060020a038216600081815260106020908152604091829020805485151560ff1990911681179091558251938452908301524282820152517f9b54007a8aa714e6eb1beb868e088484cb6ff36fdfe475392f6fab4fa2ae67b39181900360600190a15050565b6006805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610d465780601f10610d1b57610100808354040283529160200191610d46565b820191906000526020600020905b815481529060010190602001808311610d2957829003601f168201915b505050505081565b600554600160a060020a03163314610d6557600080fd5b600955565b60095481565b7f504f4c59000000000000000000000000000000000000000000000000000000005b90565b60106020526000908152604090205460ff1681565b600554600160a060020a03163314610dc157600080fd5b600554604051600160a060020a03909116907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482090600090a260058054600160a060020a0319169055565b600554600160a060020a03163314610e2257600080fd5b600a55565b600e6020526000908152604090205481565b600554600090600160a060020a03163314610e5357600080fd5b8151835114610eac576040805160e560020a62461bcd02815260206004820152601b60248201527f496e636f727265637420706172616d65746572206c656e677468730000000000604482015290519081900360640190fd5b5060005b8251811015610c26578181815181101515610ec757fe5b90602001906020020151600f60008584815181101515610ee357fe5b6020908102919091018101518252810191909152604001600020805460ff1916911515919091179055600101610eb0565b600554600160a060020a031681565b600554600160a060020a03163314610f3a57600080fd5b8051610f4d906006906020840190612f68565b5050565b6000600a544203600c5410151515610f6857600080fd5b50600b5490565b336000908152601060205260408120548190819060ff1680610f9b5750600554600160a060020a031633145b1515610ff1576040805160e560020a62461bcd02815260206004820152601d60248201527f41646472657373206973206e6f742061646d696e206f72206f776e6572000000604482015290519081900360640190fd5b8351151561120d57604080518082019091526003815260ea60020a6215549302602082015260085430319161102591611f5a565b111561107b576040805160e560020a62461bcd02815260206004820152601260248201527f496e73756666696369656e742046756e64730000000000000000000000000000604482015290519081900360640190fd5b6040805180820182526003815260ea60020a6215549302602080830191909152600680548451601f6002600019610100600186161502019093169290920491820184900484028101840190955280855261112e94928301828280156111215780601f106110f657610100808354040283529160200191611121565b820191906000526020600020905b81548152906001019060200180831161110457829003601f168201915b50505050506008546121c7565b6000818152600e602090815260409182902042908190558251818152918201849052606092820183815260068054600261010060018316150260001901909116049484018590529497509095507f596dec17e17fa1094abbd97b66d083dcbb9d349993e12e9bfc3de443eb60a4ea93869388939192906080830190849080156111f85780601f106111cd576101008083540402835291602001916111f8565b820191906000526020600020905b8154815290600101906020018083116111db57829003601f168201915b505094505050505060405180910390a1611554565b30600160a060020a031631845161124460408051908101604052806003815260200160ea60020a6215549302815250600854611f5a565b02111561129b576040805160e560020a62461bcd02815260206004820152601260248201527f496e73756666696369656e742046756e64730000000000000000000000000000604482015290519081900360640190fd5b5060005b8351811015611554574284828151811015156112b757fe5b602090810290910101511015611363576040805160e560020a62461bcd02815260206004820152604e60248201527f50617374207363686564756c696e67206973206e6f7420616c6c6f776564206160448201527f6e64207363686564756c65642074696d652073686f756c64206265206162736f60648201527f6c7574652074696d657374616d70000000000000000000000000000000000000608482015290519081900360a40190fd5b61142e848281518110151561137457fe5b60209081029091018101516040805180820182526003815260ea60020a621554930281850152600680548351601f600260001961010060018616150201909316929092049182018790048702810187019094528084529394919390918301828280156114215780601f106113f657610100808354040283529160200191611421565b820191906000526020600020905b81548152906001019060200180831161140457829003601f168201915b50505050506008546125c8565b9250838181518110151561143e57fe5b60209081029091018101516000858152600e9092526040909120819055821015611474576000838152600e602052604090205491505b7f596dec17e17fa1094abbd97b66d083dcbb9d349993e12e9bfc3de443eb60a4ea84828151811015156114a357fe5b60209081029091018101516040805182815292830187905260609083018181526006805460026101006001831615026000190190911604928501839052929388939290919060808301908490801561153c5780601f106115115761010080835404028352916020019161153c565b820191906000526020600020905b81548152906001019060200180831161151f57829003601f168201915b505094505050505060405180910390a160010161129f565b81600d541015610c1a5750600d555050565b60075481565b60115460ff1681565b600554600160a060020a0316331461158c57600080fd5b6011805460ff1916911515919091179055565b600554600160a060020a031633146115b657600080fd5b6115bf816129ca565b50565b739992ec3cf6a55b00978cddf2b27bc6882d88d1ec90565b336000908152601060205260408120548190819060ff16806116065750600554600160a060020a031633145b151561165c576040805160e560020a62461bcd02815260206004820152601d60248201527f41646472657373206973206e6f742061646d696e206f72206f776e6572000000604482015290519081900360640190fd5b600085116116da576040805160e560020a62461bcd02815260206004820152603b60248201527f496e74657276616c206265747765656e207363686564756c65642074696d652060448201527f73686f756c642062652067726561746572207468616e207a65726f0000000000606482015290519081900360840190fd5b60008411611732576040805160e560020a62461bcd02815260206004820152601760248201527f4e6f20697465726174696f6e7320737065636966696564000000000000000000604482015290519081900360640190fd5b428610156117d6576040805160e560020a62461bcd02815260206004820152604e60248201527f50617374207363686564756c696e67206973206e6f7420616c6c6f776564206160448201527f6e64207363686564756c65642074696d652073686f756c64206265206162736f60648201527f6c7574652074696d657374616d70000000000000000000000000000000000000608482015290519081900360a40190fd5b30600160a060020a0316318461180c60408051908101604052806003815260200160ea60020a6215549302815250600854611f5a565b021115611863576040805160e560020a62461bcd02815260206004820152601260248201527f496e73756666696369656e742046756e64730000000000000000000000000000604482015290519081900360640190fd5b600091505b838210156119d657506040805180820182526003815260ea60020a621554930260208083019190915260068054845160026001831615610100026000190190921691909104601f81018490048402820184019095528481528886028a01946118f6948694909391908301828280156114215780601f106113f657610100808354040283529160200191611421565b6000818152600e60209081526040918290208490558151848152908101839052606091810182815260068054600261010060018316150260001901909116049383018490529396507f596dec17e17fa1094abbd97b66d083dcbb9d349993e12e9bfc3de443eb60a4ea93859388939192906080830190849080156119bb5780601f10611990576101008083540402835291602001916119bb565b820191906000526020600020905b81548152906001019060200180831161199e57829003601f168201915b505094505050505060405180910390a1600190910190611868565b6000838152600e6020526040902054600d541015611a01576000838152600e6020526040902054600d555b505050505050565b600d5481565b600554600160a060020a03163314611a2657600080fd5b6040513390303180156108fc02916000818181858888f193505050501580156115bf573d6000803e3d6000fd5b7f555344000000000000000000000000000000000000000000000000000000000090565b600b54600c549091565b600c5481565b3360009081526010602052604090205460ff1680611aaf5750600554600160a060020a031633145b1515611b05576040805160e560020a62461bcd02815260206004820152601d60248201527f41646472657373206973206e6f742061646d696e206f72206f776e6572000000604482015290519081900360640190fd5b600855565b600554600160a060020a03163314611b2157600080fd5b6115bf81612bb7565b60085481565b600554600160a060020a03163314611b4757600080fd5b600755565b60008054600160a060020a03161580611b775750600054611b7590600160a060020a0316612c28565b155b15611b8857611b866000612c2c565b505b6000809054906101000a9004600160a060020a0316600160a060020a03166338cc48316040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611bda57600080fd5b505af1158015611bee573d6000803e3d6000fd5b505050506040513d6020811015611c0457600080fd5b5051600154600160a060020a03908116911614611cb9576000809054906101000a9004600160a060020a0316600160a060020a03166338cc48316040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611c6d57600080fd5b505af1158015611c81573d6000803e3d6000fd5b505050506040513d6020811015611c9757600080fd5b505160018054600160a060020a031916600160a060020a039092169190911790555b600160009054906101000a9004600160a060020a0316600160a060020a031663c281d19e6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611d0c57600080fd5b505af1158015611d20573d6000803e3d6000fd5b505050506040513d6020811015611d3657600080fd5b5051905090565b6000828180805b8351811015611eda5783517f300000000000000000000000000000000000000000000000000000000000000090859083908110611d7d57fe5b90602001015160f860020a900460f860020a027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191610158015611e23575083517f390000000000000000000000000000000000000000000000000000000000000090859083908110611deb57fe5b90602001015160f860020a900460f860020a027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b15611e7c578115611e4257851515611e3a57611eda565b600019909501945b600a8302925060308482815181101515611e5857fe5b90602001015160f860020a900460f860020a0260f860020a90040383019250611ed2565b8381815181101515611e8a57fe5b90602001015160f860020a900460f860020a027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916602e60f860020a021415611ed257600191505b600101611d44565b6000861115611eec5785600a0a830292505b509095945050505050565b6000821515611f0857506000611f20565b50818102818382811515611f1857fe5b0414611f2057fe5b92915050565b60008183811515611f3357fe5b049392505050565b81810182811015611f2057fe5b600082821115611f5457fe5b50900390565b60008054600160a060020a03161580611f855750600054611f8390600160a060020a0316612c28565b155b15611f9657611f946000612c2c565b505b6000809054906101000a9004600160a060020a0316600160a060020a03166338cc48316040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611fe857600080fd5b505af1158015611ffc573d6000803e3d6000fd5b505050506040513d602081101561201257600080fd5b5051600154600160a060020a039081169116146120c7576000809054906101000a9004600160a060020a0316600160a060020a03166338cc48316040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561207b57600080fd5b505af115801561208f573d6000803e3d6000fd5b505050506040513d60208110156120a557600080fd5b505160018054600160a060020a031916600160a060020a039092169190911790555b600154604080517f2ef3accc0000000000000000000000000000000000000000000000000000000081526024810185905260048101918252855160448201528551600160a060020a0390931692632ef3accc9287928792829160640190602086019080838360005b8381101561214757818101518382015260200161212f565b50505050905090810190601f1680156121745780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b15801561219457600080fd5b505af11580156121a8573d6000803e3d6000fd5b505050506040513d60208110156121be57600080fd5b50519392505050565b600080548190600160a060020a031615806121f457506000546121f290600160a060020a0316612c28565b155b15612205576122036000612c2c565b505b6000809054906101000a9004600160a060020a0316600160a060020a03166338cc48316040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561225757600080fd5b505af115801561226b573d6000803e3d6000fd5b505050506040513d602081101561228157600080fd5b5051600154600160a060020a03908116911614612336576000809054906101000a9004600160a060020a0316600160a060020a03166338cc48316040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156122ea57600080fd5b505af11580156122fe573d6000803e3d6000fd5b505050506040513d602081101561231457600080fd5b505160018054600160a060020a031916600160a060020a039092169190911790555b600154604080517f2ef3accc0000000000000000000000000000000000000000000000000000000081526024810186905260048101918252875160448201528751600160a060020a0390931692632ef3accc9289928892829160640190602086019080838360005b838110156123b657818101518382015260200161239e565b50505050905090810190601f1680156123e35780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b15801561240357600080fd5b505af1158015612417573d6000803e3d6000fd5b505050506040513d602081101561242d57600080fd5b50519050670de0b6b3a76400003a84020181111561244e57600091506125c0565b6001546040517fc51be90f00000000000000000000000000000000000000000000000000000000815260006004820181815260648301879052608060248401908152895160848501528951600160a060020a039095169463c51be90f948794938c938c938c93604481019160a49091019060208801908083838c5b838110156124e15781810151838201526020016124c9565b50505050905090810190601f16801561250e5780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b83811015612541578181015183820152602001612529565b50505050905090810190601f16801561256e5780820380516001836020036101000a031916815260200191505b5096505050505050506020604051808303818588803b15801561259057600080fd5b505af11580156125a4573d6000803e3d6000fd5b50505050506040513d60208110156125bb57600080fd5b505191505b509392505050565b600080548190600160a060020a031615806125f557506000546125f390600160a060020a0316612c28565b155b15612606576126046000612c2c565b505b6000809054906101000a9004600160a060020a0316600160a060020a03166338cc48316040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561265857600080fd5b505af115801561266c573d6000803e3d6000fd5b505050506040513d602081101561268257600080fd5b5051600154600160a060020a03908116911614612737576000809054906101000a9004600160a060020a0316600160a060020a03166338cc48316040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156126eb57600080fd5b505af11580156126ff573d6000803e3d6000fd5b505050506040513d602081101561271557600080fd5b505160018054600160a060020a031916600160a060020a039092169190911790555b600154604080517f2ef3accc0000000000000000000000000000000000000000000000000000000081526024810186905260048101918252875160448201528751600160a060020a0390931692632ef3accc9289928892829160640190602086019080838360005b838110156127b757818101518382015260200161279f565b50505050905090810190601f1680156127e45780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b15801561280457600080fd5b505af1158015612818573d6000803e3d6000fd5b505050506040513d602081101561282e57600080fd5b50519050670de0b6b3a76400003a84020181111561284f57600091506129c1565b6001546040517fc51be90f0000000000000000000000000000000000000000000000000000000081526004810188815260648201869052608060248301908152885160848401528851600160a060020a039094169363c51be90f9386938c938c938c938c939291604482019160a40190602088019080838360005b838110156128e25781810151838201526020016128ca565b50505050905090810190601f16801561290f5780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b8381101561294257818101518382015260200161292a565b50505050905090810190601f16801561296f5780820380516001836020036101000a031916815260200191505b5096505050505050506020604051808303818588803b15801561299157600080fd5b505af11580156129a5573d6000803e3d6000fd5b50505050506040513d60208110156129bc57600080fd5b505191505b50949350505050565b600054600160a060020a031615806129f457506000546129f290600160a060020a0316612c28565b155b15612a0557612a036000612c2c565b505b6000809054906101000a9004600160a060020a0316600160a060020a03166338cc48316040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015612a5757600080fd5b505af1158015612a6b573d6000803e3d6000fd5b505050506040513d6020811015612a8157600080fd5b5051600154600160a060020a03908116911614612b36576000809054906101000a9004600160a060020a0316600160a060020a03166338cc48316040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015612aea57600080fd5b505af1158015612afe573d6000803e3d6000fd5b505050506040513d6020811015612b1457600080fd5b505160018054600160a060020a031916600160a060020a039092169190911790555b600154604080517fca6ad1e4000000000000000000000000000000000000000000000000000000008152600481018490529051600160a060020a039092169163ca6ad1e49160248082019260009290919082900301818387803b158015612b9c57600080fd5b505af1158015612bb0573d6000803e3d6000fd5b5050505050565b600160a060020a0381161515612bcc57600080fd5b600554604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a360058054600160a060020a031916600160a060020a0392909216919091179055565b3b90565b6000611f20600080612c51731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed612c28565b1115612cc25760008054600160a060020a031916731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed17905560408051808201909152600b81527f6574685f6d61696e6e65740000000000000000000000000000000000000000006020820152612cba90612f59565b506001610d92565b6000612ce173c03a2615d5efaf5f49f60b7bb6583eaec212fdf1612c28565b1115612d4a5760008054600160a060020a03191673c03a2615d5efaf5f49f60b7bb6583eaec212fdf117905560408051808201909152600c81527f6574685f726f707374656e3300000000000000000000000000000000000000006020820152612cba90612f59565b6000612d6973b7a07bcf2ba2f2703b24c0691b5278999c59ac7e612c28565b1115612dd25760008054600160a060020a03191673b7a07bcf2ba2f2703b24c0691b5278999c59ac7e17905560408051808201909152600981527f6574685f6b6f76616e00000000000000000000000000000000000000000000006020820152612cba90612f59565b6000612df173146500cfd35b22e4a392fe0adc06de1a1368ed48612c28565b1115612e5a5760008054600160a060020a03191673146500cfd35b22e4a392fe0adc06de1a1368ed4817905560408051808201909152600b81527f6574685f72696e6b6562790000000000000000000000000000000000000000006020820152612cba90612f59565b6000612e79736f485c8bf6fc43ea212e93bbf8ce046c7f1cb475612c28565b1115612ead575060008054600160a060020a031916736f485c8bf6fc43ea212e93bbf8ce046c7f1cb4751790556001610d92565b6000612ecc7320e12a1f859b3feae5fb2a0a32c18f5a65555bbf612c28565b1115612f00575060008054600160a060020a0319167320e12a1f859b3feae5fb2a0a32c18f5a65555bbf1790556001610d92565b6000612f1f7351efaf4c8b3c9afbd5ab9f4bbc82784ab6ef8faa612c28565b1115612f53575060008054600160a060020a0319167351efaf4c8b3c9afbd5ab9f4bbc82784ab6ef8faa1790556001610d92565b50600090565b8051610f4d9060029060208401905b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612fa957805160ff1916838001178555612fd6565b82800160010185558215612fd6579182015b82811115612fd6578251825591602001919060010190612fbb565b50612fe2929150612fe6565b5090565b610d9291905b80821115612fe25760008155600101612fec5600a165627a7a72305820a3f279fe85dc73a130b26ea2f500a21a09f300cd909d5ae7d0a61aba4a339cc60029",
  "deployedBytecode": "0x6080604052600436106101925763ffffffff60e060020a6000350416630f71590c811461019757806327dc297e146101b157806338b880521461020f57806338bbfa50146102365780633b30ef1c146102d25780634b0bddd2146102fe5780634b6ea67714610324578063554600fa146103ae5780635cf6208a146103c65780635dfc09a4146103db57806363a846f8146103f0578063715018a6146104115780637d14c8df146104265780638645f7a81461043e5780638a62e9e9146104565780638da5cb5b146104e457806396bc5ab71461051557806398d5fdca1461056e5780639b4bb9f014610583578063a489a2c7146105cb578063af91e0bf146105e0578063b0cccbc3146105f5578063bf1fe4201461060f578063bfe0c27e14610627578063c21afe121461063c578063c43422521461064d578063d0360e5914610662578063d265421914610677578063e139e5691461068c578063e360a49e146106ba578063ee7d72b4146106cf578063f2fde38b146106e7578063f68016b714610708578063fed82ef31461071d575b600080fd5b3480156101a357600080fd5b506101af600435610735565b005b3480156101bd57600080fd5b5060408051602060046024803582810135601f81018590048502860185019096528585526101af95833595369560449491939091019190819084018382808284375094975061079e9650505050505050565b34801561021b57600080fd5b50610224610c20565b60408051918252519081900360200190f35b34801561024257600080fd5b5060408051602060046024803582810135601f81018590048502860185019096528585526101af95833595369560449491939091019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750610c269650505050505050565b3480156102de57600080fd5b506102ea600435610c2b565b604080519115158252519081900360200190f35b34801561030a57600080fd5b506101af600160a060020a03600435166024351515610c40565b34801561033057600080fd5b50610339610cc0565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561037357818101518382015260200161035b565b50505050905090810190601f1680156103a05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156103ba57600080fd5b506101af600435610d4e565b3480156103d257600080fd5b50610224610d6a565b3480156103e757600080fd5b50610224610d70565b3480156103fc57600080fd5b506102ea600160a060020a0360043516610d95565b34801561041d57600080fd5b506101af610daa565b34801561043257600080fd5b506101af600435610e0b565b34801561044a57600080fd5b50610224600435610e27565b34801561046257600080fd5b50604080516020600480358082013583810280860185019096528085526101af95369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750949750610e399650505050505050565b3480156104f057600080fd5b506104f9610f14565b60408051600160a060020a039092168252519081900360200190f35b34801561052157600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526101af943694929360249392840191908190840183828082843750949750610f239650505050505050565b34801561057a57600080fd5b50610224610f51565b604080516020600480358082013583810280860185019096528085526101af95369593946024949385019291829185019084908082843750949750610f6f9650505050505050565b3480156105d757600080fd5b50610224611566565b3480156105ec57600080fd5b506102ea61156c565b34801561060157600080fd5b506101af6004351515611575565b34801561061b57600080fd5b506101af60043561159f565b34801561063357600080fd5b506104f96115c2565b6101af6004356024356044356115da565b34801561065957600080fd5b50610224611a09565b34801561066e57600080fd5b506101af611a0f565b34801561068357600080fd5b50610224611a53565b34801561069857600080fd5b506106a1611a77565b6040805192835260208301919091528051918290030190f35b3480156106c657600080fd5b50610224611a81565b3480156106db57600080fd5b506101af600435611a87565b3480156106f357600080fd5b506101af600160a060020a0360043516611b0a565b34801561071457600080fd5b50610224611b2a565b34801561072957600080fd5b506101af600435611b30565b600554600160a060020a0316331461074c57600080fd5b600b54604080518381526020810192909252600082820152426060830152517fff417065ee8b8d3413272cbb7706e9a8c4b11be8d34c75217ef84aac5f2a2f239181900360800190a1600b5542600c55565b6000806107a9611b4c565b600160a060020a0316331461082d576040805160e560020a62461bcd028152602060048201526024808201527f4f6e6c79204f7261636c697a652063616e206163636573732074686973206d6560448201527f74686f6400000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60115460ff1615610888576040805160e560020a62461bcd02815260206004820152601060248201527f4f7261636c652069732066726f7a656e00000000000000000000000000000000604482015290519081900360640190fd5b6000848152600f602052604090205460ff16156108ef576040805160e560020a62461bcd02815260206004820152601260248201527f49676e6f72696e67207265717565737449640000000000000000000000000000604482015290519081900360640190fd5b600c546000858152600e602052604090205410156109ca576000848152600e60209081526040808320548151888152808401829052606092810183815288519382019390935287517fc4a0f430f8025b63448c7504fb089019fc60b906d0c5924459abb4797a6c0c56958a9593948a9490926080850192918601918190849084905b83811015610989578181015183820152602001610971565b50505050905090810190601f1680156109b65780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1610c1a565b600c546000858152600e60205260409020541015610a32576040805160e560020a62461bcd02815260206004820152600f60248201527f526573756c74206973207374616c650000000000000000000000000000000000604482015290519081900360640190fd5b6009546000858152600e6020526040902054429091011015610a9e576040805160e560020a62461bcd02815260206004820152600f60248201527f526573756c74206973206561726c790000000000000000000000000000000000604482015290519081900360640190fd5b610aa9836012611d3d565b9150610ada670de0b6b3a7640000610ace600754600b54611ef790919063ffffffff16565b9063ffffffff611f2616565b600c5490915015610bb957600b54610af8908263ffffffff611f3b16565b821115610b4f576040805160e560020a62461bcd02815260206004820152601360248201527f526573756c7420697320746f6f206c6172676500000000000000000000000000604482015290519081900360640190fd5b600b54610b62908263ffffffff611f4816565b821015610bb9576040805160e560020a62461bcd02815260206004820152601360248201527f526573756c7420697320746f6f20736d616c6c00000000000000000000000000604482015290519081900360640190fd5b6000848152600e602090815260409182902054600c819055600b54835186815292830152818301879052606082015290517fff417065ee8b8d3413272cbb7706e9a8c4b11be8d34c75217ef84aac5f2a2f239181900360800190a1600b8290555b50505050565b600a5481565b505050565b600f6020526000908152604090205460ff1681565b600554600160a060020a03163314610c5757600080fd5b600160a060020a038216600081815260106020908152604091829020805485151560ff1990911681179091558251938452908301524282820152517f9b54007a8aa714e6eb1beb868e088484cb6ff36fdfe475392f6fab4fa2ae67b39181900360600190a15050565b6006805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610d465780601f10610d1b57610100808354040283529160200191610d46565b820191906000526020600020905b815481529060010190602001808311610d2957829003601f168201915b505050505081565b600554600160a060020a03163314610d6557600080fd5b600955565b60095481565b7f504f4c59000000000000000000000000000000000000000000000000000000005b90565b60106020526000908152604090205460ff1681565b600554600160a060020a03163314610dc157600080fd5b600554604051600160a060020a03909116907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482090600090a260058054600160a060020a0319169055565b600554600160a060020a03163314610e2257600080fd5b600a55565b600e6020526000908152604090205481565b600554600090600160a060020a03163314610e5357600080fd5b8151835114610eac576040805160e560020a62461bcd02815260206004820152601b60248201527f496e636f727265637420706172616d65746572206c656e677468730000000000604482015290519081900360640190fd5b5060005b8251811015610c26578181815181101515610ec757fe5b90602001906020020151600f60008584815181101515610ee357fe5b6020908102919091018101518252810191909152604001600020805460ff1916911515919091179055600101610eb0565b600554600160a060020a031681565b600554600160a060020a03163314610f3a57600080fd5b8051610f4d906006906020840190612f68565b5050565b6000600a544203600c5410151515610f6857600080fd5b50600b5490565b336000908152601060205260408120548190819060ff1680610f9b5750600554600160a060020a031633145b1515610ff1576040805160e560020a62461bcd02815260206004820152601d60248201527f41646472657373206973206e6f742061646d696e206f72206f776e6572000000604482015290519081900360640190fd5b8351151561120d57604080518082019091526003815260ea60020a6215549302602082015260085430319161102591611f5a565b111561107b576040805160e560020a62461bcd02815260206004820152601260248201527f496e73756666696369656e742046756e64730000000000000000000000000000604482015290519081900360640190fd5b6040805180820182526003815260ea60020a6215549302602080830191909152600680548451601f6002600019610100600186161502019093169290920491820184900484028101840190955280855261112e94928301828280156111215780601f106110f657610100808354040283529160200191611121565b820191906000526020600020905b81548152906001019060200180831161110457829003601f168201915b50505050506008546121c7565b6000818152600e602090815260409182902042908190558251818152918201849052606092820183815260068054600261010060018316150260001901909116049484018590529497509095507f596dec17e17fa1094abbd97b66d083dcbb9d349993e12e9bfc3de443eb60a4ea93869388939192906080830190849080156111f85780601f106111cd576101008083540402835291602001916111f8565b820191906000526020600020905b8154815290600101906020018083116111db57829003601f168201915b505094505050505060405180910390a1611554565b30600160a060020a031631845161124460408051908101604052806003815260200160ea60020a6215549302815250600854611f5a565b02111561129b576040805160e560020a62461bcd02815260206004820152601260248201527f496e73756666696369656e742046756e64730000000000000000000000000000604482015290519081900360640190fd5b5060005b8351811015611554574284828151811015156112b757fe5b602090810290910101511015611363576040805160e560020a62461bcd02815260206004820152604e60248201527f50617374207363686564756c696e67206973206e6f7420616c6c6f776564206160448201527f6e64207363686564756c65642074696d652073686f756c64206265206162736f60648201527f6c7574652074696d657374616d70000000000000000000000000000000000000608482015290519081900360a40190fd5b61142e848281518110151561137457fe5b60209081029091018101516040805180820182526003815260ea60020a621554930281850152600680548351601f600260001961010060018616150201909316929092049182018790048702810187019094528084529394919390918301828280156114215780601f106113f657610100808354040283529160200191611421565b820191906000526020600020905b81548152906001019060200180831161140457829003601f168201915b50505050506008546125c8565b9250838181518110151561143e57fe5b60209081029091018101516000858152600e9092526040909120819055821015611474576000838152600e602052604090205491505b7f596dec17e17fa1094abbd97b66d083dcbb9d349993e12e9bfc3de443eb60a4ea84828151811015156114a357fe5b60209081029091018101516040805182815292830187905260609083018181526006805460026101006001831615026000190190911604928501839052929388939290919060808301908490801561153c5780601f106115115761010080835404028352916020019161153c565b820191906000526020600020905b81548152906001019060200180831161151f57829003601f168201915b505094505050505060405180910390a160010161129f565b81600d541015610c1a5750600d555050565b60075481565b60115460ff1681565b600554600160a060020a0316331461158c57600080fd5b6011805460ff1916911515919091179055565b600554600160a060020a031633146115b657600080fd5b6115bf816129ca565b50565b739992ec3cf6a55b00978cddf2b27bc6882d88d1ec90565b336000908152601060205260408120548190819060ff16806116065750600554600160a060020a031633145b151561165c576040805160e560020a62461bcd02815260206004820152601d60248201527f41646472657373206973206e6f742061646d696e206f72206f776e6572000000604482015290519081900360640190fd5b600085116116da576040805160e560020a62461bcd02815260206004820152603b60248201527f496e74657276616c206265747765656e207363686564756c65642074696d652060448201527f73686f756c642062652067726561746572207468616e207a65726f0000000000606482015290519081900360840190fd5b60008411611732576040805160e560020a62461bcd02815260206004820152601760248201527f4e6f20697465726174696f6e7320737065636966696564000000000000000000604482015290519081900360640190fd5b428610156117d6576040805160e560020a62461bcd02815260206004820152604e60248201527f50617374207363686564756c696e67206973206e6f7420616c6c6f776564206160448201527f6e64207363686564756c65642074696d652073686f756c64206265206162736f60648201527f6c7574652074696d657374616d70000000000000000000000000000000000000608482015290519081900360a40190fd5b30600160a060020a0316318461180c60408051908101604052806003815260200160ea60020a6215549302815250600854611f5a565b021115611863576040805160e560020a62461bcd02815260206004820152601260248201527f496e73756666696369656e742046756e64730000000000000000000000000000604482015290519081900360640190fd5b600091505b838210156119d657506040805180820182526003815260ea60020a621554930260208083019190915260068054845160026001831615610100026000190190921691909104601f81018490048402820184019095528481528886028a01946118f6948694909391908301828280156114215780601f106113f657610100808354040283529160200191611421565b6000818152600e60209081526040918290208490558151848152908101839052606091810182815260068054600261010060018316150260001901909116049383018490529396507f596dec17e17fa1094abbd97b66d083dcbb9d349993e12e9bfc3de443eb60a4ea93859388939192906080830190849080156119bb5780601f10611990576101008083540402835291602001916119bb565b820191906000526020600020905b81548152906001019060200180831161199e57829003601f168201915b505094505050505060405180910390a1600190910190611868565b6000838152600e6020526040902054600d541015611a01576000838152600e6020526040902054600d555b505050505050565b600d5481565b600554600160a060020a03163314611a2657600080fd5b6040513390303180156108fc02916000818181858888f193505050501580156115bf573d6000803e3d6000fd5b7f555344000000000000000000000000000000000000000000000000000000000090565b600b54600c549091565b600c5481565b3360009081526010602052604090205460ff1680611aaf5750600554600160a060020a031633145b1515611b05576040805160e560020a62461bcd02815260206004820152601d60248201527f41646472657373206973206e6f742061646d696e206f72206f776e6572000000604482015290519081900360640190fd5b600855565b600554600160a060020a03163314611b2157600080fd5b6115bf81612bb7565b60085481565b600554600160a060020a03163314611b4757600080fd5b600755565b60008054600160a060020a03161580611b775750600054611b7590600160a060020a0316612c28565b155b15611b8857611b866000612c2c565b505b6000809054906101000a9004600160a060020a0316600160a060020a03166338cc48316040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611bda57600080fd5b505af1158015611bee573d6000803e3d6000fd5b505050506040513d6020811015611c0457600080fd5b5051600154600160a060020a03908116911614611cb9576000809054906101000a9004600160a060020a0316600160a060020a03166338cc48316040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611c6d57600080fd5b505af1158015611c81573d6000803e3d6000fd5b505050506040513d6020811015611c9757600080fd5b505160018054600160a060020a031916600160a060020a039092169190911790555b600160009054906101000a9004600160a060020a0316600160a060020a031663c281d19e6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611d0c57600080fd5b505af1158015611d20573d6000803e3d6000fd5b505050506040513d6020811015611d3657600080fd5b5051905090565b6000828180805b8351811015611eda5783517f300000000000000000000000000000000000000000000000000000000000000090859083908110611d7d57fe5b90602001015160f860020a900460f860020a027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191610158015611e23575083517f390000000000000000000000000000000000000000000000000000000000000090859083908110611deb57fe5b90602001015160f860020a900460f860020a027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191611155b15611e7c578115611e4257851515611e3a57611eda565b600019909501945b600a8302925060308482815181101515611e5857fe5b90602001015160f860020a900460f860020a0260f860020a90040383019250611ed2565b8381815181101515611e8a57fe5b90602001015160f860020a900460f860020a027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916602e60f860020a021415611ed257600191505b600101611d44565b6000861115611eec5785600a0a830292505b509095945050505050565b6000821515611f0857506000611f20565b50818102818382811515611f1857fe5b0414611f2057fe5b92915050565b60008183811515611f3357fe5b049392505050565b81810182811015611f2057fe5b600082821115611f5457fe5b50900390565b60008054600160a060020a03161580611f855750600054611f8390600160a060020a0316612c28565b155b15611f9657611f946000612c2c565b505b6000809054906101000a9004600160a060020a0316600160a060020a03166338cc48316040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015611fe857600080fd5b505af1158015611ffc573d6000803e3d6000fd5b505050506040513d602081101561201257600080fd5b5051600154600160a060020a039081169116146120c7576000809054906101000a9004600160a060020a0316600160a060020a03166338cc48316040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561207b57600080fd5b505af115801561208f573d6000803e3d6000fd5b505050506040513d60208110156120a557600080fd5b505160018054600160a060020a031916600160a060020a039092169190911790555b600154604080517f2ef3accc0000000000000000000000000000000000000000000000000000000081526024810185905260048101918252855160448201528551600160a060020a0390931692632ef3accc9287928792829160640190602086019080838360005b8381101561214757818101518382015260200161212f565b50505050905090810190601f1680156121745780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b15801561219457600080fd5b505af11580156121a8573d6000803e3d6000fd5b505050506040513d60208110156121be57600080fd5b50519392505050565b600080548190600160a060020a031615806121f457506000546121f290600160a060020a0316612c28565b155b15612205576122036000612c2c565b505b6000809054906101000a9004600160a060020a0316600160a060020a03166338cc48316040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561225757600080fd5b505af115801561226b573d6000803e3d6000fd5b505050506040513d602081101561228157600080fd5b5051600154600160a060020a03908116911614612336576000809054906101000a9004600160a060020a0316600160a060020a03166338cc48316040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156122ea57600080fd5b505af11580156122fe573d6000803e3d6000fd5b505050506040513d602081101561231457600080fd5b505160018054600160a060020a031916600160a060020a039092169190911790555b600154604080517f2ef3accc0000000000000000000000000000000000000000000000000000000081526024810186905260048101918252875160448201528751600160a060020a0390931692632ef3accc9289928892829160640190602086019080838360005b838110156123b657818101518382015260200161239e565b50505050905090810190601f1680156123e35780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b15801561240357600080fd5b505af1158015612417573d6000803e3d6000fd5b505050506040513d602081101561242d57600080fd5b50519050670de0b6b3a76400003a84020181111561244e57600091506125c0565b6001546040517fc51be90f00000000000000000000000000000000000000000000000000000000815260006004820181815260648301879052608060248401908152895160848501528951600160a060020a039095169463c51be90f948794938c938c938c93604481019160a49091019060208801908083838c5b838110156124e15781810151838201526020016124c9565b50505050905090810190601f16801561250e5780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b83811015612541578181015183820152602001612529565b50505050905090810190601f16801561256e5780820380516001836020036101000a031916815260200191505b5096505050505050506020604051808303818588803b15801561259057600080fd5b505af11580156125a4573d6000803e3d6000fd5b50505050506040513d60208110156125bb57600080fd5b505191505b509392505050565b600080548190600160a060020a031615806125f557506000546125f390600160a060020a0316612c28565b155b15612606576126046000612c2c565b505b6000809054906101000a9004600160a060020a0316600160a060020a03166338cc48316040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561265857600080fd5b505af115801561266c573d6000803e3d6000fd5b505050506040513d602081101561268257600080fd5b5051600154600160a060020a03908116911614612737576000809054906101000a9004600160a060020a0316600160a060020a03166338cc48316040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156126eb57600080fd5b505af11580156126ff573d6000803e3d6000fd5b505050506040513d602081101561271557600080fd5b505160018054600160a060020a031916600160a060020a039092169190911790555b600154604080517f2ef3accc0000000000000000000000000000000000000000000000000000000081526024810186905260048101918252875160448201528751600160a060020a0390931692632ef3accc9289928892829160640190602086019080838360005b838110156127b757818101518382015260200161279f565b50505050905090810190601f1680156127e45780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b15801561280457600080fd5b505af1158015612818573d6000803e3d6000fd5b505050506040513d602081101561282e57600080fd5b50519050670de0b6b3a76400003a84020181111561284f57600091506129c1565b6001546040517fc51be90f0000000000000000000000000000000000000000000000000000000081526004810188815260648201869052608060248301908152885160848401528851600160a060020a039094169363c51be90f9386938c938c938c938c939291604482019160a40190602088019080838360005b838110156128e25781810151838201526020016128ca565b50505050905090810190601f16801561290f5780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b8381101561294257818101518382015260200161292a565b50505050905090810190601f16801561296f5780820380516001836020036101000a031916815260200191505b5096505050505050506020604051808303818588803b15801561299157600080fd5b505af11580156129a5573d6000803e3d6000fd5b50505050506040513d60208110156129bc57600080fd5b505191505b50949350505050565b600054600160a060020a031615806129f457506000546129f290600160a060020a0316612c28565b155b15612a0557612a036000612c2c565b505b6000809054906101000a9004600160a060020a0316600160a060020a03166338cc48316040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015612a5757600080fd5b505af1158015612a6b573d6000803e3d6000fd5b505050506040513d6020811015612a8157600080fd5b5051600154600160a060020a03908116911614612b36576000809054906101000a9004600160a060020a0316600160a060020a03166338cc48316040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015612aea57600080fd5b505af1158015612afe573d6000803e3d6000fd5b505050506040513d6020811015612b1457600080fd5b505160018054600160a060020a031916600160a060020a039092169190911790555b600154604080517fca6ad1e4000000000000000000000000000000000000000000000000000000008152600481018490529051600160a060020a039092169163ca6ad1e49160248082019260009290919082900301818387803b158015612b9c57600080fd5b505af1158015612bb0573d6000803e3d6000fd5b5050505050565b600160a060020a0381161515612bcc57600080fd5b600554604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a360058054600160a060020a031916600160a060020a0392909216919091179055565b3b90565b6000611f20600080612c51731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed612c28565b1115612cc25760008054600160a060020a031916731d3b2638a7cc9f2cb3d298a3da7a90b67e5506ed17905560408051808201909152600b81527f6574685f6d61696e6e65740000000000000000000000000000000000000000006020820152612cba90612f59565b506001610d92565b6000612ce173c03a2615d5efaf5f49f60b7bb6583eaec212fdf1612c28565b1115612d4a5760008054600160a060020a03191673c03a2615d5efaf5f49f60b7bb6583eaec212fdf117905560408051808201909152600c81527f6574685f726f707374656e3300000000000000000000000000000000000000006020820152612cba90612f59565b6000612d6973b7a07bcf2ba2f2703b24c0691b5278999c59ac7e612c28565b1115612dd25760008054600160a060020a03191673b7a07bcf2ba2f2703b24c0691b5278999c59ac7e17905560408051808201909152600981527f6574685f6b6f76616e00000000000000000000000000000000000000000000006020820152612cba90612f59565b6000612df173146500cfd35b22e4a392fe0adc06de1a1368ed48612c28565b1115612e5a5760008054600160a060020a03191673146500cfd35b22e4a392fe0adc06de1a1368ed4817905560408051808201909152600b81527f6574685f72696e6b6562790000000000000000000000000000000000000000006020820152612cba90612f59565b6000612e79736f485c8bf6fc43ea212e93bbf8ce046c7f1cb475612c28565b1115612ead575060008054600160a060020a031916736f485c8bf6fc43ea212e93bbf8ce046c7f1cb4751790556001610d92565b6000612ecc7320e12a1f859b3feae5fb2a0a32c18f5a65555bbf612c28565b1115612f00575060008054600160a060020a0319167320e12a1f859b3feae5fb2a0a32c18f5a65555bbf1790556001610d92565b6000612f1f7351efaf4c8b3c9afbd5ab9f4bbc82784ab6ef8faa612c28565b1115612f53575060008054600160a060020a0319167351efaf4c8b3c9afbd5ab9f4bbc82784ab6ef8faa1790556001610d92565b50600090565b8051610f4d9060029060208401905b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612fa957805160ff1916838001178555612fd6565b82800160010185558215612fd6579182015b82811115612fd6578251825591602001919060010190612fbb565b50612fe2929150612fe6565b5090565b610d9291905b80821115612fe25760008155600101612fec5600a165627a7a72305820a3f279fe85dc73a130b26ea2f500a21a09f300cd909d5ae7d0a61aba4a339cc60029",
  "sourceMap": "319:113:56:-;225:10152;319:113;;225:10152;319:113;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;468:9:56;438:39;;509:6;483:32;;560:9;521:48;;602:7;575:34;;567:5:64;:18;;-1:-1:-1;;;;;;567:18:64;575:10;567:18;;;1548:36:56;1575:8;1548:26;;;;:36;:::i;:::-;225:10152;;33550:132:9;11213:3;;-1:-1:-1;;;;;11213:3:9;11205:15;;11204:49;;-1:-1:-1;11244:3:9;;11224:25;;-1:-1:-1;;;;;11244:3:9;11224:11;;;;:25;:::i;:::-;:28;11204:49;11201:101;;;11267:35;10935:1;11267:19;;;;:35;:::i;:::-;;11201:101;11337:3;;;;;;;;;-1:-1:-1;;;;;11337:3:9;-1:-1:-1;;;;;11337:14:9;;:16;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11337:16:9;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11337:16:9;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11337:16:9;11324:8;;-1:-1:-1;;;;;11324:8:9;;;11316:37;;;11313:92;;11388:3;;;;;;;;;-1:-1:-1;;;;;11388:3:9;-1:-1:-1;;;;;11388:14:9;;:16;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11388:16:9;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11388:16:9;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11388:16:9;11367:8;:38;;-1:-1:-1;;;;;;11367:38:9;-1:-1:-1;;;;;11367:38:9;;;;;;;;;11313:92;33639:8;;:36;;;;;;;;;;;;;;-1:-1:-1;;;;;33639:8:9;;;;:26;;:36;;;;;:8;;:36;;;;;;;;:8;;:36;;;5:2:-1;;;;30:1;27;20:12;5:2;33639:36:9;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;33639:36:9;;;;33550:132;:::o;33846:150::-;33962:18;;33939:51::o;11529:183::-;11592:4;11612:21;:19;;;;:21;:::i;:::-;11605:28;11529:183;-1:-1:-1;;11529:183:9:o;11717:1749::-;11765:4;;11784:55;11796:42;11784:11;;;;:55;:::i;:::-;:57;11780:245;;;11866:3;:71;;-1:-1:-1;;;;;;11866:71:9;11894:42;11866:71;;;11951:38;;;;;;;;;;;;;;;;;;;:23;;;;:38;:::i;:::-;-1:-1:-1;12010:4:9;12003:11;;11780:245;12094:1;12038:55;12050:42;12038:11;;;;:55;:::i;:::-;:57;12034:254;;;12128:3;:71;;-1:-1:-1;;;;;;12128:71:9;12156:42;12128:71;;;12213:39;;;;;;;;;;;;;;;;;;;:23;;;;:39;:::i;12034:254::-;12357:1;12301:55;12313:42;12301:11;;;;:55;:::i;:::-;:57;12297:249;;;12389:3;:71;;-1:-1:-1;;;;;;12389:71:9;12417:42;12389:71;;;12474:36;;;;;;;;;;;;;;;;;;;:23;;;;:36;:::i;12297:249::-;12615:1;12559:55;12571:42;12559:11;;;;:55;:::i;:::-;:57;12555:253;;;12649:3;:71;;-1:-1:-1;;;;;;12649:71:9;12677:42;12649:71;;;12734:38;;;;;;;;;;;;;;;;;;;:23;;;;:38;:::i;12555:253::-;12877:1;12821:55;12833:42;12821:11;;;;:55;:::i;:::-;:57;12817:201;;;-1:-1:-1;12911:3:9;:71;;-1:-1:-1;;;;;;12911:71:9;12939:42;12911:71;;;;12996:11;;12817:201;13087:1;13031:55;13043:42;13031:11;;;;:55;:::i;:::-;:57;13027:200;;;-1:-1:-1;13120:3:9;:71;;-1:-1:-1;;;;;;13120:71:9;13148:42;13120:71;;;;13205:11;;13027:200;13296:1;13240:55;13252:42;13240:11;;;;:55;:::i;:::-;:57;13236:202;;;-1:-1:-1;13331:3:9;:71;;-1:-1:-1;;;;;;13331:71:9;13359:42;13331:71;;;;13416:11;;13236:202;-1:-1:-1;13454:5:9;11717:1749;;:::o;39311:118::-;39385:37;;;;:21;;:37;;;;;:::i;:::-;;39311:118;:::o;225:10152:56:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;225:10152:56;;;-1:-1:-1;225:10152:56;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;",
  "deployedSourceMap": "225:10152:56:-;;;;;;;;;-1:-1:-1;;;225:10152:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5944:169;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5944:169:56;;;;;;;1791:1160;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1791:1160:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1791:1160:56;;-1:-1:-1;1791:1160:56;;-1:-1:-1;;;;;;;1791:1160:56;575:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;575:34:56;;;;;;;;;;;;;;;;;;;;13588:146:9;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13588:146:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13588:146:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13588:146:9;;;;-1:-1:-1;13588:146:9;-1:-1:-1;13588:146:9;;-1:-1:-1;13588:146:9;;;;;;;;-1:-1:-1;13588:146:9;;-1:-1:-1;13588:146:9;;-1:-1:-1;;;;;;;13588:146:9;773:49:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;773:49:56;;;;;;;;;;;;;;;;;;;;;;;8953:150;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8953:150:56;-1:-1:-1;;;;;8953:150:56;;;;;;;;;319:113;;8:9:-1;5:2;;;30:1;27;20:12;5:2;319:113:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;319:113:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9295:146;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9295:146:56;;;;;521:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;521:48:56;;;;9735:99;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9735:99:56;;;;829:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;829:38:56;-1:-1:-1;;;;;829:38:56;;;;;827:111:64;;8:9:-1;5:2;;;30:1;27;20:12;5:2;827:111:64;;;;8086:98:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8086:98:56;;;;;721:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;721:46:56;;;;;8434:306;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8434:306:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8434:306:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8434:306:56;;;;-1:-1:-1;8434:306:56;-1:-1:-1;8434:306:56;;-1:-1:-1;8434:306:56;;;;;;;;;-1:-1:-1;8434:306:56;;-1:-1:-1;8434:306:56;;-1:-1:-1;;;;;;;8434:306:56;238:20:64;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:64;;;;;;;;-1:-1:-1;;;;;238:20:64;;;;;;;;;;;;;;6498:97:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6498:97:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6498:97:56;;-1:-1:-1;6498:97:56;;-1:-1:-1;;;;;;;6498:97:56;10079:132;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10079:132:56;;;;3148:1358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3148:1358:56;;-1:-1:-1;3148:1358:56;;-1:-1:-1;;;;;;;3148:1358:56;438:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;438:39:56;;;;874:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;874:24:56;;;;6284:95;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6284:95:56;;;;;;;7150:111;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7150:111:56;;;;;9525:127;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9525:127:56;;;;4836:996;;;;;;;;;;678:36;;8:9:-1;5:2;;;30:1;27;20:12;5:2;678:36:56;;;;10271:103;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10271:103:56;;;;9899;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9899:103:56;;;;7422:112;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7422:112:56;;;;;;;;;;;;;;;;;;;;;;;;;;;645:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;645:27:56;;;;7814:99;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7814:99:56;;;;;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;;;;;483:32:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;483:32:56;;;;6752:110;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6752:110:56;;;;;5944:169;719:5:64;;-1:-1:-1;;;;;719:5:64;705:10;:19;697:28;;;;;;6036:7:56;;6012:40;;;;;;;;;;;;;6045:1;6012:40;;;;6048:3;6012:40;;;;;;;;;;;;;;6062:7;:16;6103:3;6088:12;:18;5944:169::o;1791:1160::-;2490:18;2542:13;1886:20;:18;:20::i;:::-;-1:-1:-1;;;;;1872:34:56;:10;:34;1864:83;;;;;-1:-1:-1;;;;;1864:83:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1966:12;;;;1965:13;1957:42;;;;;-1:-1:-1;;;;;1957:42:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;2018:28;;;;:16;:28;;;;;;;;2017:29;2009:60;;;;;-1:-1:-1;;;;;2009:60:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;2108:12;;2083:22;;;;:10;:22;;;;;;:37;2079:235;;;2251:22;;;;:10;:22;;;;;;;;;2219:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2239:10;;2251:22;;2275:7;;2219:64;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2219:64:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2297:7;;2079:235;2357:12;;2331:22;;;;:10;:22;;;;;;:38;;2323:66;;;;;-1:-1:-1;;;;;2323:66:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;2439:21;;2407:22;;;;:10;:22;;;;;;2433:3;:27;;;-1:-1:-1;2407:53:56;2399:81;;;;;-1:-1:-1;;;;;2399:81:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;2511:21;2520:7;2529:2;2511:8;:21::i;:::-;2490:42;;2558:37;2588:6;2558:25;2570:12;;2558:7;;:11;;:25;;;;:::i;:::-;:29;:37;:29;:37;:::i;:::-;2609:12;;2542:53;;-1:-1:-1;2609:17:56;2605:186;;2662:7;;:18;;2674:5;2662:18;:11;:18;:::i;:::-;2648:32;;;2640:64;;;;;-1:-1:-1;;;;;2640:64:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;2738:7;;:18;;2750:5;2738:18;:11;:18;:::i;:::-;2724:32;;;2716:64;;;;;-1:-1:-1;;;;;2716:64:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;2815:22;;;;:10;:22;;;;;;;;;;2800:12;:37;;;2880:7;;2852:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2924:7;:20;;;1791:1160;;;;;:::o;575:34::-;;;;:::o;13588:146:9:-;;;;:::o;773:49:56:-;;;;;;;;;;;;;;;:::o;8953:150::-;719:5:64;;-1:-1:-1;;;;;719:5:64;705:10;:19;697:28;;;;;;-1:-1:-1;;;;;9027:13:56;;;;;;:5;:13;;;;;;;;;:22;;;;;-1:-1:-1;;9027:22:56;;;;;;;;9064:32;;;;;;;;;9092:3;9064:32;;;;;;;;;;;;;;8953:150;;:::o;319:113::-;;;;;;;;;;;;;;;-1:-1:-1;;319:113:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9295:146::-;719:5:64;;-1:-1:-1;;;;;719:5:64;705:10;:19;697:28;;;;;;9388:21:56;:46;9295:146::o;521:48::-;;;;:::o;9735:99::-;9812:15;9735:99;;:::o;829:38::-;;;;;;;;;;;;;;;:::o;827:111:64:-;719:5;;-1:-1:-1;;;;;719:5:64;705:10;:19;697:28;;;;;;903:5;;884:25;;-1:-1:-1;;;;;903:5:64;;;;884:25;;903:5;;884:25;915:5;:18;;-1:-1:-1;;;;;;915:18:64;;;827:111::o;8086:98:56:-;719:5:64;;-1:-1:-1;;;;;719:5:64;705:10;:19;697:28;;;;;;8155:9:56;:22;8086:98::o;721:46::-;;;;;;;;;;;;;:::o;8434:306::-;719:5:64;;8620:9:56;;-1:-1:-1;;;;;719:5:64;705:10;:19;697:28;;;;;;8559:14:56;;8537:18;;:36;8529:76;;;;;-1:-1:-1;;;;;8529:76:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8632:1:56;8615:119;8639:11;:18;8635:1;:22;8615:119;;;8713:7;8721:1;8713:10;;;;;;;;;;;;;;;;;;8678:16;:32;8695:11;8707:1;8695:14;;;;;;;;;;;;;;;;;;;;;8678:32;;;;;;;;;;-1:-1:-1;8678:32:56;:45;;-1:-1:-1;;8678:45:56;;;;;;;;;;-1:-1:-1;8659:3:56;8615:119;;238:20:64;;;-1:-1:-1;;;;;238:20:64;;:::o;6498:97:56:-;719:5:64;;-1:-1:-1;;;;;719:5:64;705:10;:19;697:28;;;;;;6566:22:56;;;;:9;;:22;;;;;:::i;:::-;;6498:97;:::o;10079:132::-;10121:7;10170:9;;10164:3;:15;10148:12;;:31;;10140:40;;;;;;;;-1:-1:-1;10197:7:56;;10079:132;:::o;3148:1358::-;1275:10;3241:17;1269;;;:5;:17;;;;;;3241;;;;1269;;;:40;;-1:-1:-1;1304:5:56;;-1:-1:-1;;;;;1304:5:56;1290:10;:19;1269:40;1261:82;;;;;;;-1:-1:-1;;;;;1261:82:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;3313:13;;:18;3309:1057;;;3355:34;;;;;;;;;;;;-1:-1:-1;;;;;3355:34:56;;;;3380:8;;3401:4;3393:21;;3355:34;;:17;:34::i;:::-;:59;;3347:90;;;;;-1:-1:-1;;;;;3347:90:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;3463:42;;;;;;;;;;;-1:-1:-1;;;;;3463:42:56;;;;;;;;3485:9;3463:42;;;;;;-1:-1:-1;;3463:42:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3485:9;3463:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3496:8;;3463:14;:42::i;:::-;3519:21;;;;:10;:21;;;;;;;;;3543:3;3519:27;;;;3608:46;;;;;;;;;;;;;;;;;;3644:9;3608:46;;;;;;;;;-1:-1:-1;;3608:46:56;;;;;;;;;;;3451:54;;-1:-1:-1;3543:3:56;;-1:-1:-1;3608:46:56;;3543:3;;3451:54;;3644:9;;3608:46;;;;;3644:9;;3608:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3309:1057;;;3755:4;-1:-1:-1;;;;;3747:21:56;;3730:6;:13;3693:34;;;;;;;;;;;;;;;-1:-1:-1;;;;;3693:34:56;;;3718:8;;3693:17;:34::i;:::-;:50;:75;;3685:106;;;;;-1:-1:-1;;;;;3685:106:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3822:1:56;3805:551;3829:6;:13;3825:1;:17;3805:551;;;3888:3;3875:6;3882:1;3875:9;;;;;;;;;;;;;;;;;;;:16;;3867:107;;;;;-1:-1:-1;;;;;3867:107:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4004:53;4019:6;4026:1;4019:9;;;;;;;;;;;;;;;;;;;;4004:53;;;;;;;;;;;-1:-1:-1;;;;;4004:53:56;;;;4037:9;4004:53;;;;;;-1:-1:-1;;4004:53:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4019:9;;4004:53;;4037:9;;4004:53;;4037:9;4004:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4048:8;;4004:14;:53::i;:::-;3992:65;;4099:6;4106:1;4099:9;;;;;;;;;;;;;;;;;;;;4075:21;;;;:10;:21;;;;;;;:33;;;4130:47;;4126:141;;;4227:21;;;;:10;:21;;;;;;;-1:-1:-1;4126:141:56;4289:52;4309:6;4316:1;4309:9;;;;;;;;;;;;;;;;;;;;4289:52;;;;;;;;;;;;;;;;;;;4331:9;4289:52;;;;;;;;;-1:-1:-1;;4289:52:56;;;;;;;;;;;4309:9;;4320;;4331;4289:52;;;;;;;4331:9;;4289:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3844:3;;3805:551;;;4403:23;4379:21;;:47;4375:125;;;-1:-1:-1;4442:21:56;:47;-1:-1:-1;;3148:1358:56:o;438:39::-;;;;:::o;874:24::-;;;;;;:::o;6284:95::-;719:5:64;;-1:-1:-1;;;;;719:5:64;705:10;:19;697:28;;;;;;6350:12:56;:22;;-1:-1:-1;;6350:22:56;;;;;;;;;;6284:95::o;7150:111::-;719:5:64;;-1:-1:-1;;;;;719:5:64;705:10;:19;697:28;;;;;;7217:37:56;7244:9;7217:26;:37::i;:::-;7150:111;:::o;9525:127::-;9603:42;9525:127;:::o;4836:996::-;1275:10;4968:17;1269;;;:5;:17;;;;;;4968;;;;1269;;;:40;;-1:-1:-1;1304:5:56;;-1:-1:-1;;;;;1304:5:56;1290:10;:19;1269:40;1261:82;;;;;;;-1:-1:-1;;;;;1261:82:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;5015:1;5003:13;;4995:85;;;;;-1:-1:-1;;;;;4995:85:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5107:1;5098:10;;5090:46;;;;;-1:-1:-1;;;;;5090:46:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;5168:3;5154:17;;;5146:108;;;;;-1:-1:-1;;;;;5146:108:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5327:4;-1:-1:-1;;;;;5319:21:56;;5309:6;5272:34;;;;;;;;;;;;;;;-1:-1:-1;;;;;5272:34:56;;;5297:8;;5272:17;:34::i;:::-;:43;:68;;5264:99;;;;;-1:-1:-1;;;;;5264:99:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;5390:1;5378:13;;5373:323;5397:6;5393:1;:10;5373:323;;;-1:-1:-1;5502:57:56;;;;;;;;;;;-1:-1:-1;;;;;5502:57:56;;;;;;;;5539:9;5502:57;;;;;;;;;;;-1:-1:-1;;5502:57:56;;;;;;;;;;;;;;;;;;;;;;;;;;5462:13;;;5448:28;;;5502:57;;5448:28;;5502:57;;5539:9;5502:57;;;5539:9;5502:57;;;;;;;;;;;;;;;;;;;;;;;;;5573:21;;;;:10;:21;;;;;;;;;:37;;;5629:56;;;;;;;;;;;;;;;;;;5675:9;5629:56;;;;;;;;;-1:-1:-1;;5629:56:56;;;;;;;;;;;5490:69;;-1:-1:-1;5629:56:56;;5597:13;;5490:69;;5675:9;;5629:56;;;;;5675:9;;5629:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5405:3;;;;;5373:323;;;5733:21;;;;:10;:21;;;;;;5709;;:45;5705:121;;;5794:21;;;;:10;:21;;;;;;5770;:45;5705:121;4836:996;;;;;;:::o;678:36::-;;;;:::o;10271:103::-;719:5:64;;-1:-1:-1;;;;;719:5:64;705:10;:19;697:28;;;;;;10325:42:56;;:10;;10353:4;10345:21;10325:42;;;;;;;;;10345:21;10325:10;:42;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;9899:103:56;9981:14;9899:103;:::o;7422:112::-;7505:7;;7514:12;;7422:112;;:::o;645:27::-;;;;:::o;7814:99::-;1275:10;1269:17;;;;:5;:17;;;;;;;;;:40;;-1:-1:-1;1304:5:56;;-1:-1:-1;;;;;1304:5:56;1290:10;:19;1269:40;1261:82;;;;;;;-1:-1:-1;;;;;1261:82:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;7886:8;:20;7814:99::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;483:32:56:-;;;;:::o;6752:110::-;719:5:64;;-1:-1:-1;;;;;719:5:64;705:10;:19;697:28;;;;;;6827:12:56;:28;6752:110::o;33314:112:9:-;33374:7;11213:3;;-1:-1:-1;;;;;11213:3:9;11205:15;;11204:49;;-1:-1:-1;11244:3:9;;11224:25;;-1:-1:-1;;;;;11244:3:9;11224:11;:25::i;:::-;:28;11204:49;11201:101;;;11267:35;10935:1;11267:19;:35::i;:::-;;11201:101;11337:3;;;;;;;;;-1:-1:-1;;;;;11337:3:9;-1:-1:-1;;;;;11337:14:9;;:16;;;;;-1:-1:-1;;;11337:16:9;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11337:16:9;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11337:16:9;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11337:16:9;11324:8;;-1:-1:-1;;;;;11324:8:9;;;11316:37;;;11313:92;;11388:3;;;;;;;;;-1:-1:-1;;;;;11388:3:9;-1:-1:-1;;;;;11388:14:9;;:16;;;;;-1:-1:-1;;;11388:16:9;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11388:16:9;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11388:16:9;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11388:16:9;11367:8;:38;;-1:-1:-1;;;;;;11367:38:9;-1:-1:-1;;;;;11367:38:9;;;;;;;;;11313:92;33399:8;;;;;;;;;-1:-1:-1;;;;;33399:8:9;-1:-1:-1;;;;;33399:18:9;;:20;;;;;-1:-1:-1;;;33399:20:9;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;33399:20:9;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;33399:20:9;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;33399:20:9;;-1:-1:-1;33314:112:9;:::o;37550:593::-;37611:4;37656:2;37611:4;;;37723:357;37740:7;:14;37738:1;:16;37723:357;;;37779:10;;:16;;:7;;37787:1;;37779:10;;;;;;;;;;;-1:-1:-1;;;37779:10:9;;-1:-1:-1;;;37779:10:9;:16;;;;;37778:38;;;;-1:-1:-1;37799:10:9;;:16;;:7;;37807:1;;37799:10;;;;;;;;;;;-1:-1:-1;;;37799:10:9;;-1:-1:-1;;;37799:10:9;:16;;;;;37778:38;37774:295;;;37839:8;37835:102;;;37873:7;;37869:49;;;37882:5;;37869:49;-1:-1:-1;;37914:4:9;;;;37869:49;37962:2;37954:10;;;;38009:2;37995:7;38003:1;37995:10;;;;;;;;;;;;;;;-1:-1:-1;;;37995:10:9;;-1:-1:-1;;;37995:10:9;-1:-1:-1;;;37990:16:9;;:21;37982:29;;;;37774:295;;;38036:7;38044:1;38036:10;;;;;;;;;;;;;;;-1:-1:-1;;;38036:10:9;;-1:-1:-1;;;38036:10:9;:16;;;38050:2;-1:-1:-1;;;38036:16:9;;38032:37;;;38065:4;38054:15;;38032:37;37756:3;;37723:357;;;38098:1;38093:2;:6;38089:26;;;38113:2;38109;:6;38101:14;;;;38089:26;-1:-1:-1;38132:4:9;;37550:593;-1:-1:-1;;;;;37550:593:9:o;203:373:63:-;261:9;487:6;;483:35;;;-1:-1:-1;510:1:63;503:8;;483:35;-1:-1:-1;528:5:63;;;532:1;528;:5;546;;;;;;;;:10;539:18;;;;203:373;;;;:::o;658:272::-;716:7;924:1;920;:5;;;;;;;;;658:272;-1:-1:-1;;;658:272:63:o;1214:123::-;1293:5;;;1311:6;;;;1304:14;;;1042:110;1100:7;1122:6;;;;1115:14;;;;-1:-1:-1;1142:5:63;;;1042:110::o;13880:159:9:-;13971:4;11213:3;;-1:-1:-1;;;;;11213:3:9;11205:15;;11204:49;;-1:-1:-1;11244:3:9;;11224:25;;-1:-1:-1;;;;;11244:3:9;11224:11;:25::i;:::-;:28;11204:49;11201:101;;;11267:35;10935:1;11267:19;:35::i;:::-;;11201:101;11337:3;;;;;;;;;-1:-1:-1;;;;;11337:3:9;-1:-1:-1;;;;;11337:14:9;;:16;;;;;-1:-1:-1;;;11337:16:9;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11337:16:9;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11337:16:9;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11337:16:9;11324:8;;-1:-1:-1;;;;;11324:8:9;;;11316:37;;;11313:92;;11388:3;;;;;;;;;-1:-1:-1;;;;;11388:3:9;-1:-1:-1;;;;;11388:14:9;;:16;;;;;-1:-1:-1;;;11388:16:9;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11388:16:9;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11388:16:9;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11388:16:9;11367:8;:38;;-1:-1:-1;;;;;;11367:38:9;-1:-1:-1;;;;;11367:38:9;;;;;;;;;11313:92;13993:8;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13993:8:9;;;;:17;;14011:10;;14023:8;;13993:39;;;;;;;;;;;;:8;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;13993:39:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13993:39:9;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13993:39:9;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13993:39:9;;13880:159;-1:-1:-1;;;13880:159:9:o;15076:356::-;15176:10;11213:3;;15176:10;;-1:-1:-1;;;;;11213:3:9;11205:15;;11204:49;;-1:-1:-1;11244:3:9;;11224:25;;-1:-1:-1;;;;;11244:3:9;11224:11;:25::i;:::-;:28;11204:49;11201:101;;;11267:35;10935:1;11267:19;:35::i;:::-;;11201:101;11337:3;;;;;;;;;-1:-1:-1;;;;;11337:3:9;-1:-1:-1;;;;;11337:14:9;;:16;;;;;-1:-1:-1;;;11337:16:9;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11337:16:9;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11337:16:9;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11337:16:9;11324:8;;-1:-1:-1;;;;;11324:8:9;;;11316:37;;;11313:92;;11388:3;;;;;;;;;-1:-1:-1;;;;;11388:3:9;-1:-1:-1;;;;;11388:14:9;;:16;;;;;-1:-1:-1;;;11388:16:9;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11388:16:9;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11388:16:9;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11388:16:9;11367:8;:38;;-1:-1:-1;;;;;;11367:38:9;-1:-1:-1;;;;;11367:38:9;;;;;;;;;11313:92;15210:8;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15210:8:9;;;;:17;;15228:10;;15240:8;;15210:39;;;;;;;;;;;;:8;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15210:39:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15210:39:9;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15210:39:9;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15210:39:9;;-1:-1:-1;15271:7:9;15281:11;:20;;15271:30;15263:38;;15259:52;;;15310:1;;-1:-1:-1;15303:8:9;;15259:52;15355:8;;:70;;;;;:8;:70;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15355:8:9;;;;:27;;15389:5;;15355:8;15399:10;;15411:3;;15416:8;;15355:70;;;;;;;;;;;;;;;;:8;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15355:70:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15355:70:9;;;;;;;;;;;;;;;;;;;;;;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;15355:70:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15355:70:9;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15355:70:9;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15355:70:9;;-1:-1:-1;11416:1:9;15076:356;;;;;;:::o;14691:380::-;14807:10;11213:3;;14807:10;;-1:-1:-1;;;;;11213:3:9;11205:15;;11204:49;;-1:-1:-1;11244:3:9;;11224:25;;-1:-1:-1;;;;;11244:3:9;11224:11;:25::i;:::-;:28;11204:49;11201:101;;;11267:35;10935:1;11267:19;:35::i;:::-;;11201:101;11337:3;;;;;;;;;-1:-1:-1;;;;;11337:3:9;-1:-1:-1;;;;;11337:14:9;;:16;;;;;-1:-1:-1;;;11337:16:9;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11337:16:9;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11337:16:9;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11337:16:9;11324:8;;-1:-1:-1;;;;;11324:8:9;;;11316:37;;;11313:92;;11388:3;;;;;;;;;-1:-1:-1;;;;;11388:3:9;-1:-1:-1;;;;;11388:14:9;;:16;;;;;-1:-1:-1;;;11388:16:9;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11388:16:9;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11388:16:9;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11388:16:9;11367:8;:38;;-1:-1:-1;;;;;;11367:38:9;-1:-1:-1;;;;;11367:38:9;;;;;;;;;11313:92;14841:8;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14841:8:9;;;;:17;;14859:10;;14871:8;;14841:39;;;;;;;;;;;;:8;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;14841:39:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14841:39:9;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14841:39:9;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14841:39:9;;-1:-1:-1;14902:7:9;14912:11;:20;;14902:30;14894:38;;14890:52;;;14941:1;;-1:-1:-1;14934:8:9;;14890:52;14986:8;;:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14986:8:9;;;;:27;;15020:5;;15027:9;;15038:10;;15050:3;;15055:8;;14986:78;;;;;;;;;;;;;;;;:8;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;14986:78:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14986:78:9;;;;;;;;;;;;;;;;;;;;;;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;14986:78:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14986:78:9;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14986:78:9;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14986:78:9;;-1:-1:-1;11416:1:9;14691:380;;;;;;;:::o;33550:132::-;11213:3;;-1:-1:-1;;;;;11213:3:9;11205:15;;11204:49;;-1:-1:-1;11244:3:9;;11224:25;;-1:-1:-1;;;;;11244:3:9;11224:11;:25::i;:::-;:28;11204:49;11201:101;;;11267:35;10935:1;11267:19;:35::i;:::-;;11201:101;11337:3;;;;;;;;;-1:-1:-1;;;;;11337:3:9;-1:-1:-1;;;;;11337:14:9;;:16;;;;;-1:-1:-1;;;11337:16:9;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11337:16:9;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11337:16:9;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11337:16:9;11324:8;;-1:-1:-1;;;;;11324:8:9;;;11316:37;;;11313:92;;11388:3;;;;;;;;;-1:-1:-1;;;;;11388:3:9;-1:-1:-1;;;;;11388:14:9;;:16;;;;;-1:-1:-1;;;11388:16:9;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11388:16:9;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11388:16:9;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11388:16:9;11367:8;:38;;-1:-1:-1;;;;;;11367:38:9;-1:-1:-1;;;;;11367:38:9;;;;;;;;;11313:92;33639:8;;:36;;;;;;;;;;;;;;-1:-1:-1;;;;;33639:8:9;;;;:26;;:36;;;;;:8;;:36;;;;;;;;:8;;:36;;;5:2:-1;;;;30:1;27;20:12;5:2;33639:36:9;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;33639:36:9;;;;33550:132;:::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;;1464:5;;1443:38;1487:5;:17;;-1:-1:-1;;;;;;1487:17:64;-1:-1:-1;;;;;1487:17:64;;;;;;;;;;1338:171::o;33846:150:9:-;33962:18;;33939:51::o;11529:183::-;11592:4;11612:21;11765:4;11840:1;11784:55;11796:42;11784:11;:55::i;:::-;:57;11780:245;;;11866:3;:71;;-1:-1:-1;;;;;;11866:71:9;11894:42;11866:71;;;11951:38;;;;;;;;;;;;;;;;;;;:23;:38::i;:::-;-1:-1:-1;12010:4:9;12003:11;;11780:245;12094:1;12038:55;12050:42;12038:11;:55::i;:::-;:57;12034:254;;;12128:3;:71;;-1:-1:-1;;;;;;12128:71:9;12156:42;12128:71;;;12213:39;;;;;;;;;;;;;;;;;;;:23;:39::i;12034:254::-;12357:1;12301:55;12313:42;12301:11;:55::i;:::-;:57;12297:249;;;12389:3;:71;;-1:-1:-1;;;;;;12389:71:9;12417:42;12389:71;;;12474:36;;;;;;;;;;;;;;;;;;;:23;:36::i;12297:249::-;12615:1;12559:55;12571:42;12559:11;:55::i;:::-;:57;12555:253;;;12649:3;:71;;-1:-1:-1;;;;;;12649:71:9;12677:42;12649:71;;;12734:38;;;;;;;;;;;;;;;;;;;:23;:38::i;12555:253::-;12877:1;12821:55;12833:42;12821:11;:55::i;:::-;:57;12817:201;;;-1:-1:-1;12911:3:9;:71;;-1:-1:-1;;;;;;12911:71:9;12939:42;12911:71;;;;12996:11;;12817:201;13087:1;13031:55;13043:42;13031:11;:55::i;:::-;:57;13027:200;;;-1:-1:-1;13120:3:9;:71;;-1:-1:-1;;;;;;13120:71:9;13148:42;13120:71;;;;13205:11;;13027:200;13296:1;13240:55;13252:42;13240:11;:55::i;:::-;:57;13236:202;;;-1:-1:-1;13331:3:9;:71;;-1:-1:-1;;;;;;13331:71:9;13359:42;13331:71;;;;13416:11;;13236:202;-1:-1:-1;13454:5:9;11717:1749;:::o;39311:118::-;39385:37;;;;:21;;:37;;;;225:10152:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;225:10152:56;;;-1:-1:-1;225:10152:56;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;",
  "source": "pragma solidity ^0.4.24;\n\nimport \"../external/oraclizeAPI.sol\";\nimport \"openzeppelin-solidity/contracts/ownership/Ownable.sol\";\nimport \"openzeppelin-solidity/contracts/math/SafeMath.sol\";\nimport '../interfaces/IOracle.sol';\n\ncontract PolyOracle is usingOraclize, IOracle, Ownable {\n    using SafeMath for uint256;\n\n    string public oracleURL = \"json(https://api.coinmarketcap.com/v2/ticker/2496/?convert=USD).data.quotes.USD.price\";\n    uint256 public sanityBounds = 20*10**16;\n    uint256 public gasLimit = 100000;\n    uint256 public oraclizeTimeTolerance = 5 minutes;\n    uint256 public staleTime = 6 hours;\n\n    uint256 private POLYUSD;\n    uint256 public latestUpdate;\n    uint256 public latestScheduledUpdate;\n\n    mapping (bytes32 => uint256) public requestIds;\n    mapping (bytes32 => bool) public ignoreRequestIds;\n\n    mapping (address => bool) public admin;\n\n    bool public freezeOracle;\n\n    event LogPriceUpdated(uint256 _price, uint256 _oldPrice, bytes32 _queryId, uint256 _time);\n    event LogNewOraclizeQuery(uint256 _time, bytes32 _queryId, string _query);\n    event LogAdminSet(address _admin, bool _valid, uint256 _time);\n    event LogStalePriceUpdate(bytes32 _queryId, uint256 _time, string _result);\n\n    modifier isAdminOrOwner {\n        require(admin[msg.sender] || msg.sender == owner, \"Address is not admin or owner\");\n        _;\n    }\n\n    /**\n    * @notice Constructor - accepts ETH to initialise a balance for subsequent Oraclize queries\n    */\n    constructor() payable public {\n        // Use 50 gwei for now\n        oraclize_setCustomGasPrice(50*10**9);\n    }\n\n    /**\n    * @notice Oraclize callback (triggered by Oraclize)\n    * @param _requestId requestId corresponding to Oraclize query\n    * @param _result data returned by Oraclize URL query\n    */\n    function __callback(bytes32 _requestId, string _result) public {\n        require(msg.sender == oraclize_cbAddress(), \"Only Oraclize can access this method\");\n        require(!freezeOracle, \"Oracle is frozen\");\n        require(!ignoreRequestIds[_requestId], \"Ignoring requestId\");\n        if (requestIds[_requestId] < latestUpdate) {\n            // Result is stale, probably because it was received out of order\n            emit LogStalePriceUpdate(_requestId, requestIds[_requestId], _result);\n            return;\n        }\n        require(requestIds[_requestId] >= latestUpdate, \"Result is stale\");\n        require(requestIds[_requestId] <= now + oraclizeTimeTolerance, \"Result is early\");\n        uint256 newPOLYUSD = parseInt(_result, 18);\n        uint256 bound = POLYUSD.mul(sanityBounds).div(10**18);\n        if (latestUpdate != 0) {\n          require(newPOLYUSD <= POLYUSD.add(bound), \"Result is too large\");\n          require(newPOLYUSD >= POLYUSD.sub(bound), \"Result is too small\");\n        }\n        latestUpdate = requestIds[_requestId];\n        emit LogPriceUpdated(newPOLYUSD, POLYUSD, _requestId, latestUpdate);\n        POLYUSD = newPOLYUSD;\n    }\n\n    /**\n    * @notice Allows owner to schedule future Oraclize calls\n    * @param _times UNIX timestamps to schedule Oraclize calls as of. Empty list means trigger an immediate query.\n    */\n    function schedulePriceUpdatesFixed(uint256[] _times) payable isAdminOrOwner public {\n        bytes32 requestId;\n        uint256 maximumScheduledUpdated;\n        if (_times.length == 0) {\n            require(oraclize_getPrice(\"URL\", gasLimit) <= address(this).balance, \"Insufficient Funds\");\n            requestId = oraclize_query(\"URL\", oracleURL, gasLimit);\n            requestIds[requestId] = now;\n            maximumScheduledUpdated = now;\n            emit LogNewOraclizeQuery(now, requestId, oracleURL);\n        } else {\n            require(oraclize_getPrice(\"URL\", gasLimit) * _times.length <= address(this).balance, \"Insufficient Funds\");\n            for (uint256 i = 0; i < _times.length; i++) {\n                require(_times[i] >= now, \"Past scheduling is not allowed and scheduled time should be absolute timestamp\");\n                requestId = oraclize_query(_times[i], \"URL\", oracleURL, gasLimit);\n                requestIds[requestId] = _times[i];\n                if (maximumScheduledUpdated < requestIds[requestId]) {\n                    maximumScheduledUpdated = requestIds[requestId];\n                }\n                emit LogNewOraclizeQuery(_times[i], requestId, oracleURL);\n            }\n        }\n        if (latestScheduledUpdate < maximumScheduledUpdated) {\n            latestScheduledUpdate = maximumScheduledUpdated;\n        }\n    }\n\n    /**\n    * @notice Allows owner to schedule future Oraclize calls on a rolling schedule\n    * @param _startTime UNIX timestamp for the first scheduled Oraclize query\n    * @param _interval how long (in seconds) between each subsequent Oraclize query\n    * @param _iters the number of Oraclize queries to schedule.\n    */\n    function schedulePriceUpdatesRolling(uint256 _startTime, uint256 _interval, uint256 _iters) payable isAdminOrOwner public {\n        bytes32 requestId;\n        require(_interval > 0, \"Interval between scheduled time should be greater than zero\");\n        require(_iters > 0, \"No iterations specified\");\n        require(_startTime >= now, \"Past scheduling is not allowed and scheduled time should be absolute timestamp\");\n        require(oraclize_getPrice(\"URL\", gasLimit) * _iters <= address(this).balance, \"Insufficient Funds\");\n        for (uint256 i = 0; i < _iters; i++) {\n            uint256 scheduledTime = _startTime + (i * _interval);\n            requestId = oraclize_query(scheduledTime, \"URL\", oracleURL, gasLimit);\n            requestIds[requestId] = scheduledTime;\n            emit LogNewOraclizeQuery(scheduledTime, requestId, oracleURL);\n        }\n        if (latestScheduledUpdate < requestIds[requestId]) {\n            latestScheduledUpdate = requestIds[requestId];\n        }\n    }\n\n    /**\n    * @notice Allows owner to manually set POLYUSD price\n    * @param _price POLYUSD price\n    */\n    function setPOLYUSD(uint256 _price) onlyOwner public {\n        emit LogPriceUpdated(_price, POLYUSD, 0, now);\n        POLYUSD = _price;\n        latestUpdate = now;\n    }\n\n    /**\n    * @notice Allows owner to set oracle to ignore all Oraclize pricce updates\n    * @param _frozen true to freeze updates, false to reenable updates\n    */\n    function setFreezeOracle(bool _frozen) onlyOwner public {\n        freezeOracle = _frozen;\n    }\n\n    /**\n    * @notice Allows owner to set URL used in Oraclize queries\n    * @param _oracleURL URL to use\n    */\n    function setOracleURL(string _oracleURL) onlyOwner public {\n        oracleURL = _oracleURL;\n    }\n\n    /**\n    * @notice Allows owner to set new sanity bounds for price updates\n    * @param _sanityBounds sanity bounds as a percentage * 10**16\n    */\n    function setSanityBounds(uint256 _sanityBounds) onlyOwner public {\n        sanityBounds = _sanityBounds;\n    }\n\n    /**\n    * @notice Allows owner to set new gas price for future Oraclize queries\n    * @notice NB - this will only impact newly scheduled Oraclize queries, not future queries which have already been scheduled\n    * @param _gasPrice gas price to use for Oraclize callbacks\n    */\n    function setGasPrice(uint256 _gasPrice) onlyOwner public {\n        oraclize_setCustomGasPrice(_gasPrice);\n    }\n\n    /**\n    * @notice Returns price and corresponding update time\n    * @return latest POLYUSD price\n    * @return timestamp of latest price update\n    */\n    function getPriceAndTime() view public returns(uint256, uint256) {\n        return (POLYUSD, latestUpdate);\n    }\n\n    /**\n    * @notice Allows owner to set new gas limit on Oraclize queries\n    * @notice NB - this will only impact newly scheduled Oraclize queries, not future queries which have already been scheduled\n    * @param _gasLimit gas limit to use for Oraclize callbacks\n    */\n    function setGasLimit(uint256 _gasLimit) isAdminOrOwner public {\n        gasLimit = _gasLimit;\n    }\n\n    /**\n    * @notice Allows owner to set time after which price is considered stale\n    * @param _staleTime elapsed time after which price is considered stale\n    */\n    function setStaleTime(uint256 _staleTime) onlyOwner public {\n        staleTime = _staleTime;\n    }\n\n    /**\n    * @notice Allows owner to ignore specific requestId results from Oraclize\n    * @param _requestIds Oraclize queryIds (as logged out when Oraclize query is scheduled)\n    * @param _ignore whether or not they should be ignored\n    */\n    function setIgnoreRequestIds(bytes32[] _requestIds, bool[] _ignore) onlyOwner public {\n        require(_requestIds.length == _ignore.length, \"Incorrect parameter lengths\");\n        for (uint256 i = 0; i < _requestIds.length; i++) {\n            ignoreRequestIds[_requestIds[i]] = _ignore[i];\n        }\n    }\n\n    /**\n    * @notice Allows owner to set up admin addresses that can schedule updates\n    * @param _admin Admin address\n    * @param _valid Whether address should be added or removed from admin list\n    */\n    function setAdmin(address _admin, bool _valid) onlyOwner public {\n        admin[_admin] = _valid;\n        emit LogAdminSet(_admin, _valid, now);\n    }\n\n    /**\n    * @notice Allows owner to set new time tolerance on Oraclize queries\n    * @param _oraclizeTimeTolerance amount of time in seconds that an Oraclize query can be early\n    */\n    function setOraclizeTimeTolerance(uint256 _oraclizeTimeTolerance) onlyOwner public {\n        oraclizeTimeTolerance = _oraclizeTimeTolerance;\n    }\n\n    /**\n    * @notice Returns address of oracle currency (0x0 for ETH)\n    */\n    function getCurrencyAddress() external view returns(address) {\n        return 0x9992eC3cF6A55b00978cdDF2b27BC6882d88D1eC;\n    }\n\n    /**\n    * @notice Returns symbol of oracle currency (0x0 for ETH)\n    */\n    function getCurrencySymbol() external view returns(bytes32) {\n        return bytes32(\"POLY\");\n    }\n\n    /**\n    * @notice Returns denomination of price\n    */\n    function getCurrencyDenominated() external view returns(bytes32) {\n        return bytes32(\"USD\");\n    }\n\n    /**\n    * @notice Returns price - should throw if not valid\n    */\n    function getPrice() external view returns(uint256) {\n        require(latestUpdate >= now - staleTime);\n        return POLYUSD;\n    }\n\n    /**\n    * @notice Returns balance to owner\n    */\n    function drainContract() external onlyOwner {\n        msg.sender.transfer(address(this).balance);\n    }\n\n}\n",
  "sourcePath": "/Users/satyamagrawal/Repositories/testing-package/polymath-core/contracts/oracles/PolyOracle.sol",
  "ast": {
    "absolutePath": "/Users/satyamagrawal/Repositories/testing-package/polymath-core/contracts/oracles/PolyOracle.sol",
    "exportedSymbols": {
      "PolyOracle": [
        20267
      ]
    },
    "id": 20268,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 19525,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:56"
      },
      {
        "absolutePath": "/Users/satyamagrawal/Repositories/testing-package/polymath-core/contracts/external/oraclizeAPI.sol",
        "file": "../external/oraclizeAPI.sol",
        "id": 19526,
        "nodeType": "ImportDirective",
        "scope": 20268,
        "sourceUnit": 8920,
        "src": "26:37:56",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "openzeppelin-solidity/contracts/ownership/Ownable.sol",
        "file": "openzeppelin-solidity/contracts/ownership/Ownable.sol",
        "id": 19527,
        "nodeType": "ImportDirective",
        "scope": 20268,
        "sourceUnit": 22665,
        "src": "64:63:56",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol",
        "file": "openzeppelin-solidity/contracts/math/SafeMath.sol",
        "id": 19528,
        "nodeType": "ImportDirective",
        "scope": 20268,
        "sourceUnit": 22579,
        "src": "128:59:56",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/satyamagrawal/Repositories/testing-package/polymath-core/contracts/interfaces/IOracle.sol",
        "file": "../interfaces/IOracle.sol",
        "id": 19529,
        "nodeType": "ImportDirective",
        "scope": 20268,
        "sourceUnit": 10001,
        "src": "188:35:56",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 19530,
              "name": "usingOraclize",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 8919,
              "src": "248:13:56",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_usingOraclize_$8919",
                "typeString": "contract usingOraclize"
              }
            },
            "id": 19531,
            "nodeType": "InheritanceSpecifier",
            "src": "248:13:56"
          },
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 19532,
              "name": "IOracle",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 10000,
              "src": "263:7:56",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IOracle_$10000",
                "typeString": "contract IOracle"
              }
            },
            "id": 19533,
            "nodeType": "InheritanceSpecifier",
            "src": "263:7:56"
          },
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 19534,
              "name": "Ownable",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 22664,
              "src": "272:7:56",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Ownable_$22664",
                "typeString": "contract Ownable"
              }
            },
            "id": 19535,
            "nodeType": "InheritanceSpecifier",
            "src": "272:7:56"
          }
        ],
        "contractDependencies": [
          8919,
          10000,
          22664
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 20267,
        "linearizedBaseContracts": [
          20267,
          22664,
          10000,
          8919
        ],
        "name": "PolyOracle",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "id": 19538,
            "libraryName": {
              "contractScope": null,
              "id": 19536,
              "name": "SafeMath",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 22578,
              "src": "292:8:56",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_SafeMath_$22578",
                "typeString": "library SafeMath"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "286:27:56",
            "typeName": {
              "id": 19537,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "305:7:56",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            }
          },
          {
            "constant": false,
            "id": 19541,
            "name": "oracleURL",
            "nodeType": "VariableDeclaration",
            "scope": 20267,
            "src": "319:113:56",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_storage",
              "typeString": "string"
            },
            "typeName": {
              "id": 19539,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "319:6:56",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "6a736f6e2868747470733a2f2f6170692e636f696e6d61726b65746361702e636f6d2f76322f7469636b65722f323439362f3f636f6e766572743d555344292e646174612e71756f7465732e5553442e7072696365",
              "id": 19540,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "345:87:56",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_10d595959145130ffc84eb9493ffeee4caf2a9f315822e5fca2a2e145a0d757d",
                "typeString": "literal_string \"json(https://api.coinmarketcap.com/v2/ticker/2496/?convert=USD).data.quotes.USD.price\""
              },
              "value": "json(https://api.coinmarketcap.com/v2/ticker/2496/?convert=USD).data.quotes.USD.price"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 19548,
            "name": "sanityBounds",
            "nodeType": "VariableDeclaration",
            "scope": 20267,
            "src": "438:39:56",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 19542,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "438:7:56",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "commonType": {
                "typeIdentifier": "t_rational_200000000000000000_by_1",
                "typeString": "int_const 200000000000000000"
              },
              "id": 19547,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "lValueRequested": false,
              "leftExpression": {
                "argumentTypes": null,
                "hexValue": "3230",
                "id": 19543,
                "isConstant": false,
                "isLValue": false,
                "isPure": true,
                "kind": "number",
                "lValueRequested": false,
                "nodeType": "Literal",
                "src": "468:2:56",
                "subdenomination": null,
                "typeDescriptions": {
                  "typeIdentifier": "t_rational_20_by_1",
                  "typeString": "int_const 20"
                },
                "value": "20"
              },
              "nodeType": "BinaryOperation",
              "operator": "*",
              "rightExpression": {
                "argumentTypes": null,
                "commonType": {
                  "typeIdentifier": "t_rational_10000000000000000_by_1",
                  "typeString": "int_const 10000000000000000"
                },
                "id": 19546,
                "isConstant": false,
                "isLValue": false,
                "isPure": true,
                "lValueRequested": false,
                "leftExpression": {
                  "argumentTypes": null,
                  "hexValue": "3130",
                  "id": 19544,
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "kind": "number",
                  "lValueRequested": false,
                  "nodeType": "Literal",
                  "src": "471:2:56",
                  "subdenomination": null,
                  "typeDescriptions": {
                    "typeIdentifier": "t_rational_10_by_1",
                    "typeString": "int_const 10"
                  },
                  "value": "10"
                },
                "nodeType": "BinaryOperation",
                "operator": "**",
                "rightExpression": {
                  "argumentTypes": null,
                  "hexValue": "3136",
                  "id": 19545,
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "kind": "number",
                  "lValueRequested": false,
                  "nodeType": "Literal",
                  "src": "475:2:56",
                  "subdenomination": null,
                  "typeDescriptions": {
                    "typeIdentifier": "t_rational_16_by_1",
                    "typeString": "int_const 16"
                  },
                  "value": "16"
                },
                "src": "471:6:56",
                "typeDescriptions": {
                  "typeIdentifier": "t_rational_10000000000000000_by_1",
                  "typeString": "int_const 10000000000000000"
                }
              },
              "src": "468:9:56",
              "typeDescriptions": {
                "typeIdentifier": "t_rational_200000000000000000_by_1",
                "typeString": "int_const 200000000000000000"
              }
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 19551,
            "name": "gasLimit",
            "nodeType": "VariableDeclaration",
            "scope": 20267,
            "src": "483:32:56",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 19549,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "483:7:56",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "313030303030",
              "id": 19550,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "509:6:56",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_100000_by_1",
                "typeString": "int_const 100000"
              },
              "value": "100000"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 19554,
            "name": "oraclizeTimeTolerance",
            "nodeType": "VariableDeclaration",
            "scope": 20267,
            "src": "521:48:56",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 19552,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "521:7:56",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "35",
              "id": 19553,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "560:9:56",
              "subdenomination": "minutes",
              "typeDescriptions": {
                "typeIdentifier": "t_rational_300_by_1",
                "typeString": "int_const 300"
              },
              "value": "5"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 19557,
            "name": "staleTime",
            "nodeType": "VariableDeclaration",
            "scope": 20267,
            "src": "575:34:56",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 19555,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "575:7:56",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "36",
              "id": 19556,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "602:7:56",
              "subdenomination": "hours",
              "typeDescriptions": {
                "typeIdentifier": "t_rational_21600_by_1",
                "typeString": "int_const 21600"
              },
              "value": "6"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 19559,
            "name": "POLYUSD",
            "nodeType": "VariableDeclaration",
            "scope": 20267,
            "src": "616:23:56",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 19558,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "616:7:56",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 19561,
            "name": "latestUpdate",
            "nodeType": "VariableDeclaration",
            "scope": 20267,
            "src": "645:27:56",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 19560,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "645:7:56",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 19563,
            "name": "latestScheduledUpdate",
            "nodeType": "VariableDeclaration",
            "scope": 20267,
            "src": "678:36:56",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 19562,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "678:7:56",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 19567,
            "name": "requestIds",
            "nodeType": "VariableDeclaration",
            "scope": 20267,
            "src": "721:46:56",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
              "typeString": "mapping(bytes32 => uint256)"
            },
            "typeName": {
              "id": 19566,
              "keyType": {
                "id": 19564,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "730:7:56",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "721:28:56",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                "typeString": "mapping(bytes32 => uint256)"
              },
              "valueType": {
                "id": 19565,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "741:7:56",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 19571,
            "name": "ignoreRequestIds",
            "nodeType": "VariableDeclaration",
            "scope": 20267,
            "src": "773:49:56",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$",
              "typeString": "mapping(bytes32 => bool)"
            },
            "typeName": {
              "id": 19570,
              "keyType": {
                "id": 19568,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "782:7:56",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "773:25:56",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$",
                "typeString": "mapping(bytes32 => bool)"
              },
              "valueType": {
                "id": 19569,
                "name": "bool",
                "nodeType": "ElementaryTypeName",
                "src": "793:4:56",
                "typeDescriptions": {
                  "typeIdentifier": "t_bool",
                  "typeString": "bool"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 19575,
            "name": "admin",
            "nodeType": "VariableDeclaration",
            "scope": 20267,
            "src": "829:38:56",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
              "typeString": "mapping(address => bool)"
            },
            "typeName": {
              "id": 19574,
              "keyType": {
                "id": 19572,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "838:7:56",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "829:25:56",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                "typeString": "mapping(address => bool)"
              },
              "valueType": {
                "id": 19573,
                "name": "bool",
                "nodeType": "ElementaryTypeName",
                "src": "849:4:56",
                "typeDescriptions": {
                  "typeIdentifier": "t_bool",
                  "typeString": "bool"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 19577,
            "name": "freezeOracle",
            "nodeType": "VariableDeclaration",
            "scope": 20267,
            "src": "874:24:56",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bool",
              "typeString": "bool"
            },
            "typeName": {
              "id": 19576,
              "name": "bool",
              "nodeType": "ElementaryTypeName",
              "src": "874:4:56",
              "typeDescriptions": {
                "typeIdentifier": "t_bool",
                "typeString": "bool"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 19587,
            "name": "LogPriceUpdated",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 19586,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 19579,
                  "indexed": false,
                  "name": "_price",
                  "nodeType": "VariableDeclaration",
                  "scope": 19587,
                  "src": "927:14:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 19578,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "927:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19581,
                  "indexed": false,
                  "name": "_oldPrice",
                  "nodeType": "VariableDeclaration",
                  "scope": 19587,
                  "src": "943:17:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 19580,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "943:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19583,
                  "indexed": false,
                  "name": "_queryId",
                  "nodeType": "VariableDeclaration",
                  "scope": 19587,
                  "src": "962:16:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 19582,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "962:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19585,
                  "indexed": false,
                  "name": "_time",
                  "nodeType": "VariableDeclaration",
                  "scope": 19587,
                  "src": "980:13:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 19584,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "980:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "926:68:56"
            },
            "src": "905:90:56"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 19595,
            "name": "LogNewOraclizeQuery",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 19594,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 19589,
                  "indexed": false,
                  "name": "_time",
                  "nodeType": "VariableDeclaration",
                  "scope": 19595,
                  "src": "1026:13:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 19588,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1026:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19591,
                  "indexed": false,
                  "name": "_queryId",
                  "nodeType": "VariableDeclaration",
                  "scope": 19595,
                  "src": "1041:16:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 19590,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1041:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19593,
                  "indexed": false,
                  "name": "_query",
                  "nodeType": "VariableDeclaration",
                  "scope": 19595,
                  "src": "1059:13:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 19592,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1059:6:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1025:48:56"
            },
            "src": "1000:74:56"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 19603,
            "name": "LogAdminSet",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 19602,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 19597,
                  "indexed": false,
                  "name": "_admin",
                  "nodeType": "VariableDeclaration",
                  "scope": 19603,
                  "src": "1097:14:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 19596,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1097:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19599,
                  "indexed": false,
                  "name": "_valid",
                  "nodeType": "VariableDeclaration",
                  "scope": 19603,
                  "src": "1113:11:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 19598,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1113:4:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19601,
                  "indexed": false,
                  "name": "_time",
                  "nodeType": "VariableDeclaration",
                  "scope": 19603,
                  "src": "1126:13:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 19600,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1126:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1096:44:56"
            },
            "src": "1079:62:56"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 19611,
            "name": "LogStalePriceUpdate",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 19610,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 19605,
                  "indexed": false,
                  "name": "_queryId",
                  "nodeType": "VariableDeclaration",
                  "scope": 19611,
                  "src": "1172:16:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 19604,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1172:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19607,
                  "indexed": false,
                  "name": "_time",
                  "nodeType": "VariableDeclaration",
                  "scope": 19611,
                  "src": "1190:13:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 19606,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1190:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19609,
                  "indexed": false,
                  "name": "_result",
                  "nodeType": "VariableDeclaration",
                  "scope": 19611,
                  "src": "1205:14:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 19608,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1205:6:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1171:49:56"
            },
            "src": "1146:75:56"
          },
          {
            "body": {
              "id": 19627,
              "nodeType": "Block",
              "src": "1251:110:56",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 19622,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 19614,
                            "name": "admin",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19575,
                            "src": "1269:5:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                              "typeString": "mapping(address => bool)"
                            }
                          },
                          "id": 19617,
                          "indexExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 19615,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 23131,
                              "src": "1275:3:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 19616,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "1275:10:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "1269:17:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 19621,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 19618,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 23131,
                              "src": "1290:3:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 19619,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "1290:10:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 19620,
                            "name": "owner",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 22582,
                            "src": "1304:5:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "1290:19:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "1269:40:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "41646472657373206973206e6f742061646d696e206f72206f776e6572",
                        "id": 19623,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1311:31:56",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_208ffc3afcc23eb0c6e11e1b5de5409e3dd5822c8e1de1b8e3d6469956877e74",
                          "typeString": "literal_string \"Address is not admin or owner\""
                        },
                        "value": "Address is not admin or owner"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_208ffc3afcc23eb0c6e11e1b5de5409e3dd5822c8e1de1b8e3d6469956877e74",
                          "typeString": "literal_string \"Address is not admin or owner\""
                        }
                      ],
                      "id": 19613,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "1261:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 19624,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1261:82:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 19625,
                  "nodeType": "ExpressionStatement",
                  "src": "1261:82:56"
                },
                {
                  "id": 19626,
                  "nodeType": "PlaceholderStatement",
                  "src": "1353:1:56"
                }
              ]
            },
            "documentation": null,
            "id": 19628,
            "name": "isAdminOrOwner",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 19612,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1251:0:56"
            },
            "src": "1227:134:56",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 19639,
              "nodeType": "Block",
              "src": "1507:84:56",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_rational_50000000000_by_1",
                          "typeString": "int_const 50000000000"
                        },
                        "id": 19636,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "hexValue": "3530",
                          "id": 19632,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "1575:2:56",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_50_by_1",
                            "typeString": "int_const 50"
                          },
                          "value": "50"
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "*",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_rational_1000000000_by_1",
                            "typeString": "int_const 1000000000"
                          },
                          "id": 19635,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "hexValue": "3130",
                            "id": 19633,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "1578:2:56",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_10_by_1",
                              "typeString": "int_const 10"
                            },
                            "value": "10"
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "**",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "39",
                            "id": 19634,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "1582:1:56",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_9_by_1",
                              "typeString": "int_const 9"
                            },
                            "value": "9"
                          },
                          "src": "1578:5:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1000000000_by_1",
                            "typeString": "int_const 1000000000"
                          }
                        },
                        "src": "1575:8:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_50000000000_by_1",
                          "typeString": "int_const 50000000000"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_rational_50000000000_by_1",
                          "typeString": "int_const 50000000000"
                        }
                      ],
                      "id": 19631,
                      "name": "oraclize_setCustomGasPrice",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6918,
                      "src": "1548:26:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 19637,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1548:36:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 19638,
                  "nodeType": "ExpressionStatement",
                  "src": "1548:36:56"
                }
              ]
            },
            "documentation": "@notice Constructor - accepts ETH to initialise a balance for subsequent Oraclize queries",
            "id": 19640,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 19629,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1489:2:56"
            },
            "payable": true,
            "returnParameters": {
              "id": 19630,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1507:0:56"
            },
            "scope": 20267,
            "src": "1478:113:56",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 19767,
              "nodeType": "Block",
              "src": "1854:1097:56",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 19652,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 19648,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 23131,
                            "src": "1872:3:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 19649,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "1872:10:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 19650,
                            "name": "oraclize_cbAddress",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6892,
                            "src": "1886:18:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_address_$",
                              "typeString": "function () returns (address)"
                            }
                          },
                          "id": 19651,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1886:20:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "1872:34:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4f6e6c79204f7261636c697a652063616e206163636573732074686973206d6574686f64",
                        "id": 19653,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1908:38:56",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_49615ce639aee8f98a56c3f19b32b7c89c02c3ad7e925b1caad57becf074ebdd",
                          "typeString": "literal_string \"Only Oraclize can access this method\""
                        },
                        "value": "Only Oraclize can access this method"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_49615ce639aee8f98a56c3f19b32b7c89c02c3ad7e925b1caad57becf074ebdd",
                          "typeString": "literal_string \"Only Oraclize can access this method\""
                        }
                      ],
                      "id": 19647,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "1864:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 19654,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1864:83:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 19655,
                  "nodeType": "ExpressionStatement",
                  "src": "1864:83:56"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 19658,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "UnaryOperation",
                        "operator": "!",
                        "prefix": true,
                        "src": "1965:13:56",
                        "subExpression": {
                          "argumentTypes": null,
                          "id": 19657,
                          "name": "freezeOracle",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 19577,
                          "src": "1966:12:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4f7261636c652069732066726f7a656e",
                        "id": 19659,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1980:18:56",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_08b8ca535c31767b25dba8362804145800f142a2101c3086cb19db500b19d88e",
                          "typeString": "literal_string \"Oracle is frozen\""
                        },
                        "value": "Oracle is frozen"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_08b8ca535c31767b25dba8362804145800f142a2101c3086cb19db500b19d88e",
                          "typeString": "literal_string \"Oracle is frozen\""
                        }
                      ],
                      "id": 19656,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "1957:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 19660,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1957:42:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 19661,
                  "nodeType": "ExpressionStatement",
                  "src": "1957:42:56"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 19666,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "UnaryOperation",
                        "operator": "!",
                        "prefix": true,
                        "src": "2017:29:56",
                        "subExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 19663,
                            "name": "ignoreRequestIds",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19571,
                            "src": "2018:16:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$",
                              "typeString": "mapping(bytes32 => bool)"
                            }
                          },
                          "id": 19665,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 19664,
                            "name": "_requestId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19642,
                            "src": "2035:10:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "2018:28:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "49676e6f72696e6720726571756573744964",
                        "id": 19667,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2048:20:56",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_409f79395a50be1d69bfcc0c8da1d1f801e4e77da454435d3597de41512d47b5",
                          "typeString": "literal_string \"Ignoring requestId\""
                        },
                        "value": "Ignoring requestId"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_409f79395a50be1d69bfcc0c8da1d1f801e4e77da454435d3597de41512d47b5",
                          "typeString": "literal_string \"Ignoring requestId\""
                        }
                      ],
                      "id": 19662,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "2009:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 19668,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2009:60:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 19669,
                  "nodeType": "ExpressionStatement",
                  "src": "2009:60:56"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 19674,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 19670,
                        "name": "requestIds",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19567,
                        "src": "2083:10:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                          "typeString": "mapping(bytes32 => uint256)"
                        }
                      },
                      "id": 19672,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 19671,
                        "name": "_requestId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19642,
                        "src": "2094:10:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "2083:22:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 19673,
                      "name": "latestUpdate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19561,
                      "src": "2108:12:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2083:37:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 19685,
                  "nodeType": "IfStatement",
                  "src": "2079:235:56",
                  "trueBody": {
                    "id": 19684,
                    "nodeType": "Block",
                    "src": "2122:192:56",
                    "statements": [
                      {
                        "eventCall": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 19676,
                              "name": "_requestId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 19642,
                              "src": "2239:10:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 19677,
                                "name": "requestIds",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 19567,
                                "src": "2251:10:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                                  "typeString": "mapping(bytes32 => uint256)"
                                }
                              },
                              "id": 19679,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 19678,
                                "name": "_requestId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 19642,
                                "src": "2262:10:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "2251:22:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 19680,
                              "name": "_result",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 19644,
                              "src": "2275:7:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            ],
                            "id": 19675,
                            "name": "LogStalePriceUpdate",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19611,
                            "src": "2219:19:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bytes32,uint256,string memory)"
                            }
                          },
                          "id": 19681,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2219:64:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 19682,
                        "nodeType": "EmitStatement",
                        "src": "2214:69:56"
                      },
                      {
                        "expression": null,
                        "functionReturnParameters": 19646,
                        "id": 19683,
                        "nodeType": "Return",
                        "src": "2297:7:56"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 19691,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 19687,
                            "name": "requestIds",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19567,
                            "src": "2331:10:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                              "typeString": "mapping(bytes32 => uint256)"
                            }
                          },
                          "id": 19689,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 19688,
                            "name": "_requestId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19642,
                            "src": "2342:10:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "2331:22:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 19690,
                          "name": "latestUpdate",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 19561,
                          "src": "2357:12:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "2331:38:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "526573756c74206973207374616c65",
                        "id": 19692,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2371:17:56",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_a659d71297e2942a30e21e9af6bfd30a7f09cd62002071bcd9f89c25ff0192f9",
                          "typeString": "literal_string \"Result is stale\""
                        },
                        "value": "Result is stale"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_a659d71297e2942a30e21e9af6bfd30a7f09cd62002071bcd9f89c25ff0192f9",
                          "typeString": "literal_string \"Result is stale\""
                        }
                      ],
                      "id": 19686,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "2323:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 19693,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2323:66:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 19694,
                  "nodeType": "ExpressionStatement",
                  "src": "2323:66:56"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 19702,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 19696,
                            "name": "requestIds",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19567,
                            "src": "2407:10:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                              "typeString": "mapping(bytes32 => uint256)"
                            }
                          },
                          "id": 19698,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 19697,
                            "name": "_requestId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19642,
                            "src": "2418:10:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "2407:22:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 19701,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 19699,
                            "name": "now",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 23133,
                            "src": "2433:3:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "+",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 19700,
                            "name": "oraclizeTimeTolerance",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19554,
                            "src": "2439:21:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "2433:27:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "2407:53:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "526573756c74206973206561726c79",
                        "id": 19703,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2462:17:56",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_89c48399fb15bc0e2fb9d2b0232439da0ceed28a00622960ba612013cb621833",
                          "typeString": "literal_string \"Result is early\""
                        },
                        "value": "Result is early"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_89c48399fb15bc0e2fb9d2b0232439da0ceed28a00622960ba612013cb621833",
                          "typeString": "literal_string \"Result is early\""
                        }
                      ],
                      "id": 19695,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "2399:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 19704,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2399:81:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 19705,
                  "nodeType": "ExpressionStatement",
                  "src": "2399:81:56"
                },
                {
                  "assignments": [
                    19707
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 19707,
                      "name": "newPOLYUSD",
                      "nodeType": "VariableDeclaration",
                      "scope": 19768,
                      "src": "2490:18:56",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 19706,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "2490:7:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 19712,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 19709,
                        "name": "_result",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19644,
                        "src": "2520:7:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "3138",
                        "id": 19710,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2529:2:56",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_18_by_1",
                          "typeString": "int_const 18"
                        },
                        "value": "18"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_rational_18_by_1",
                          "typeString": "int_const 18"
                        }
                      ],
                      "id": 19708,
                      "name": "parseInt",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        7570,
                        7669
                      ],
                      "referencedDeclaration": 7669,
                      "src": "2511:8:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (string memory,uint256) pure returns (uint256)"
                      }
                    },
                    "id": 19711,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2511:21:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2490:42:56"
                },
                {
                  "assignments": [
                    19714
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 19714,
                      "name": "bound",
                      "nodeType": "VariableDeclaration",
                      "scope": 19768,
                      "src": "2542:13:56",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 19713,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "2542:7:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 19724,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_rational_1000000000000000000_by_1",
                          "typeString": "int_const 1000000000000000000"
                        },
                        "id": 19722,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "hexValue": "3130",
                          "id": 19720,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2588:2:56",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_10_by_1",
                            "typeString": "int_const 10"
                          },
                          "value": "10"
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "**",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "3138",
                          "id": 19721,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2592:2:56",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_18_by_1",
                            "typeString": "int_const 18"
                          },
                          "value": "18"
                        },
                        "src": "2588:6:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1000000000000000000_by_1",
                          "typeString": "int_const 1000000000000000000"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_rational_1000000000000000000_by_1",
                          "typeString": "int_const 1000000000000000000"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 19717,
                            "name": "sanityBounds",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19548,
                            "src": "2570:12:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 19715,
                            "name": "POLYUSD",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19559,
                            "src": "2558:7:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 19716,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "mul",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 22519,
                          "src": "2558:11:56",
                          "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": 19718,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2558:25:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "id": 19719,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "div",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 22533,
                      "src": "2558:29:56",
                      "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": 19723,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2558:37:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2542:53:56"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 19727,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 19725,
                      "name": "latestUpdate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19561,
                      "src": "2609:12:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "!=",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 19726,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "2625:1:56",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "2609:17:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 19749,
                  "nodeType": "IfStatement",
                  "src": "2605:186:56",
                  "trueBody": {
                    "id": 19748,
                    "nodeType": "Block",
                    "src": "2628:163:56",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 19734,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "id": 19729,
                                "name": "newPOLYUSD",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 19707,
                                "src": "2648:10:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "<=",
                              "rightExpression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 19732,
                                    "name": "bound",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 19714,
                                    "src": "2674:5:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 19730,
                                    "name": "POLYUSD",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 19559,
                                    "src": "2662:7:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "id": 19731,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "add",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 22577,
                                  "src": "2662:11:56",
                                  "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": 19733,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "2662:18:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "2648:32:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "526573756c7420697320746f6f206c61726765",
                              "id": 19735,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2682:21:56",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_12929aabdfd2299142d25ed7bff9f5f55d389856b31c7289c4bcd78110cc4b93",
                                "typeString": "literal_string \"Result is too large\""
                              },
                              "value": "Result is too large"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_12929aabdfd2299142d25ed7bff9f5f55d389856b31c7289c4bcd78110cc4b93",
                                "typeString": "literal_string \"Result is too large\""
                              }
                            ],
                            "id": 19728,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              23134,
                              23135
                            ],
                            "referencedDeclaration": 23135,
                            "src": "2640:7:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 19736,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2640:64:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 19737,
                        "nodeType": "ExpressionStatement",
                        "src": "2640:64:56"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 19744,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "id": 19739,
                                "name": "newPOLYUSD",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 19707,
                                "src": "2724:10:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": ">=",
                              "rightExpression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 19742,
                                    "name": "bound",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 19714,
                                    "src": "2750:5:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 19740,
                                    "name": "POLYUSD",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 19559,
                                    "src": "2738:7:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "id": 19741,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "sub",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 22553,
                                  "src": "2738:11:56",
                                  "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": 19743,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "2738:18:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "2724:32:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "526573756c7420697320746f6f20736d616c6c",
                              "id": 19745,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2758:21:56",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_e2a6df9e42095216942dec5936044bb4fe74099d6a131426703b5c3e80479498",
                                "typeString": "literal_string \"Result is too small\""
                              },
                              "value": "Result is too small"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_e2a6df9e42095216942dec5936044bb4fe74099d6a131426703b5c3e80479498",
                                "typeString": "literal_string \"Result is too small\""
                              }
                            ],
                            "id": 19738,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              23134,
                              23135
                            ],
                            "referencedDeclaration": 23135,
                            "src": "2716:7:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 19746,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2716:64:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 19747,
                        "nodeType": "ExpressionStatement",
                        "src": "2716:64:56"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 19754,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 19750,
                      "name": "latestUpdate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19561,
                      "src": "2800:12:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 19751,
                        "name": "requestIds",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19567,
                        "src": "2815:10:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                          "typeString": "mapping(bytes32 => uint256)"
                        }
                      },
                      "id": 19753,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 19752,
                        "name": "_requestId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19642,
                        "src": "2826:10:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "2815:22:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2800:37:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 19755,
                  "nodeType": "ExpressionStatement",
                  "src": "2800:37:56"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 19757,
                        "name": "newPOLYUSD",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19707,
                        "src": "2868:10:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 19758,
                        "name": "POLYUSD",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19559,
                        "src": "2880:7:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 19759,
                        "name": "_requestId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19642,
                        "src": "2889:10:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 19760,
                        "name": "latestUpdate",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19561,
                        "src": "2901:12:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 19756,
                      "name": "LogPriceUpdated",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19587,
                      "src": "2852:15:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint256_$returns$__$",
                        "typeString": "function (uint256,uint256,bytes32,uint256)"
                      }
                    },
                    "id": 19761,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2852:62:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 19762,
                  "nodeType": "EmitStatement",
                  "src": "2847:67:56"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 19765,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 19763,
                      "name": "POLYUSD",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19559,
                      "src": "2924:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 19764,
                      "name": "newPOLYUSD",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19707,
                      "src": "2934:10:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2924:20:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 19766,
                  "nodeType": "ExpressionStatement",
                  "src": "2924:20:56"
                }
              ]
            },
            "documentation": "@notice Oraclize callback (triggered by Oraclize)\n@param _requestId requestId corresponding to Oraclize query\n@param _result data returned by Oraclize URL query",
            "id": 19768,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "__callback",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 19645,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 19642,
                  "name": "_requestId",
                  "nodeType": "VariableDeclaration",
                  "scope": 19768,
                  "src": "1811:18:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 19641,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1811:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19644,
                  "name": "_result",
                  "nodeType": "VariableDeclaration",
                  "scope": 19768,
                  "src": "1831:14:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 19643,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1831:6:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1810:36:56"
            },
            "payable": false,
            "returnParameters": {
              "id": 19646,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1854:0:56"
            },
            "scope": 20267,
            "src": "1791:1160:56",
            "stateMutability": "nonpayable",
            "superFunction": 3834,
            "visibility": "public"
          },
          {
            "body": {
              "id": 19913,
              "nodeType": "Block",
              "src": "3231:1275:56",
              "statements": [
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 19777,
                      "name": "requestId",
                      "nodeType": "VariableDeclaration",
                      "scope": 19914,
                      "src": "3241:17:56",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 19776,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "3241:7:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 19778,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3241:17:56"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 19780,
                      "name": "maximumScheduledUpdated",
                      "nodeType": "VariableDeclaration",
                      "scope": 19914,
                      "src": "3268:31:56",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 19779,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "3268:7:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 19781,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3268:31:56"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 19785,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 19782,
                        "name": "_times",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19771,
                        "src": "3313:6:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                          "typeString": "uint256[] memory"
                        }
                      },
                      "id": 19783,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3313:13:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 19784,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "3330:1:56",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "3313:18:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 19902,
                    "nodeType": "Block",
                    "src": "3671:695:56",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 19836,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "commonType": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "id": 19831,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "hexValue": "55524c",
                                      "id": 19826,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "string",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "3711:5:56",
                                      "subdenomination": null,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_stringliteral_96388ed71ebb5d970d8c40d08f33931fc80bd2768fd60f12b78e085d12441b0e",
                                        "typeString": "literal_string \"URL\""
                                      },
                                      "value": "URL"
                                    },
                                    {
                                      "argumentTypes": null,
                                      "id": 19827,
                                      "name": "gasLimit",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 19551,
                                      "src": "3718:8:56",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_stringliteral_96388ed71ebb5d970d8c40d08f33931fc80bd2768fd60f12b78e085d12441b0e",
                                        "typeString": "literal_string \"URL\""
                                      },
                                      {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    ],
                                    "id": 19825,
                                    "name": "oraclize_getPrice",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [
                                      3866,
                                      3884
                                    ],
                                    "referencedDeclaration": 3884,
                                    "src": "3693:17:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$_t_uint256_$",
                                      "typeString": "function (string memory,uint256) returns (uint256)"
                                    }
                                  },
                                  "id": 19828,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "3693:34:56",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "*",
                                "rightExpression": {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 19829,
                                    "name": "_times",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 19771,
                                    "src": "3730:6:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                      "typeString": "uint256[] memory"
                                    }
                                  },
                                  "id": 19830,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "length",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": null,
                                  "src": "3730:13:56",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "3693:50:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "<=",
                              "rightExpression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "id": 19833,
                                      "name": "this",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 23248,
                                      "src": "3755:4:56",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_contract$_PolyOracle_$20267",
                                        "typeString": "contract PolyOracle"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_contract$_PolyOracle_$20267",
                                        "typeString": "contract PolyOracle"
                                      }
                                    ],
                                    "id": 19832,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "3747:7:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_address_$",
                                      "typeString": "type(address)"
                                    },
                                    "typeName": "address"
                                  },
                                  "id": 19834,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "3747:13:56",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                "id": 19835,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "balance",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": null,
                                "src": "3747:21:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "3693:75:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "496e73756666696369656e742046756e6473",
                              "id": 19837,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "3770:20:56",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_3f96070838a802b00711e63911cb51cdbd018900fa6d34d5ff764f6299488092",
                                "typeString": "literal_string \"Insufficient Funds\""
                              },
                              "value": "Insufficient Funds"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_3f96070838a802b00711e63911cb51cdbd018900fa6d34d5ff764f6299488092",
                                "typeString": "literal_string \"Insufficient Funds\""
                              }
                            ],
                            "id": 19824,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              23134,
                              23135
                            ],
                            "referencedDeclaration": 23135,
                            "src": "3685:7:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 19838,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3685:106:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 19839,
                        "nodeType": "ExpressionStatement",
                        "src": "3685:106:56"
                      },
                      {
                        "body": {
                          "id": 19900,
                          "nodeType": "Block",
                          "src": "3849:507:56",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "commonType": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    "id": 19856,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "argumentTypes": null,
                                      "baseExpression": {
                                        "argumentTypes": null,
                                        "id": 19852,
                                        "name": "_times",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 19771,
                                        "src": "3875:6:56",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                          "typeString": "uint256[] memory"
                                        }
                                      },
                                      "id": 19854,
                                      "indexExpression": {
                                        "argumentTypes": null,
                                        "id": 19853,
                                        "name": "i",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 19841,
                                        "src": "3882:1:56",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "IndexAccess",
                                      "src": "3875:9:56",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": ">=",
                                    "rightExpression": {
                                      "argumentTypes": null,
                                      "id": 19855,
                                      "name": "now",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 23133,
                                      "src": "3888:3:56",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "src": "3875:16:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "hexValue": "50617374207363686564756c696e67206973206e6f7420616c6c6f77656420616e64207363686564756c65642074696d652073686f756c64206265206162736f6c7574652074696d657374616d70",
                                    "id": 19857,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "string",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "3893:80:56",
                                    "subdenomination": null,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_stringliteral_c2f7628afa200c06568eb2d695636ebe42b62a1e3ad4743d73914da5d733cca6",
                                      "typeString": "literal_string \"Past scheduling is not allowed and scheduled time should be absolute timestamp\""
                                    },
                                    "value": "Past scheduling is not allowed and scheduled time should be absolute timestamp"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    },
                                    {
                                      "typeIdentifier": "t_stringliteral_c2f7628afa200c06568eb2d695636ebe42b62a1e3ad4743d73914da5d733cca6",
                                      "typeString": "literal_string \"Past scheduling is not allowed and scheduled time should be absolute timestamp\""
                                    }
                                  ],
                                  "id": 19851,
                                  "name": "require",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    23134,
                                    23135
                                  ],
                                  "referencedDeclaration": 23135,
                                  "src": "3867:7:56",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                    "typeString": "function (bool,string memory) pure"
                                  }
                                },
                                "id": 19858,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "3867:107:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 19859,
                              "nodeType": "ExpressionStatement",
                              "src": "3867:107:56"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 19869,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "id": 19860,
                                  "name": "requestId",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 19777,
                                  "src": "3992:9:56",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "baseExpression": {
                                        "argumentTypes": null,
                                        "id": 19862,
                                        "name": "_times",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 19771,
                                        "src": "4019:6:56",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                          "typeString": "uint256[] memory"
                                        }
                                      },
                                      "id": 19864,
                                      "indexExpression": {
                                        "argumentTypes": null,
                                        "id": 19863,
                                        "name": "i",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 19841,
                                        "src": "4026:1:56",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "IndexAccess",
                                      "src": "4019:9:56",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    {
                                      "argumentTypes": null,
                                      "hexValue": "55524c",
                                      "id": 19865,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "string",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "4030:5:56",
                                      "subdenomination": null,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_stringliteral_96388ed71ebb5d970d8c40d08f33931fc80bd2768fd60f12b78e085d12441b0e",
                                        "typeString": "literal_string \"URL\""
                                      },
                                      "value": "URL"
                                    },
                                    {
                                      "argumentTypes": null,
                                      "id": 19866,
                                      "name": "oracleURL",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 19541,
                                      "src": "4037:9:56",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_string_storage",
                                        "typeString": "string storage ref"
                                      }
                                    },
                                    {
                                      "argumentTypes": null,
                                      "id": 19867,
                                      "name": "gasLimit",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 19551,
                                      "src": "4048:8:56",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      },
                                      {
                                        "typeIdentifier": "t_stringliteral_96388ed71ebb5d970d8c40d08f33931fc80bd2768fd60f12b78e085d12441b0e",
                                        "typeString": "literal_string \"URL\""
                                      },
                                      {
                                        "typeIdentifier": "t_string_storage",
                                        "typeString": "string storage ref"
                                      },
                                      {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    ],
                                    "id": 19861,
                                    "name": "oraclize_query",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [
                                      3924,
                                      3966,
                                      4012,
                                      4056,
                                      4099,
                                      4144,
                                      4193,
                                      4240,
                                      4287,
                                      4336,
                                      4389,
                                      4440,
                                      4477,
                                      4517,
                                      4560,
                                      4600,
                                      4645,
                                      4693,
                                      4744,
                                      4792,
                                      4845,
                                      4901,
                                      4960,
                                      5016,
                                      5077,
                                      5141,
                                      5208,
                                      5272,
                                      5341,
                                      5413,
                                      5488,
                                      5560,
                                      5607,
                                      5656,
                                      5709,
                                      5760,
                                      5797,
                                      5837,
                                      5880,
                                      5920,
                                      5965,
                                      6013,
                                      6064,
                                      6112,
                                      6165,
                                      6221,
                                      6280,
                                      6336,
                                      6397,
                                      6461,
                                      6528,
                                      6592,
                                      6661,
                                      6733,
                                      6808,
                                      6880
                                    ],
                                    "referencedDeclaration": 4012,
                                    "src": "4004:14:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$_t_bytes32_$",
                                      "typeString": "function (uint256,string memory,string memory,uint256) returns (bytes32)"
                                    }
                                  },
                                  "id": 19868,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "4004:53:56",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "src": "3992:65:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "id": 19870,
                              "nodeType": "ExpressionStatement",
                              "src": "3992:65:56"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 19877,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 19871,
                                    "name": "requestIds",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 19567,
                                    "src": "4075:10:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                                      "typeString": "mapping(bytes32 => uint256)"
                                    }
                                  },
                                  "id": 19873,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 19872,
                                    "name": "requestId",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 19777,
                                    "src": "4086:9:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "4075:21:56",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 19874,
                                    "name": "_times",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 19771,
                                    "src": "4099:6:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                      "typeString": "uint256[] memory"
                                    }
                                  },
                                  "id": 19876,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 19875,
                                    "name": "i",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 19841,
                                    "src": "4106:1:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "4099:9:56",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "4075:33:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 19878,
                              "nodeType": "ExpressionStatement",
                              "src": "4075:33:56"
                            },
                            {
                              "condition": {
                                "argumentTypes": null,
                                "commonType": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "id": 19883,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "argumentTypes": null,
                                  "id": 19879,
                                  "name": "maximumScheduledUpdated",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 19780,
                                  "src": "4130:23:56",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "<",
                                "rightExpression": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 19880,
                                    "name": "requestIds",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 19567,
                                    "src": "4156:10:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                                      "typeString": "mapping(bytes32 => uint256)"
                                    }
                                  },
                                  "id": 19882,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 19881,
                                    "name": "requestId",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 19777,
                                    "src": "4167:9:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "4156:21:56",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "4130:47:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "falseBody": null,
                              "id": 19891,
                              "nodeType": "IfStatement",
                              "src": "4126:141:56",
                              "trueBody": {
                                "id": 19890,
                                "nodeType": "Block",
                                "src": "4179:88:56",
                                "statements": [
                                  {
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 19888,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftHandSide": {
                                        "argumentTypes": null,
                                        "id": 19884,
                                        "name": "maximumScheduledUpdated",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 19780,
                                        "src": "4201:23:56",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "nodeType": "Assignment",
                                      "operator": "=",
                                      "rightHandSide": {
                                        "argumentTypes": null,
                                        "baseExpression": {
                                          "argumentTypes": null,
                                          "id": 19885,
                                          "name": "requestIds",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 19567,
                                          "src": "4227:10:56",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                                            "typeString": "mapping(bytes32 => uint256)"
                                          }
                                        },
                                        "id": 19887,
                                        "indexExpression": {
                                          "argumentTypes": null,
                                          "id": 19886,
                                          "name": "requestId",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 19777,
                                          "src": "4238:9:56",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                          }
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "IndexAccess",
                                        "src": "4227:21:56",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "src": "4201:47:56",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "id": 19889,
                                    "nodeType": "ExpressionStatement",
                                    "src": "4201:47:56"
                                  }
                                ]
                              }
                            },
                            {
                              "eventCall": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "baseExpression": {
                                      "argumentTypes": null,
                                      "id": 19893,
                                      "name": "_times",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 19771,
                                      "src": "4309:6:56",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                        "typeString": "uint256[] memory"
                                      }
                                    },
                                    "id": 19895,
                                    "indexExpression": {
                                      "argumentTypes": null,
                                      "id": 19894,
                                      "name": "i",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 19841,
                                      "src": "4316:1:56",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "4309:9:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 19896,
                                    "name": "requestId",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 19777,
                                    "src": "4320:9:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 19897,
                                    "name": "oracleURL",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 19541,
                                    "src": "4331:9:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_string_storage",
                                      "typeString": "string storage ref"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    },
                                    {
                                      "typeIdentifier": "t_string_storage",
                                      "typeString": "string storage ref"
                                    }
                                  ],
                                  "id": 19892,
                                  "name": "LogNewOraclizeQuery",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 19595,
                                  "src": "4289:19:56",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_bytes32_$_t_string_memory_ptr_$returns$__$",
                                    "typeString": "function (uint256,bytes32,string memory)"
                                  }
                                },
                                "id": 19898,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "4289:52:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 19899,
                              "nodeType": "EmitStatement",
                              "src": "4284:57:56"
                            }
                          ]
                        },
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 19847,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 19844,
                            "name": "i",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19841,
                            "src": "3825:1:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "<",
                          "rightExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 19845,
                              "name": "_times",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 19771,
                              "src": "3829:6:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            "id": 19846,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "3829:13:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "3825:17:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 19901,
                        "initializationExpression": {
                          "assignments": [
                            19841
                          ],
                          "declarations": [
                            {
                              "constant": false,
                              "id": 19841,
                              "name": "i",
                              "nodeType": "VariableDeclaration",
                              "scope": 19914,
                              "src": "3810:9:56",
                              "stateVariable": false,
                              "storageLocation": "default",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "typeName": {
                                "id": 19840,
                                "name": "uint256",
                                "nodeType": "ElementaryTypeName",
                                "src": "3810:7:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "value": null,
                              "visibility": "internal"
                            }
                          ],
                          "id": 19843,
                          "initialValue": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 19842,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3822:1:56",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "nodeType": "VariableDeclarationStatement",
                          "src": "3810:13:56"
                        },
                        "loopExpression": {
                          "expression": {
                            "argumentTypes": null,
                            "id": 19849,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "UnaryOperation",
                            "operator": "++",
                            "prefix": false,
                            "src": "3844:3:56",
                            "subExpression": {
                              "argumentTypes": null,
                              "id": 19848,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 19841,
                              "src": "3844:1:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 19850,
                          "nodeType": "ExpressionStatement",
                          "src": "3844:3:56"
                        },
                        "nodeType": "ForStatement",
                        "src": "3805:551:56"
                      }
                    ]
                  },
                  "id": 19903,
                  "nodeType": "IfStatement",
                  "src": "3309:1057:56",
                  "trueBody": {
                    "id": 19823,
                    "nodeType": "Block",
                    "src": "3333:332:56",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 19795,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "hexValue": "55524c",
                                    "id": 19788,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "string",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "3373:5:56",
                                    "subdenomination": null,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_stringliteral_96388ed71ebb5d970d8c40d08f33931fc80bd2768fd60f12b78e085d12441b0e",
                                      "typeString": "literal_string \"URL\""
                                    },
                                    "value": "URL"
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 19789,
                                    "name": "gasLimit",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 19551,
                                    "src": "3380:8:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_stringliteral_96388ed71ebb5d970d8c40d08f33931fc80bd2768fd60f12b78e085d12441b0e",
                                      "typeString": "literal_string \"URL\""
                                    },
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "id": 19787,
                                  "name": "oraclize_getPrice",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    3866,
                                    3884
                                  ],
                                  "referencedDeclaration": 3884,
                                  "src": "3355:17:56",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$_t_uint256_$",
                                    "typeString": "function (string memory,uint256) returns (uint256)"
                                  }
                                },
                                "id": 19790,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "3355:34:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "<=",
                              "rightExpression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "id": 19792,
                                      "name": "this",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 23248,
                                      "src": "3401:4:56",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_contract$_PolyOracle_$20267",
                                        "typeString": "contract PolyOracle"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_contract$_PolyOracle_$20267",
                                        "typeString": "contract PolyOracle"
                                      }
                                    ],
                                    "id": 19791,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "3393:7:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_address_$",
                                      "typeString": "type(address)"
                                    },
                                    "typeName": "address"
                                  },
                                  "id": 19793,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "3393:13:56",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                "id": 19794,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "balance",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": null,
                                "src": "3393:21:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "3355:59:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "496e73756666696369656e742046756e6473",
                              "id": 19796,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "3416:20:56",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_3f96070838a802b00711e63911cb51cdbd018900fa6d34d5ff764f6299488092",
                                "typeString": "literal_string \"Insufficient Funds\""
                              },
                              "value": "Insufficient Funds"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_3f96070838a802b00711e63911cb51cdbd018900fa6d34d5ff764f6299488092",
                                "typeString": "literal_string \"Insufficient Funds\""
                              }
                            ],
                            "id": 19786,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              23134,
                              23135
                            ],
                            "referencedDeclaration": 23135,
                            "src": "3347:7:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 19797,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3347:90:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 19798,
                        "nodeType": "ExpressionStatement",
                        "src": "3347:90:56"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 19805,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 19799,
                            "name": "requestId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19777,
                            "src": "3451:9:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "hexValue": "55524c",
                                "id": 19801,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "string",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "3478:5:56",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_stringliteral_96388ed71ebb5d970d8c40d08f33931fc80bd2768fd60f12b78e085d12441b0e",
                                  "typeString": "literal_string \"URL\""
                                },
                                "value": "URL"
                              },
                              {
                                "argumentTypes": null,
                                "id": 19802,
                                "name": "oracleURL",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 19541,
                                "src": "3485:9:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_storage",
                                  "typeString": "string storage ref"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 19803,
                                "name": "gasLimit",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 19551,
                                "src": "3496:8:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_stringliteral_96388ed71ebb5d970d8c40d08f33931fc80bd2768fd60f12b78e085d12441b0e",
                                  "typeString": "literal_string \"URL\""
                                },
                                {
                                  "typeIdentifier": "t_string_storage",
                                  "typeString": "string storage ref"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 19800,
                              "name": "oraclize_query",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [
                                3924,
                                3966,
                                4012,
                                4056,
                                4099,
                                4144,
                                4193,
                                4240,
                                4287,
                                4336,
                                4389,
                                4440,
                                4477,
                                4517,
                                4560,
                                4600,
                                4645,
                                4693,
                                4744,
                                4792,
                                4845,
                                4901,
                                4960,
                                5016,
                                5077,
                                5141,
                                5208,
                                5272,
                                5341,
                                5413,
                                5488,
                                5560,
                                5607,
                                5656,
                                5709,
                                5760,
                                5797,
                                5837,
                                5880,
                                5920,
                                5965,
                                6013,
                                6064,
                                6112,
                                6165,
                                6221,
                                6280,
                                6336,
                                6397,
                                6461,
                                6528,
                                6592,
                                6661,
                                6733,
                                6808,
                                6880
                              ],
                              "referencedDeclaration": 4056,
                              "src": "3463:14:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$_t_bytes32_$",
                                "typeString": "function (string memory,string memory,uint256) returns (bytes32)"
                              }
                            },
                            "id": 19804,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3463:42:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "src": "3451:54:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "id": 19806,
                        "nodeType": "ExpressionStatement",
                        "src": "3451:54:56"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 19811,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 19807,
                              "name": "requestIds",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 19567,
                              "src": "3519:10:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                                "typeString": "mapping(bytes32 => uint256)"
                              }
                            },
                            "id": 19809,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 19808,
                              "name": "requestId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 19777,
                              "src": "3530:9:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "3519:21:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "id": 19810,
                            "name": "now",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 23133,
                            "src": "3543:3:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "3519:27:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 19812,
                        "nodeType": "ExpressionStatement",
                        "src": "3519:27:56"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 19815,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 19813,
                            "name": "maximumScheduledUpdated",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19780,
                            "src": "3560:23:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "id": 19814,
                            "name": "now",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 23133,
                            "src": "3586:3:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "3560:29:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 19816,
                        "nodeType": "ExpressionStatement",
                        "src": "3560:29:56"
                      },
                      {
                        "eventCall": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 19818,
                              "name": "now",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 23133,
                              "src": "3628:3:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 19819,
                              "name": "requestId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 19777,
                              "src": "3633:9:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 19820,
                              "name": "oracleURL",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 19541,
                              "src": "3644:9:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_storage",
                                "typeString": "string storage ref"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_string_storage",
                                "typeString": "string storage ref"
                              }
                            ],
                            "id": 19817,
                            "name": "LogNewOraclizeQuery",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19595,
                            "src": "3608:19:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_bytes32_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (uint256,bytes32,string memory)"
                            }
                          },
                          "id": 19821,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3608:46:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 19822,
                        "nodeType": "EmitStatement",
                        "src": "3603:51:56"
                      }
                    ]
                  }
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 19906,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 19904,
                      "name": "latestScheduledUpdate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19563,
                      "src": "4379:21:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 19905,
                      "name": "maximumScheduledUpdated",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19780,
                      "src": "4403:23:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4379:47:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 19912,
                  "nodeType": "IfStatement",
                  "src": "4375:125:56",
                  "trueBody": {
                    "id": 19911,
                    "nodeType": "Block",
                    "src": "4428:72:56",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 19909,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 19907,
                            "name": "latestScheduledUpdate",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19563,
                            "src": "4442:21:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "id": 19908,
                            "name": "maximumScheduledUpdated",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19780,
                            "src": "4466:23:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "4442:47:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 19910,
                        "nodeType": "ExpressionStatement",
                        "src": "4442:47:56"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": "@notice Allows owner to schedule future Oraclize calls\n@param _times UNIX timestamps to schedule Oraclize calls as of. Empty list means trigger an immediate query.",
            "id": 19914,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 19774,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 19773,
                  "name": "isAdminOrOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 19628,
                  "src": "3209:14:56",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "3209:14:56"
              }
            ],
            "name": "schedulePriceUpdatesFixed",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 19772,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 19771,
                  "name": "_times",
                  "nodeType": "VariableDeclaration",
                  "scope": 19914,
                  "src": "3183:16:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 19769,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "3183:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 19770,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "3183:9:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3182:18:56"
            },
            "payable": true,
            "returnParameters": {
              "id": 19775,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3231:0:56"
            },
            "scope": 20267,
            "src": "3148:1358:56",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20019,
              "nodeType": "Block",
              "src": "4958:874:56",
              "statements": [
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 19926,
                      "name": "requestId",
                      "nodeType": "VariableDeclaration",
                      "scope": 20020,
                      "src": "4968:17:56",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 19925,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "4968:7:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 19927,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4968:17:56"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 19931,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 19929,
                          "name": "_interval",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 19918,
                          "src": "5003:9:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 19930,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "5015:1:56",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "5003:13:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "496e74657276616c206265747765656e207363686564756c65642074696d652073686f756c642062652067726561746572207468616e207a65726f",
                        "id": 19932,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5018:61:56",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_aa8cb04b20f46cc0c8b9cc092c2425a19c3044f0e83632d78b2ac6f9aacf1251",
                          "typeString": "literal_string \"Interval between scheduled time should be greater than zero\""
                        },
                        "value": "Interval between scheduled time should be greater than zero"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_aa8cb04b20f46cc0c8b9cc092c2425a19c3044f0e83632d78b2ac6f9aacf1251",
                          "typeString": "literal_string \"Interval between scheduled time should be greater than zero\""
                        }
                      ],
                      "id": 19928,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "4995:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 19933,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4995:85:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 19934,
                  "nodeType": "ExpressionStatement",
                  "src": "4995:85:56"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 19938,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 19936,
                          "name": "_iters",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 19920,
                          "src": "5098:6:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 19937,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "5107:1:56",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "5098:10:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4e6f20697465726174696f6e7320737065636966696564",
                        "id": 19939,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5110:25:56",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_47a86b99fe35ecc248382e57c40b2ce5da637b1e5e30cfad6d92309158c1e8ee",
                          "typeString": "literal_string \"No iterations specified\""
                        },
                        "value": "No iterations specified"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_47a86b99fe35ecc248382e57c40b2ce5da637b1e5e30cfad6d92309158c1e8ee",
                          "typeString": "literal_string \"No iterations specified\""
                        }
                      ],
                      "id": 19935,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "5090:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 19940,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5090:46:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 19941,
                  "nodeType": "ExpressionStatement",
                  "src": "5090:46:56"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 19945,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 19943,
                          "name": "_startTime",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 19916,
                          "src": "5154:10:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 19944,
                          "name": "now",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 23133,
                          "src": "5168:3:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "5154:17:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "50617374207363686564756c696e67206973206e6f7420616c6c6f77656420616e64207363686564756c65642074696d652073686f756c64206265206162736f6c7574652074696d657374616d70",
                        "id": 19946,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5173:80:56",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_c2f7628afa200c06568eb2d695636ebe42b62a1e3ad4743d73914da5d733cca6",
                          "typeString": "literal_string \"Past scheduling is not allowed and scheduled time should be absolute timestamp\""
                        },
                        "value": "Past scheduling is not allowed and scheduled time should be absolute timestamp"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_c2f7628afa200c06568eb2d695636ebe42b62a1e3ad4743d73914da5d733cca6",
                          "typeString": "literal_string \"Past scheduling is not allowed and scheduled time should be absolute timestamp\""
                        }
                      ],
                      "id": 19942,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "5146:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 19947,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5146:108:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 19948,
                  "nodeType": "ExpressionStatement",
                  "src": "5146:108:56"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 19960,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 19955,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "hexValue": "55524c",
                                "id": 19951,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "string",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "5290:5:56",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_stringliteral_96388ed71ebb5d970d8c40d08f33931fc80bd2768fd60f12b78e085d12441b0e",
                                  "typeString": "literal_string \"URL\""
                                },
                                "value": "URL"
                              },
                              {
                                "argumentTypes": null,
                                "id": 19952,
                                "name": "gasLimit",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 19551,
                                "src": "5297:8:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_stringliteral_96388ed71ebb5d970d8c40d08f33931fc80bd2768fd60f12b78e085d12441b0e",
                                  "typeString": "literal_string \"URL\""
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 19950,
                              "name": "oraclize_getPrice",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [
                                3866,
                                3884
                              ],
                              "referencedDeclaration": 3884,
                              "src": "5272:17:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$_t_uint256_$",
                                "typeString": "function (string memory,uint256) returns (uint256)"
                              }
                            },
                            "id": 19953,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5272:34:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "*",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 19954,
                            "name": "_iters",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19920,
                            "src": "5309:6:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "5272:43:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 19957,
                                "name": "this",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 23248,
                                "src": "5327:4:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_PolyOracle_$20267",
                                  "typeString": "contract PolyOracle"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_PolyOracle_$20267",
                                  "typeString": "contract PolyOracle"
                                }
                              ],
                              "id": 19956,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "5319:7:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_address_$",
                                "typeString": "type(address)"
                              },
                              "typeName": "address"
                            },
                            "id": 19958,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5319:13:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "id": 19959,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "balance",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "5319:21:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "5272:68:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "496e73756666696369656e742046756e6473",
                        "id": 19961,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5342:20:56",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_3f96070838a802b00711e63911cb51cdbd018900fa6d34d5ff764f6299488092",
                          "typeString": "literal_string \"Insufficient Funds\""
                        },
                        "value": "Insufficient Funds"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_3f96070838a802b00711e63911cb51cdbd018900fa6d34d5ff764f6299488092",
                          "typeString": "literal_string \"Insufficient Funds\""
                        }
                      ],
                      "id": 19949,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "5264:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 19962,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5264:99:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 19963,
                  "nodeType": "ExpressionStatement",
                  "src": "5264:99:56"
                },
                {
                  "body": {
                    "id": 20004,
                    "nodeType": "Block",
                    "src": "5410:286:56",
                    "statements": [
                      {
                        "assignments": [
                          19975
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 19975,
                            "name": "scheduledTime",
                            "nodeType": "VariableDeclaration",
                            "scope": 20020,
                            "src": "5424:21:56",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 19974,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "5424:7:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 19982,
                        "initialValue": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 19981,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 19976,
                            "name": "_startTime",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19916,
                            "src": "5448:10:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "+",
                          "rightExpression": {
                            "argumentTypes": null,
                            "components": [
                              {
                                "argumentTypes": null,
                                "commonType": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "id": 19979,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "argumentTypes": null,
                                  "id": 19977,
                                  "name": "i",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 19965,
                                  "src": "5462:1:56",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "*",
                                "rightExpression": {
                                  "argumentTypes": null,
                                  "id": 19978,
                                  "name": "_interval",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 19918,
                                  "src": "5466:9:56",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "5462:13:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "id": 19980,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "TupleExpression",
                            "src": "5461:15:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "5448:28:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "5424:52:56"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 19990,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 19983,
                            "name": "requestId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19926,
                            "src": "5490:9:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 19985,
                                "name": "scheduledTime",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 19975,
                                "src": "5517:13:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "55524c",
                                "id": 19986,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "string",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "5532:5:56",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_stringliteral_96388ed71ebb5d970d8c40d08f33931fc80bd2768fd60f12b78e085d12441b0e",
                                  "typeString": "literal_string \"URL\""
                                },
                                "value": "URL"
                              },
                              {
                                "argumentTypes": null,
                                "id": 19987,
                                "name": "oracleURL",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 19541,
                                "src": "5539:9:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_storage",
                                  "typeString": "string storage ref"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 19988,
                                "name": "gasLimit",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 19551,
                                "src": "5550:8:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_stringliteral_96388ed71ebb5d970d8c40d08f33931fc80bd2768fd60f12b78e085d12441b0e",
                                  "typeString": "literal_string \"URL\""
                                },
                                {
                                  "typeIdentifier": "t_string_storage",
                                  "typeString": "string storage ref"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 19984,
                              "name": "oraclize_query",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [
                                3924,
                                3966,
                                4012,
                                4056,
                                4099,
                                4144,
                                4193,
                                4240,
                                4287,
                                4336,
                                4389,
                                4440,
                                4477,
                                4517,
                                4560,
                                4600,
                                4645,
                                4693,
                                4744,
                                4792,
                                4845,
                                4901,
                                4960,
                                5016,
                                5077,
                                5141,
                                5208,
                                5272,
                                5341,
                                5413,
                                5488,
                                5560,
                                5607,
                                5656,
                                5709,
                                5760,
                                5797,
                                5837,
                                5880,
                                5920,
                                5965,
                                6013,
                                6064,
                                6112,
                                6165,
                                6221,
                                6280,
                                6336,
                                6397,
                                6461,
                                6528,
                                6592,
                                6661,
                                6733,
                                6808,
                                6880
                              ],
                              "referencedDeclaration": 4012,
                              "src": "5502:14:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$_t_bytes32_$",
                                "typeString": "function (uint256,string memory,string memory,uint256) returns (bytes32)"
                              }
                            },
                            "id": 19989,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5502:57:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "src": "5490:69:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "id": 19991,
                        "nodeType": "ExpressionStatement",
                        "src": "5490:69:56"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 19996,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 19992,
                              "name": "requestIds",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 19567,
                              "src": "5573:10:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                                "typeString": "mapping(bytes32 => uint256)"
                              }
                            },
                            "id": 19994,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 19993,
                              "name": "requestId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 19926,
                              "src": "5584:9:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "5573:21:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "id": 19995,
                            "name": "scheduledTime",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19975,
                            "src": "5597:13:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "5573:37:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 19997,
                        "nodeType": "ExpressionStatement",
                        "src": "5573:37:56"
                      },
                      {
                        "eventCall": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 19999,
                              "name": "scheduledTime",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 19975,
                              "src": "5649:13:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 20000,
                              "name": "requestId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 19926,
                              "src": "5664:9:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 20001,
                              "name": "oracleURL",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 19541,
                              "src": "5675:9:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_storage",
                                "typeString": "string storage ref"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_string_storage",
                                "typeString": "string storage ref"
                              }
                            ],
                            "id": 19998,
                            "name": "LogNewOraclizeQuery",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19595,
                            "src": "5629:19:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_bytes32_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (uint256,bytes32,string memory)"
                            }
                          },
                          "id": 20002,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "5629:56:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 20003,
                        "nodeType": "EmitStatement",
                        "src": "5624:61:56"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 19970,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 19968,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19965,
                      "src": "5393:1:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 19969,
                      "name": "_iters",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19920,
                      "src": "5397:6:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "5393:10:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 20005,
                  "initializationExpression": {
                    "assignments": [
                      19965
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 19965,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 20020,
                        "src": "5378:9:56",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 19964,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "5378:7:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 19967,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 19966,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "5390:1:56",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "5378:13:56"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 19972,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "5405:3:56",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 19971,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19965,
                        "src": "5405:1:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 19973,
                    "nodeType": "ExpressionStatement",
                    "src": "5405:3:56"
                  },
                  "nodeType": "ForStatement",
                  "src": "5373:323:56"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 20010,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 20006,
                      "name": "latestScheduledUpdate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19563,
                      "src": "5709:21:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 20007,
                        "name": "requestIds",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19567,
                        "src": "5733:10:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                          "typeString": "mapping(bytes32 => uint256)"
                        }
                      },
                      "id": 20009,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 20008,
                        "name": "requestId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19926,
                        "src": "5744:9:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "5733:21:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "5709:45:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 20018,
                  "nodeType": "IfStatement",
                  "src": "5705:121:56",
                  "trueBody": {
                    "id": 20017,
                    "nodeType": "Block",
                    "src": "5756:70:56",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 20015,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 20011,
                            "name": "latestScheduledUpdate",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19563,
                            "src": "5770:21:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 20012,
                              "name": "requestIds",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 19567,
                              "src": "5794:10:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                                "typeString": "mapping(bytes32 => uint256)"
                              }
                            },
                            "id": 20014,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 20013,
                              "name": "requestId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 19926,
                              "src": "5805:9:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "5794:21:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "5770:45:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 20016,
                        "nodeType": "ExpressionStatement",
                        "src": "5770:45:56"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": "@notice Allows owner to schedule future Oraclize calls on a rolling schedule\n@param _startTime UNIX timestamp for the first scheduled Oraclize query\n@param _interval how long (in seconds) between each subsequent Oraclize query\n@param _iters the number of Oraclize queries to schedule.",
            "id": 20020,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 19923,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 19922,
                  "name": "isAdminOrOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 19628,
                  "src": "4936:14:56",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "4936:14:56"
              }
            ],
            "name": "schedulePriceUpdatesRolling",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 19921,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 19916,
                  "name": "_startTime",
                  "nodeType": "VariableDeclaration",
                  "scope": 20020,
                  "src": "4873:18:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 19915,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4873:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19918,
                  "name": "_interval",
                  "nodeType": "VariableDeclaration",
                  "scope": 20020,
                  "src": "4893:17:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 19917,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4893:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19920,
                  "name": "_iters",
                  "nodeType": "VariableDeclaration",
                  "scope": 20020,
                  "src": "4912:14:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 19919,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4912:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4872:55:56"
            },
            "payable": true,
            "returnParameters": {
              "id": 19924,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4958:0:56"
            },
            "scope": 20267,
            "src": "4836:996:56",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20042,
              "nodeType": "Block",
              "src": "5997:116:56",
              "statements": [
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 20028,
                        "name": "_price",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20022,
                        "src": "6028:6:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 20029,
                        "name": "POLYUSD",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19559,
                        "src": "6036:7:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 20030,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6045:1:56",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      {
                        "argumentTypes": null,
                        "id": 20031,
                        "name": "now",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 23133,
                        "src": "6048:3:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 20027,
                      "name": "LogPriceUpdated",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19587,
                      "src": "6012:15:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint256_$returns$__$",
                        "typeString": "function (uint256,uint256,bytes32,uint256)"
                      }
                    },
                    "id": 20032,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6012:40:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 20033,
                  "nodeType": "EmitStatement",
                  "src": "6007:45:56"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 20036,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 20034,
                      "name": "POLYUSD",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19559,
                      "src": "6062:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 20035,
                      "name": "_price",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20022,
                      "src": "6072:6:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "6062:16:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 20037,
                  "nodeType": "ExpressionStatement",
                  "src": "6062:16:56"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 20040,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 20038,
                      "name": "latestUpdate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19561,
                      "src": "6088:12:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 20039,
                      "name": "now",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 23133,
                      "src": "6103:3:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "6088:18:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 20041,
                  "nodeType": "ExpressionStatement",
                  "src": "6088:18:56"
                }
              ]
            },
            "documentation": "@notice Allows owner to manually set POLYUSD price\n@param _price POLYUSD price",
            "id": 20043,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 20025,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 20024,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 22612,
                  "src": "5980:9:56",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "5980:9:56"
              }
            ],
            "name": "setPOLYUSD",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20023,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20022,
                  "name": "_price",
                  "nodeType": "VariableDeclaration",
                  "scope": 20043,
                  "src": "5964:14:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20021,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5964:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5963:16:56"
            },
            "payable": false,
            "returnParameters": {
              "id": 20026,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5997:0:56"
            },
            "scope": 20267,
            "src": "5944:169:56",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20054,
              "nodeType": "Block",
              "src": "6340:39:56",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 20052,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 20050,
                      "name": "freezeOracle",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19577,
                      "src": "6350:12:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 20051,
                      "name": "_frozen",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20045,
                      "src": "6365:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "6350:22:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 20053,
                  "nodeType": "ExpressionStatement",
                  "src": "6350:22:56"
                }
              ]
            },
            "documentation": "@notice Allows owner to set oracle to ignore all Oraclize pricce updates\n@param _frozen true to freeze updates, false to reenable updates",
            "id": 20055,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 20048,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 20047,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 22612,
                  "src": "6323:9:56",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "6323:9:56"
              }
            ],
            "name": "setFreezeOracle",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20046,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20045,
                  "name": "_frozen",
                  "nodeType": "VariableDeclaration",
                  "scope": 20055,
                  "src": "6309:12:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 20044,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "6309:4:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6308:14:56"
            },
            "payable": false,
            "returnParameters": {
              "id": 20049,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6340:0:56"
            },
            "scope": 20267,
            "src": "6284:95:56",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20066,
              "nodeType": "Block",
              "src": "6556:39:56",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 20064,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 20062,
                      "name": "oracleURL",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19541,
                      "src": "6566:9:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage",
                        "typeString": "string storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 20063,
                      "name": "_oracleURL",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20057,
                      "src": "6578:10:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "src": "6566:22:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "id": 20065,
                  "nodeType": "ExpressionStatement",
                  "src": "6566:22:56"
                }
              ]
            },
            "documentation": "@notice Allows owner to set URL used in Oraclize queries\n@param _oracleURL URL to use",
            "id": 20067,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 20060,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 20059,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 22612,
                  "src": "6539:9:56",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "6539:9:56"
              }
            ],
            "name": "setOracleURL",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20058,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20057,
                  "name": "_oracleURL",
                  "nodeType": "VariableDeclaration",
                  "scope": 20067,
                  "src": "6520:17:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 20056,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6520:6:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6519:19:56"
            },
            "payable": false,
            "returnParameters": {
              "id": 20061,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6556:0:56"
            },
            "scope": 20267,
            "src": "6498:97:56",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20078,
              "nodeType": "Block",
              "src": "6817:45:56",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 20076,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 20074,
                      "name": "sanityBounds",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19548,
                      "src": "6827:12:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 20075,
                      "name": "_sanityBounds",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20069,
                      "src": "6842:13:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "6827:28:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 20077,
                  "nodeType": "ExpressionStatement",
                  "src": "6827:28:56"
                }
              ]
            },
            "documentation": "@notice Allows owner to set new sanity bounds for price updates\n@param _sanityBounds sanity bounds as a percentage * 10**16",
            "id": 20079,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 20072,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 20071,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 22612,
                  "src": "6800:9:56",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "6800:9:56"
              }
            ],
            "name": "setSanityBounds",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20070,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20069,
                  "name": "_sanityBounds",
                  "nodeType": "VariableDeclaration",
                  "scope": 20079,
                  "src": "6777:21:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20068,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6777:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6776:23:56"
            },
            "payable": false,
            "returnParameters": {
              "id": 20073,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6817:0:56"
            },
            "scope": 20267,
            "src": "6752:110:56",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20090,
              "nodeType": "Block",
              "src": "7207:54:56",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 20087,
                        "name": "_gasPrice",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20081,
                        "src": "7244:9:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 20086,
                      "name": "oraclize_setCustomGasPrice",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6918,
                      "src": "7217:26:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 20088,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7217:37:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 20089,
                  "nodeType": "ExpressionStatement",
                  "src": "7217:37:56"
                }
              ]
            },
            "documentation": "@notice Allows owner to set new gas price for future Oraclize queries\n@notice NB - this will only impact newly scheduled Oraclize queries, not future queries which have already been scheduled\n@param _gasPrice gas price to use for Oraclize callbacks",
            "id": 20091,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 20084,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 20083,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 22612,
                  "src": "7190:9:56",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "7190:9:56"
              }
            ],
            "name": "setGasPrice",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20082,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20081,
                  "name": "_gasPrice",
                  "nodeType": "VariableDeclaration",
                  "scope": 20091,
                  "src": "7171:17:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20080,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7171:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7170:19:56"
            },
            "payable": false,
            "returnParameters": {
              "id": 20085,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7207:0:56"
            },
            "scope": 20267,
            "src": "7150:111:56",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20102,
              "nodeType": "Block",
              "src": "7487:47:56",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "components": [
                      {
                        "argumentTypes": null,
                        "id": 20098,
                        "name": "POLYUSD",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19559,
                        "src": "7505:7:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 20099,
                        "name": "latestUpdate",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19561,
                        "src": "7514:12:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "id": 20100,
                    "isConstant": false,
                    "isInlineArray": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "TupleExpression",
                    "src": "7504:23:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                      "typeString": "tuple(uint256,uint256)"
                    }
                  },
                  "functionReturnParameters": 20097,
                  "id": 20101,
                  "nodeType": "Return",
                  "src": "7497:30:56"
                }
              ]
            },
            "documentation": "@notice Returns price and corresponding update time\n@return latest POLYUSD price\n@return timestamp of latest price update",
            "id": 20103,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getPriceAndTime",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20092,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7446:2:56"
            },
            "payable": false,
            "returnParameters": {
              "id": 20097,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20094,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 20103,
                  "src": "7469:7:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20093,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7469:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20096,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 20103,
                  "src": "7478:7:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20095,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7478:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7468:18:56"
            },
            "scope": 20267,
            "src": "7422:112:56",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20114,
              "nodeType": "Block",
              "src": "7876:37:56",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 20112,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 20110,
                      "name": "gasLimit",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19551,
                      "src": "7886:8:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 20111,
                      "name": "_gasLimit",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20105,
                      "src": "7897:9:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7886:20:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 20113,
                  "nodeType": "ExpressionStatement",
                  "src": "7886:20:56"
                }
              ]
            },
            "documentation": "@notice Allows owner to set new gas limit on Oraclize queries\n@notice NB - this will only impact newly scheduled Oraclize queries, not future queries which have already been scheduled\n@param _gasLimit gas limit to use for Oraclize callbacks",
            "id": 20115,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 20108,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 20107,
                  "name": "isAdminOrOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 19628,
                  "src": "7854:14:56",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "7854:14:56"
              }
            ],
            "name": "setGasLimit",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20106,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20105,
                  "name": "_gasLimit",
                  "nodeType": "VariableDeclaration",
                  "scope": 20115,
                  "src": "7835:17:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20104,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7835:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7834:19:56"
            },
            "payable": false,
            "returnParameters": {
              "id": 20109,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7876:0:56"
            },
            "scope": 20267,
            "src": "7814:99:56",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20126,
              "nodeType": "Block",
              "src": "8145:39:56",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 20124,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 20122,
                      "name": "staleTime",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19557,
                      "src": "8155:9:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 20123,
                      "name": "_staleTime",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20117,
                      "src": "8167:10:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "8155:22:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 20125,
                  "nodeType": "ExpressionStatement",
                  "src": "8155:22:56"
                }
              ]
            },
            "documentation": "@notice Allows owner to set time after which price is considered stale\n@param _staleTime elapsed time after which price is considered stale",
            "id": 20127,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 20120,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 20119,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 22612,
                  "src": "8128:9:56",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "8128:9:56"
              }
            ],
            "name": "setStaleTime",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20118,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20117,
                  "name": "_staleTime",
                  "nodeType": "VariableDeclaration",
                  "scope": 20127,
                  "src": "8108:18:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20116,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8108:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8107:20:56"
            },
            "payable": false,
            "returnParameters": {
              "id": 20121,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "8145:0:56"
            },
            "scope": 20267,
            "src": "8086:98:56",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20170,
              "nodeType": "Block",
              "src": "8519:221:56",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 20143,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 20139,
                            "name": "_requestIds",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 20130,
                            "src": "8537:11:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                              "typeString": "bytes32[] memory"
                            }
                          },
                          "id": 20140,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "8537:18:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 20141,
                            "name": "_ignore",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 20133,
                            "src": "8559:7:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr",
                              "typeString": "bool[] memory"
                            }
                          },
                          "id": 20142,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "8559:14:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "8537:36:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "496e636f727265637420706172616d65746572206c656e67746873",
                        "id": 20144,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "8575:29:56",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_2a260843df0fd0e8e64f435829ff8e2f3b1ac1cc1841cbb86f3bd872546602ca",
                          "typeString": "literal_string \"Incorrect parameter lengths\""
                        },
                        "value": "Incorrect parameter lengths"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_2a260843df0fd0e8e64f435829ff8e2f3b1ac1cc1841cbb86f3bd872546602ca",
                          "typeString": "literal_string \"Incorrect parameter lengths\""
                        }
                      ],
                      "id": 20138,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "8529:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 20145,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8529:76:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 20146,
                  "nodeType": "ExpressionStatement",
                  "src": "8529:76:56"
                },
                {
                  "body": {
                    "id": 20168,
                    "nodeType": "Block",
                    "src": "8664:70:56",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 20166,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 20158,
                              "name": "ignoreRequestIds",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 19571,
                              "src": "8678:16:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$",
                                "typeString": "mapping(bytes32 => bool)"
                              }
                            },
                            "id": 20162,
                            "indexExpression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 20159,
                                "name": "_requestIds",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 20130,
                                "src": "8695:11:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                  "typeString": "bytes32[] memory"
                                }
                              },
                              "id": 20161,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 20160,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 20148,
                                "src": "8707:1:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "8695:14:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "8678:32:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 20163,
                              "name": "_ignore",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 20133,
                              "src": "8713:7:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr",
                                "typeString": "bool[] memory"
                              }
                            },
                            "id": 20165,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 20164,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 20148,
                              "src": "8721:1:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "8713:10:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "src": "8678:45:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 20167,
                        "nodeType": "ExpressionStatement",
                        "src": "8678:45:56"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 20154,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 20151,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20148,
                      "src": "8635:1:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 20152,
                        "name": "_requestIds",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20130,
                        "src": "8639:11:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                          "typeString": "bytes32[] memory"
                        }
                      },
                      "id": 20153,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "8639:18:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "8635:22:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 20169,
                  "initializationExpression": {
                    "assignments": [
                      20148
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 20148,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 20171,
                        "src": "8620:9:56",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 20147,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "8620:7:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 20150,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 20149,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "8632:1:56",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "8620:13:56"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 20156,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "8659:3:56",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 20155,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20148,
                        "src": "8659:1:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 20157,
                    "nodeType": "ExpressionStatement",
                    "src": "8659:3:56"
                  },
                  "nodeType": "ForStatement",
                  "src": "8615:119:56"
                }
              ]
            },
            "documentation": "@notice Allows owner to ignore specific requestId results from Oraclize\n@param _requestIds Oraclize queryIds (as logged out when Oraclize query is scheduled)\n@param _ignore whether or not they should be ignored",
            "id": 20171,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 20136,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 20135,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 22612,
                  "src": "8502:9:56",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "8502:9:56"
              }
            ],
            "name": "setIgnoreRequestIds",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20134,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20130,
                  "name": "_requestIds",
                  "nodeType": "VariableDeclaration",
                  "scope": 20171,
                  "src": "8463:21:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                    "typeString": "bytes32[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 20128,
                      "name": "bytes32",
                      "nodeType": "ElementaryTypeName",
                      "src": "8463:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "id": 20129,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "8463:9:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                      "typeString": "bytes32[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20133,
                  "name": "_ignore",
                  "nodeType": "VariableDeclaration",
                  "scope": 20171,
                  "src": "8486:14:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr",
                    "typeString": "bool[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 20131,
                      "name": "bool",
                      "nodeType": "ElementaryTypeName",
                      "src": "8486:4:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "id": 20132,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "8486:6:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr",
                      "typeString": "bool[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8462:39:56"
            },
            "payable": false,
            "returnParameters": {
              "id": 20137,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "8519:0:56"
            },
            "scope": 20267,
            "src": "8434:306:56",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20192,
              "nodeType": "Block",
              "src": "9017:86:56",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 20184,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 20180,
                        "name": "admin",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19575,
                        "src": "9027:5:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                          "typeString": "mapping(address => bool)"
                        }
                      },
                      "id": 20182,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 20181,
                        "name": "_admin",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20173,
                        "src": "9033:6:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "9027:13:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 20183,
                      "name": "_valid",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20175,
                      "src": "9043:6:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "9027:22:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 20185,
                  "nodeType": "ExpressionStatement",
                  "src": "9027:22:56"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 20187,
                        "name": "_admin",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20173,
                        "src": "9076:6:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 20188,
                        "name": "_valid",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20175,
                        "src": "9084:6:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 20189,
                        "name": "now",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 23133,
                        "src": "9092:3:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 20186,
                      "name": "LogAdminSet",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19603,
                      "src": "9064:11:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bool_$_t_uint256_$returns$__$",
                        "typeString": "function (address,bool,uint256)"
                      }
                    },
                    "id": 20190,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9064:32:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 20191,
                  "nodeType": "EmitStatement",
                  "src": "9059:37:56"
                }
              ]
            },
            "documentation": "@notice Allows owner to set up admin addresses that can schedule updates\n@param _admin Admin address\n@param _valid Whether address should be added or removed from admin list",
            "id": 20193,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 20178,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 20177,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 22612,
                  "src": "9000:9:56",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "9000:9:56"
              }
            ],
            "name": "setAdmin",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20176,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20173,
                  "name": "_admin",
                  "nodeType": "VariableDeclaration",
                  "scope": 20193,
                  "src": "8971:14:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 20172,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "8971:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20175,
                  "name": "_valid",
                  "nodeType": "VariableDeclaration",
                  "scope": 20193,
                  "src": "8987:11:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 20174,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "8987:4:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8970:29:56"
            },
            "payable": false,
            "returnParameters": {
              "id": 20179,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "9017:0:56"
            },
            "scope": 20267,
            "src": "8953:150:56",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20204,
              "nodeType": "Block",
              "src": "9378:63:56",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 20202,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 20200,
                      "name": "oraclizeTimeTolerance",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19554,
                      "src": "9388:21:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 20201,
                      "name": "_oraclizeTimeTolerance",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20195,
                      "src": "9412:22:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "9388:46:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 20203,
                  "nodeType": "ExpressionStatement",
                  "src": "9388:46:56"
                }
              ]
            },
            "documentation": "@notice Allows owner to set new time tolerance on Oraclize queries\n@param _oraclizeTimeTolerance amount of time in seconds that an Oraclize query can be early",
            "id": 20205,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 20198,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 20197,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 22612,
                  "src": "9361:9:56",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "9361:9:56"
              }
            ],
            "name": "setOraclizeTimeTolerance",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20196,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20195,
                  "name": "_oraclizeTimeTolerance",
                  "nodeType": "VariableDeclaration",
                  "scope": 20205,
                  "src": "9329:30:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20194,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "9329:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "9328:32:56"
            },
            "payable": false,
            "returnParameters": {
              "id": 20199,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "9378:0:56"
            },
            "scope": 20267,
            "src": "9295:146:56",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20212,
              "nodeType": "Block",
              "src": "9586:66:56",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "hexValue": "307839393932654333634636413535623030393738636444463262323742433638383264383844316543",
                    "id": 20210,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "9603:42:56",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "value": "0x9992eC3cF6A55b00978cdDF2b27BC6882d88D1eC"
                  },
                  "functionReturnParameters": 20209,
                  "id": 20211,
                  "nodeType": "Return",
                  "src": "9596:49:56"
                }
              ]
            },
            "documentation": "@notice Returns address of oracle currency (0x0 for ETH)",
            "id": 20213,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getCurrencyAddress",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20206,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "9552:2:56"
            },
            "payable": false,
            "returnParameters": {
              "id": 20209,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20208,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 20213,
                  "src": "9577:7:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 20207,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "9577:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "9576:9:56"
            },
            "scope": 20267,
            "src": "9525:127:56",
            "stateMutability": "view",
            "superFunction": 9984,
            "visibility": "external"
          },
          {
            "body": {
              "id": 20222,
              "nodeType": "Block",
              "src": "9795:39:56",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "hexValue": "504f4c59",
                        "id": 20219,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "9820:6:56",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_42e9b9ff2964f66d264e07a2cd4c5234a8c8c5adbfc54101bd50b0744fcd261f",
                          "typeString": "literal_string \"POLY\""
                        },
                        "value": "POLY"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_stringliteral_42e9b9ff2964f66d264e07a2cd4c5234a8c8c5adbfc54101bd50b0744fcd261f",
                          "typeString": "literal_string \"POLY\""
                        }
                      ],
                      "id": 20218,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "9812:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_bytes32_$",
                        "typeString": "type(bytes32)"
                      },
                      "typeName": "bytes32"
                    },
                    "id": 20220,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9812:15:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 20217,
                  "id": 20221,
                  "nodeType": "Return",
                  "src": "9805:22:56"
                }
              ]
            },
            "documentation": "@notice Returns symbol of oracle currency (0x0 for ETH)",
            "id": 20223,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getCurrencySymbol",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20214,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "9761:2:56"
            },
            "payable": false,
            "returnParameters": {
              "id": 20217,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20216,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 20223,
                  "src": "9786:7:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 20215,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "9786:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "9785:9:56"
            },
            "scope": 20267,
            "src": "9735:99:56",
            "stateMutability": "view",
            "superFunction": 9989,
            "visibility": "external"
          },
          {
            "body": {
              "id": 20232,
              "nodeType": "Block",
              "src": "9964:38:56",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "hexValue": "555344",
                        "id": 20229,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "9989:5:56",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_c4ae21aac0c6549d71dd96035b7e0bdb6c79ebdba8891b666115bc976d16a29e",
                          "typeString": "literal_string \"USD\""
                        },
                        "value": "USD"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_stringliteral_c4ae21aac0c6549d71dd96035b7e0bdb6c79ebdba8891b666115bc976d16a29e",
                          "typeString": "literal_string \"USD\""
                        }
                      ],
                      "id": 20228,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "9981:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_bytes32_$",
                        "typeString": "type(bytes32)"
                      },
                      "typeName": "bytes32"
                    },
                    "id": 20230,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9981:14:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 20227,
                  "id": 20231,
                  "nodeType": "Return",
                  "src": "9974:21:56"
                }
              ]
            },
            "documentation": "@notice Returns denomination of price",
            "id": 20233,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getCurrencyDenominated",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20224,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "9930:2:56"
            },
            "payable": false,
            "returnParameters": {
              "id": 20227,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20226,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 20233,
                  "src": "9955:7:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 20225,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "9955:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "9954:9:56"
            },
            "scope": 20267,
            "src": "9899:103:56",
            "stateMutability": "view",
            "superFunction": 9994,
            "visibility": "external"
          },
          {
            "body": {
              "id": 20248,
              "nodeType": "Block",
              "src": "10130:81:56",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 20243,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 20239,
                          "name": "latestUpdate",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 19561,
                          "src": "10148:12:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 20242,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 20240,
                            "name": "now",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 23133,
                            "src": "10164:3:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "-",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 20241,
                            "name": "staleTime",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19557,
                            "src": "10170:9:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "10164:15:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "10148:31:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 20238,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23134,
                      "src": "10140:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 20244,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10140:40:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 20245,
                  "nodeType": "ExpressionStatement",
                  "src": "10140:40:56"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 20246,
                    "name": "POLYUSD",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 19559,
                    "src": "10197:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 20237,
                  "id": 20247,
                  "nodeType": "Return",
                  "src": "10190:14:56"
                }
              ]
            },
            "documentation": "@notice Returns price - should throw if not valid",
            "id": 20249,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getPrice",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20234,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "10096:2:56"
            },
            "payable": false,
            "returnParameters": {
              "id": 20237,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20236,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 20249,
                  "src": "10121:7:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20235,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "10121:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "10120:9:56"
            },
            "scope": 20267,
            "src": "10079:132:56",
            "stateMutability": "view",
            "superFunction": 9999,
            "visibility": "external"
          },
          {
            "body": {
              "id": 20265,
              "nodeType": "Block",
              "src": "10315:59:56",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 20260,
                              "name": "this",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 23248,
                              "src": "10353:4:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_PolyOracle_$20267",
                                "typeString": "contract PolyOracle"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_contract$_PolyOracle_$20267",
                                "typeString": "contract PolyOracle"
                              }
                            ],
                            "id": 20259,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "10345:7:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": "address"
                          },
                          "id": 20261,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "10345:13:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 20262,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "balance",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "10345:21:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 20254,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 23131,
                          "src": "10325:3:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 20257,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "10325:10:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "id": 20258,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "transfer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "10325:19:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 20263,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10325:42:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 20264,
                  "nodeType": "ExpressionStatement",
                  "src": "10325:42:56"
                }
              ]
            },
            "documentation": "@notice Returns balance to owner",
            "id": 20266,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 20252,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 20251,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 22612,
                  "src": "10305:9:56",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "10305:9:56"
              }
            ],
            "name": "drainContract",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20250,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "10293:2:56"
            },
            "payable": false,
            "returnParameters": {
              "id": 20253,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "10315:0:56"
            },
            "scope": 20267,
            "src": "10271:103:56",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          }
        ],
        "scope": 20268,
        "src": "225:10152:56"
      }
    ],
    "src": "0:10378:56"
  },
  "legacyAST": {
    "absolutePath": "/Users/satyamagrawal/Repositories/testing-package/polymath-core/contracts/oracles/PolyOracle.sol",
    "exportedSymbols": {
      "PolyOracle": [
        20267
      ]
    },
    "id": 20268,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 19525,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:56"
      },
      {
        "absolutePath": "/Users/satyamagrawal/Repositories/testing-package/polymath-core/contracts/external/oraclizeAPI.sol",
        "file": "../external/oraclizeAPI.sol",
        "id": 19526,
        "nodeType": "ImportDirective",
        "scope": 20268,
        "sourceUnit": 8920,
        "src": "26:37:56",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "openzeppelin-solidity/contracts/ownership/Ownable.sol",
        "file": "openzeppelin-solidity/contracts/ownership/Ownable.sol",
        "id": 19527,
        "nodeType": "ImportDirective",
        "scope": 20268,
        "sourceUnit": 22665,
        "src": "64:63:56",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "openzeppelin-solidity/contracts/math/SafeMath.sol",
        "file": "openzeppelin-solidity/contracts/math/SafeMath.sol",
        "id": 19528,
        "nodeType": "ImportDirective",
        "scope": 20268,
        "sourceUnit": 22579,
        "src": "128:59:56",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/Users/satyamagrawal/Repositories/testing-package/polymath-core/contracts/interfaces/IOracle.sol",
        "file": "../interfaces/IOracle.sol",
        "id": 19529,
        "nodeType": "ImportDirective",
        "scope": 20268,
        "sourceUnit": 10001,
        "src": "188:35:56",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 19530,
              "name": "usingOraclize",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 8919,
              "src": "248:13:56",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_usingOraclize_$8919",
                "typeString": "contract usingOraclize"
              }
            },
            "id": 19531,
            "nodeType": "InheritanceSpecifier",
            "src": "248:13:56"
          },
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 19532,
              "name": "IOracle",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 10000,
              "src": "263:7:56",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IOracle_$10000",
                "typeString": "contract IOracle"
              }
            },
            "id": 19533,
            "nodeType": "InheritanceSpecifier",
            "src": "263:7:56"
          },
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 19534,
              "name": "Ownable",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 22664,
              "src": "272:7:56",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Ownable_$22664",
                "typeString": "contract Ownable"
              }
            },
            "id": 19535,
            "nodeType": "InheritanceSpecifier",
            "src": "272:7:56"
          }
        ],
        "contractDependencies": [
          8919,
          10000,
          22664
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 20267,
        "linearizedBaseContracts": [
          20267,
          22664,
          10000,
          8919
        ],
        "name": "PolyOracle",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "id": 19538,
            "libraryName": {
              "contractScope": null,
              "id": 19536,
              "name": "SafeMath",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 22578,
              "src": "292:8:56",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_SafeMath_$22578",
                "typeString": "library SafeMath"
              }
            },
            "nodeType": "UsingForDirective",
            "src": "286:27:56",
            "typeName": {
              "id": 19537,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "305:7:56",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            }
          },
          {
            "constant": false,
            "id": 19541,
            "name": "oracleURL",
            "nodeType": "VariableDeclaration",
            "scope": 20267,
            "src": "319:113:56",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_storage",
              "typeString": "string"
            },
            "typeName": {
              "id": 19539,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "319:6:56",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "6a736f6e2868747470733a2f2f6170692e636f696e6d61726b65746361702e636f6d2f76322f7469636b65722f323439362f3f636f6e766572743d555344292e646174612e71756f7465732e5553442e7072696365",
              "id": 19540,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "345:87:56",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_10d595959145130ffc84eb9493ffeee4caf2a9f315822e5fca2a2e145a0d757d",
                "typeString": "literal_string \"json(https://api.coinmarketcap.com/v2/ticker/2496/?convert=USD).data.quotes.USD.price\""
              },
              "value": "json(https://api.coinmarketcap.com/v2/ticker/2496/?convert=USD).data.quotes.USD.price"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 19548,
            "name": "sanityBounds",
            "nodeType": "VariableDeclaration",
            "scope": 20267,
            "src": "438:39:56",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 19542,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "438:7:56",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "commonType": {
                "typeIdentifier": "t_rational_200000000000000000_by_1",
                "typeString": "int_const 200000000000000000"
              },
              "id": 19547,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "lValueRequested": false,
              "leftExpression": {
                "argumentTypes": null,
                "hexValue": "3230",
                "id": 19543,
                "isConstant": false,
                "isLValue": false,
                "isPure": true,
                "kind": "number",
                "lValueRequested": false,
                "nodeType": "Literal",
                "src": "468:2:56",
                "subdenomination": null,
                "typeDescriptions": {
                  "typeIdentifier": "t_rational_20_by_1",
                  "typeString": "int_const 20"
                },
                "value": "20"
              },
              "nodeType": "BinaryOperation",
              "operator": "*",
              "rightExpression": {
                "argumentTypes": null,
                "commonType": {
                  "typeIdentifier": "t_rational_10000000000000000_by_1",
                  "typeString": "int_const 10000000000000000"
                },
                "id": 19546,
                "isConstant": false,
                "isLValue": false,
                "isPure": true,
                "lValueRequested": false,
                "leftExpression": {
                  "argumentTypes": null,
                  "hexValue": "3130",
                  "id": 19544,
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "kind": "number",
                  "lValueRequested": false,
                  "nodeType": "Literal",
                  "src": "471:2:56",
                  "subdenomination": null,
                  "typeDescriptions": {
                    "typeIdentifier": "t_rational_10_by_1",
                    "typeString": "int_const 10"
                  },
                  "value": "10"
                },
                "nodeType": "BinaryOperation",
                "operator": "**",
                "rightExpression": {
                  "argumentTypes": null,
                  "hexValue": "3136",
                  "id": 19545,
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "kind": "number",
                  "lValueRequested": false,
                  "nodeType": "Literal",
                  "src": "475:2:56",
                  "subdenomination": null,
                  "typeDescriptions": {
                    "typeIdentifier": "t_rational_16_by_1",
                    "typeString": "int_const 16"
                  },
                  "value": "16"
                },
                "src": "471:6:56",
                "typeDescriptions": {
                  "typeIdentifier": "t_rational_10000000000000000_by_1",
                  "typeString": "int_const 10000000000000000"
                }
              },
              "src": "468:9:56",
              "typeDescriptions": {
                "typeIdentifier": "t_rational_200000000000000000_by_1",
                "typeString": "int_const 200000000000000000"
              }
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 19551,
            "name": "gasLimit",
            "nodeType": "VariableDeclaration",
            "scope": 20267,
            "src": "483:32:56",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 19549,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "483:7:56",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "313030303030",
              "id": 19550,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "509:6:56",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_100000_by_1",
                "typeString": "int_const 100000"
              },
              "value": "100000"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 19554,
            "name": "oraclizeTimeTolerance",
            "nodeType": "VariableDeclaration",
            "scope": 20267,
            "src": "521:48:56",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 19552,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "521:7:56",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "35",
              "id": 19553,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "560:9:56",
              "subdenomination": "minutes",
              "typeDescriptions": {
                "typeIdentifier": "t_rational_300_by_1",
                "typeString": "int_const 300"
              },
              "value": "5"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 19557,
            "name": "staleTime",
            "nodeType": "VariableDeclaration",
            "scope": 20267,
            "src": "575:34:56",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 19555,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "575:7:56",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "36",
              "id": 19556,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "602:7:56",
              "subdenomination": "hours",
              "typeDescriptions": {
                "typeIdentifier": "t_rational_21600_by_1",
                "typeString": "int_const 21600"
              },
              "value": "6"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 19559,
            "name": "POLYUSD",
            "nodeType": "VariableDeclaration",
            "scope": 20267,
            "src": "616:23:56",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 19558,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "616:7:56",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 19561,
            "name": "latestUpdate",
            "nodeType": "VariableDeclaration",
            "scope": 20267,
            "src": "645:27:56",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 19560,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "645:7:56",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 19563,
            "name": "latestScheduledUpdate",
            "nodeType": "VariableDeclaration",
            "scope": 20267,
            "src": "678:36:56",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 19562,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "678:7:56",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 19567,
            "name": "requestIds",
            "nodeType": "VariableDeclaration",
            "scope": 20267,
            "src": "721:46:56",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
              "typeString": "mapping(bytes32 => uint256)"
            },
            "typeName": {
              "id": 19566,
              "keyType": {
                "id": 19564,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "730:7:56",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "721:28:56",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                "typeString": "mapping(bytes32 => uint256)"
              },
              "valueType": {
                "id": 19565,
                "name": "uint256",
                "nodeType": "ElementaryTypeName",
                "src": "741:7:56",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 19571,
            "name": "ignoreRequestIds",
            "nodeType": "VariableDeclaration",
            "scope": 20267,
            "src": "773:49:56",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$",
              "typeString": "mapping(bytes32 => bool)"
            },
            "typeName": {
              "id": 19570,
              "keyType": {
                "id": 19568,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "782:7:56",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "773:25:56",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$",
                "typeString": "mapping(bytes32 => bool)"
              },
              "valueType": {
                "id": 19569,
                "name": "bool",
                "nodeType": "ElementaryTypeName",
                "src": "793:4:56",
                "typeDescriptions": {
                  "typeIdentifier": "t_bool",
                  "typeString": "bool"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 19575,
            "name": "admin",
            "nodeType": "VariableDeclaration",
            "scope": 20267,
            "src": "829:38:56",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
              "typeString": "mapping(address => bool)"
            },
            "typeName": {
              "id": 19574,
              "keyType": {
                "id": 19572,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "838:7:56",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "829:25:56",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                "typeString": "mapping(address => bool)"
              },
              "valueType": {
                "id": 19573,
                "name": "bool",
                "nodeType": "ElementaryTypeName",
                "src": "849:4:56",
                "typeDescriptions": {
                  "typeIdentifier": "t_bool",
                  "typeString": "bool"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 19577,
            "name": "freezeOracle",
            "nodeType": "VariableDeclaration",
            "scope": 20267,
            "src": "874:24:56",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bool",
              "typeString": "bool"
            },
            "typeName": {
              "id": 19576,
              "name": "bool",
              "nodeType": "ElementaryTypeName",
              "src": "874:4:56",
              "typeDescriptions": {
                "typeIdentifier": "t_bool",
                "typeString": "bool"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 19587,
            "name": "LogPriceUpdated",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 19586,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 19579,
                  "indexed": false,
                  "name": "_price",
                  "nodeType": "VariableDeclaration",
                  "scope": 19587,
                  "src": "927:14:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 19578,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "927:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19581,
                  "indexed": false,
                  "name": "_oldPrice",
                  "nodeType": "VariableDeclaration",
                  "scope": 19587,
                  "src": "943:17:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 19580,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "943:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19583,
                  "indexed": false,
                  "name": "_queryId",
                  "nodeType": "VariableDeclaration",
                  "scope": 19587,
                  "src": "962:16:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 19582,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "962:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19585,
                  "indexed": false,
                  "name": "_time",
                  "nodeType": "VariableDeclaration",
                  "scope": 19587,
                  "src": "980:13:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 19584,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "980:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "926:68:56"
            },
            "src": "905:90:56"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 19595,
            "name": "LogNewOraclizeQuery",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 19594,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 19589,
                  "indexed": false,
                  "name": "_time",
                  "nodeType": "VariableDeclaration",
                  "scope": 19595,
                  "src": "1026:13:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 19588,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1026:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19591,
                  "indexed": false,
                  "name": "_queryId",
                  "nodeType": "VariableDeclaration",
                  "scope": 19595,
                  "src": "1041:16:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 19590,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1041:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19593,
                  "indexed": false,
                  "name": "_query",
                  "nodeType": "VariableDeclaration",
                  "scope": 19595,
                  "src": "1059:13:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 19592,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1059:6:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1025:48:56"
            },
            "src": "1000:74:56"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 19603,
            "name": "LogAdminSet",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 19602,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 19597,
                  "indexed": false,
                  "name": "_admin",
                  "nodeType": "VariableDeclaration",
                  "scope": 19603,
                  "src": "1097:14:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 19596,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1097:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19599,
                  "indexed": false,
                  "name": "_valid",
                  "nodeType": "VariableDeclaration",
                  "scope": 19603,
                  "src": "1113:11:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 19598,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1113:4:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19601,
                  "indexed": false,
                  "name": "_time",
                  "nodeType": "VariableDeclaration",
                  "scope": 19603,
                  "src": "1126:13:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 19600,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1126:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1096:44:56"
            },
            "src": "1079:62:56"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 19611,
            "name": "LogStalePriceUpdate",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 19610,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 19605,
                  "indexed": false,
                  "name": "_queryId",
                  "nodeType": "VariableDeclaration",
                  "scope": 19611,
                  "src": "1172:16:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 19604,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1172:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19607,
                  "indexed": false,
                  "name": "_time",
                  "nodeType": "VariableDeclaration",
                  "scope": 19611,
                  "src": "1190:13:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 19606,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1190:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19609,
                  "indexed": false,
                  "name": "_result",
                  "nodeType": "VariableDeclaration",
                  "scope": 19611,
                  "src": "1205:14:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 19608,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1205:6:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1171:49:56"
            },
            "src": "1146:75:56"
          },
          {
            "body": {
              "id": 19627,
              "nodeType": "Block",
              "src": "1251:110:56",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 19622,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 19614,
                            "name": "admin",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19575,
                            "src": "1269:5:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                              "typeString": "mapping(address => bool)"
                            }
                          },
                          "id": 19617,
                          "indexExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 19615,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 23131,
                              "src": "1275:3:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 19616,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "1275:10:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "1269:17:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 19621,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 19618,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 23131,
                              "src": "1290:3:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 19619,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "1290:10:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 19620,
                            "name": "owner",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 22582,
                            "src": "1304:5:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "1290:19:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "1269:40:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "41646472657373206973206e6f742061646d696e206f72206f776e6572",
                        "id": 19623,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1311:31:56",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_208ffc3afcc23eb0c6e11e1b5de5409e3dd5822c8e1de1b8e3d6469956877e74",
                          "typeString": "literal_string \"Address is not admin or owner\""
                        },
                        "value": "Address is not admin or owner"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_208ffc3afcc23eb0c6e11e1b5de5409e3dd5822c8e1de1b8e3d6469956877e74",
                          "typeString": "literal_string \"Address is not admin or owner\""
                        }
                      ],
                      "id": 19613,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "1261:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 19624,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1261:82:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 19625,
                  "nodeType": "ExpressionStatement",
                  "src": "1261:82:56"
                },
                {
                  "id": 19626,
                  "nodeType": "PlaceholderStatement",
                  "src": "1353:1:56"
                }
              ]
            },
            "documentation": null,
            "id": 19628,
            "name": "isAdminOrOwner",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 19612,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1251:0:56"
            },
            "src": "1227:134:56",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 19639,
              "nodeType": "Block",
              "src": "1507:84:56",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_rational_50000000000_by_1",
                          "typeString": "int_const 50000000000"
                        },
                        "id": 19636,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "hexValue": "3530",
                          "id": 19632,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "1575:2:56",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_50_by_1",
                            "typeString": "int_const 50"
                          },
                          "value": "50"
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "*",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_rational_1000000000_by_1",
                            "typeString": "int_const 1000000000"
                          },
                          "id": 19635,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "hexValue": "3130",
                            "id": 19633,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "1578:2:56",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_10_by_1",
                              "typeString": "int_const 10"
                            },
                            "value": "10"
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "**",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "39",
                            "id": 19634,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "1582:1:56",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_9_by_1",
                              "typeString": "int_const 9"
                            },
                            "value": "9"
                          },
                          "src": "1578:5:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1000000000_by_1",
                            "typeString": "int_const 1000000000"
                          }
                        },
                        "src": "1575:8:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_50000000000_by_1",
                          "typeString": "int_const 50000000000"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_rational_50000000000_by_1",
                          "typeString": "int_const 50000000000"
                        }
                      ],
                      "id": 19631,
                      "name": "oraclize_setCustomGasPrice",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6918,
                      "src": "1548:26:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 19637,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1548:36:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 19638,
                  "nodeType": "ExpressionStatement",
                  "src": "1548:36:56"
                }
              ]
            },
            "documentation": "@notice Constructor - accepts ETH to initialise a balance for subsequent Oraclize queries",
            "id": 19640,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 19629,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1489:2:56"
            },
            "payable": true,
            "returnParameters": {
              "id": 19630,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1507:0:56"
            },
            "scope": 20267,
            "src": "1478:113:56",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 19767,
              "nodeType": "Block",
              "src": "1854:1097:56",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 19652,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 19648,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 23131,
                            "src": "1872:3:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 19649,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "1872:10:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 19650,
                            "name": "oraclize_cbAddress",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 6892,
                            "src": "1886:18:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_address_$",
                              "typeString": "function () returns (address)"
                            }
                          },
                          "id": 19651,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1886:20:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "1872:34:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4f6e6c79204f7261636c697a652063616e206163636573732074686973206d6574686f64",
                        "id": 19653,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1908:38:56",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_49615ce639aee8f98a56c3f19b32b7c89c02c3ad7e925b1caad57becf074ebdd",
                          "typeString": "literal_string \"Only Oraclize can access this method\""
                        },
                        "value": "Only Oraclize can access this method"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_49615ce639aee8f98a56c3f19b32b7c89c02c3ad7e925b1caad57becf074ebdd",
                          "typeString": "literal_string \"Only Oraclize can access this method\""
                        }
                      ],
                      "id": 19647,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "1864:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 19654,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1864:83:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 19655,
                  "nodeType": "ExpressionStatement",
                  "src": "1864:83:56"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 19658,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "UnaryOperation",
                        "operator": "!",
                        "prefix": true,
                        "src": "1965:13:56",
                        "subExpression": {
                          "argumentTypes": null,
                          "id": 19657,
                          "name": "freezeOracle",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 19577,
                          "src": "1966:12:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4f7261636c652069732066726f7a656e",
                        "id": 19659,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1980:18:56",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_08b8ca535c31767b25dba8362804145800f142a2101c3086cb19db500b19d88e",
                          "typeString": "literal_string \"Oracle is frozen\""
                        },
                        "value": "Oracle is frozen"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_08b8ca535c31767b25dba8362804145800f142a2101c3086cb19db500b19d88e",
                          "typeString": "literal_string \"Oracle is frozen\""
                        }
                      ],
                      "id": 19656,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "1957:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 19660,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1957:42:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 19661,
                  "nodeType": "ExpressionStatement",
                  "src": "1957:42:56"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 19666,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "UnaryOperation",
                        "operator": "!",
                        "prefix": true,
                        "src": "2017:29:56",
                        "subExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 19663,
                            "name": "ignoreRequestIds",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19571,
                            "src": "2018:16:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$",
                              "typeString": "mapping(bytes32 => bool)"
                            }
                          },
                          "id": 19665,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 19664,
                            "name": "_requestId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19642,
                            "src": "2035:10:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "2018:28:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "49676e6f72696e6720726571756573744964",
                        "id": 19667,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2048:20:56",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_409f79395a50be1d69bfcc0c8da1d1f801e4e77da454435d3597de41512d47b5",
                          "typeString": "literal_string \"Ignoring requestId\""
                        },
                        "value": "Ignoring requestId"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_409f79395a50be1d69bfcc0c8da1d1f801e4e77da454435d3597de41512d47b5",
                          "typeString": "literal_string \"Ignoring requestId\""
                        }
                      ],
                      "id": 19662,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "2009:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 19668,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2009:60:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 19669,
                  "nodeType": "ExpressionStatement",
                  "src": "2009:60:56"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 19674,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 19670,
                        "name": "requestIds",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19567,
                        "src": "2083:10:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                          "typeString": "mapping(bytes32 => uint256)"
                        }
                      },
                      "id": 19672,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 19671,
                        "name": "_requestId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19642,
                        "src": "2094:10:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "2083:22:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 19673,
                      "name": "latestUpdate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19561,
                      "src": "2108:12:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2083:37:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 19685,
                  "nodeType": "IfStatement",
                  "src": "2079:235:56",
                  "trueBody": {
                    "id": 19684,
                    "nodeType": "Block",
                    "src": "2122:192:56",
                    "statements": [
                      {
                        "eventCall": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 19676,
                              "name": "_requestId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 19642,
                              "src": "2239:10:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 19677,
                                "name": "requestIds",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 19567,
                                "src": "2251:10:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                                  "typeString": "mapping(bytes32 => uint256)"
                                }
                              },
                              "id": 19679,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 19678,
                                "name": "_requestId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 19642,
                                "src": "2262:10:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "2251:22:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 19680,
                              "name": "_result",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 19644,
                              "src": "2275:7:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            ],
                            "id": 19675,
                            "name": "LogStalePriceUpdate",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19611,
                            "src": "2219:19:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bytes32,uint256,string memory)"
                            }
                          },
                          "id": 19681,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2219:64:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 19682,
                        "nodeType": "EmitStatement",
                        "src": "2214:69:56"
                      },
                      {
                        "expression": null,
                        "functionReturnParameters": 19646,
                        "id": 19683,
                        "nodeType": "Return",
                        "src": "2297:7:56"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 19691,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 19687,
                            "name": "requestIds",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19567,
                            "src": "2331:10:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                              "typeString": "mapping(bytes32 => uint256)"
                            }
                          },
                          "id": 19689,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 19688,
                            "name": "_requestId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19642,
                            "src": "2342:10:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "2331:22:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 19690,
                          "name": "latestUpdate",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 19561,
                          "src": "2357:12:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "2331:38:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "526573756c74206973207374616c65",
                        "id": 19692,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2371:17:56",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_a659d71297e2942a30e21e9af6bfd30a7f09cd62002071bcd9f89c25ff0192f9",
                          "typeString": "literal_string \"Result is stale\""
                        },
                        "value": "Result is stale"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_a659d71297e2942a30e21e9af6bfd30a7f09cd62002071bcd9f89c25ff0192f9",
                          "typeString": "literal_string \"Result is stale\""
                        }
                      ],
                      "id": 19686,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "2323:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 19693,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2323:66:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 19694,
                  "nodeType": "ExpressionStatement",
                  "src": "2323:66:56"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 19702,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 19696,
                            "name": "requestIds",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19567,
                            "src": "2407:10:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                              "typeString": "mapping(bytes32 => uint256)"
                            }
                          },
                          "id": 19698,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 19697,
                            "name": "_requestId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19642,
                            "src": "2418:10:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "2407:22:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 19701,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 19699,
                            "name": "now",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 23133,
                            "src": "2433:3:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "+",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 19700,
                            "name": "oraclizeTimeTolerance",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19554,
                            "src": "2439:21:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "2433:27:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "2407:53:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "526573756c74206973206561726c79",
                        "id": 19703,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2462:17:56",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_89c48399fb15bc0e2fb9d2b0232439da0ceed28a00622960ba612013cb621833",
                          "typeString": "literal_string \"Result is early\""
                        },
                        "value": "Result is early"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_89c48399fb15bc0e2fb9d2b0232439da0ceed28a00622960ba612013cb621833",
                          "typeString": "literal_string \"Result is early\""
                        }
                      ],
                      "id": 19695,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "2399:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 19704,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2399:81:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 19705,
                  "nodeType": "ExpressionStatement",
                  "src": "2399:81:56"
                },
                {
                  "assignments": [
                    19707
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 19707,
                      "name": "newPOLYUSD",
                      "nodeType": "VariableDeclaration",
                      "scope": 19768,
                      "src": "2490:18:56",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 19706,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "2490:7:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 19712,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 19709,
                        "name": "_result",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19644,
                        "src": "2520:7:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "3138",
                        "id": 19710,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2529:2:56",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_18_by_1",
                          "typeString": "int_const 18"
                        },
                        "value": "18"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_rational_18_by_1",
                          "typeString": "int_const 18"
                        }
                      ],
                      "id": 19708,
                      "name": "parseInt",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        7570,
                        7669
                      ],
                      "referencedDeclaration": 7669,
                      "src": "2511:8:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (string memory,uint256) pure returns (uint256)"
                      }
                    },
                    "id": 19711,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2511:21:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2490:42:56"
                },
                {
                  "assignments": [
                    19714
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 19714,
                      "name": "bound",
                      "nodeType": "VariableDeclaration",
                      "scope": 19768,
                      "src": "2542:13:56",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 19713,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "2542:7:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 19724,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_rational_1000000000000000000_by_1",
                          "typeString": "int_const 1000000000000000000"
                        },
                        "id": 19722,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "hexValue": "3130",
                          "id": 19720,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2588:2:56",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_10_by_1",
                            "typeString": "int_const 10"
                          },
                          "value": "10"
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "**",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "3138",
                          "id": 19721,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2592:2:56",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_18_by_1",
                            "typeString": "int_const 18"
                          },
                          "value": "18"
                        },
                        "src": "2588:6:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1000000000000000000_by_1",
                          "typeString": "int_const 1000000000000000000"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_rational_1000000000000000000_by_1",
                          "typeString": "int_const 1000000000000000000"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 19717,
                            "name": "sanityBounds",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19548,
                            "src": "2570:12:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 19715,
                            "name": "POLYUSD",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19559,
                            "src": "2558:7:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 19716,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "mul",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 22519,
                          "src": "2558:11:56",
                          "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": 19718,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2558:25:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "id": 19719,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "div",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 22533,
                      "src": "2558:29:56",
                      "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": 19723,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2558:37:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2542:53:56"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 19727,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 19725,
                      "name": "latestUpdate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19561,
                      "src": "2609:12:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "!=",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 19726,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "2625:1:56",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "2609:17:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 19749,
                  "nodeType": "IfStatement",
                  "src": "2605:186:56",
                  "trueBody": {
                    "id": 19748,
                    "nodeType": "Block",
                    "src": "2628:163:56",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 19734,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "id": 19729,
                                "name": "newPOLYUSD",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 19707,
                                "src": "2648:10:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "<=",
                              "rightExpression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 19732,
                                    "name": "bound",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 19714,
                                    "src": "2674:5:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 19730,
                                    "name": "POLYUSD",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 19559,
                                    "src": "2662:7:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "id": 19731,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "add",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 22577,
                                  "src": "2662:11:56",
                                  "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": 19733,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "2662:18:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "2648:32:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "526573756c7420697320746f6f206c61726765",
                              "id": 19735,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2682:21:56",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_12929aabdfd2299142d25ed7bff9f5f55d389856b31c7289c4bcd78110cc4b93",
                                "typeString": "literal_string \"Result is too large\""
                              },
                              "value": "Result is too large"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_12929aabdfd2299142d25ed7bff9f5f55d389856b31c7289c4bcd78110cc4b93",
                                "typeString": "literal_string \"Result is too large\""
                              }
                            ],
                            "id": 19728,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              23134,
                              23135
                            ],
                            "referencedDeclaration": 23135,
                            "src": "2640:7:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 19736,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2640:64:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 19737,
                        "nodeType": "ExpressionStatement",
                        "src": "2640:64:56"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 19744,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "id": 19739,
                                "name": "newPOLYUSD",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 19707,
                                "src": "2724:10:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": ">=",
                              "rightExpression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 19742,
                                    "name": "bound",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 19714,
                                    "src": "2750:5:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 19740,
                                    "name": "POLYUSD",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 19559,
                                    "src": "2738:7:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "id": 19741,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "sub",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 22553,
                                  "src": "2738:11:56",
                                  "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": 19743,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "2738:18:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "2724:32:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "526573756c7420697320746f6f20736d616c6c",
                              "id": 19745,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2758:21:56",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_e2a6df9e42095216942dec5936044bb4fe74099d6a131426703b5c3e80479498",
                                "typeString": "literal_string \"Result is too small\""
                              },
                              "value": "Result is too small"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_e2a6df9e42095216942dec5936044bb4fe74099d6a131426703b5c3e80479498",
                                "typeString": "literal_string \"Result is too small\""
                              }
                            ],
                            "id": 19738,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              23134,
                              23135
                            ],
                            "referencedDeclaration": 23135,
                            "src": "2716:7:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 19746,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2716:64:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 19747,
                        "nodeType": "ExpressionStatement",
                        "src": "2716:64:56"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 19754,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 19750,
                      "name": "latestUpdate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19561,
                      "src": "2800:12:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 19751,
                        "name": "requestIds",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19567,
                        "src": "2815:10:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                          "typeString": "mapping(bytes32 => uint256)"
                        }
                      },
                      "id": 19753,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 19752,
                        "name": "_requestId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19642,
                        "src": "2826:10:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "2815:22:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2800:37:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 19755,
                  "nodeType": "ExpressionStatement",
                  "src": "2800:37:56"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 19757,
                        "name": "newPOLYUSD",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19707,
                        "src": "2868:10:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 19758,
                        "name": "POLYUSD",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19559,
                        "src": "2880:7:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 19759,
                        "name": "_requestId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19642,
                        "src": "2889:10:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 19760,
                        "name": "latestUpdate",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19561,
                        "src": "2901:12:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 19756,
                      "name": "LogPriceUpdated",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19587,
                      "src": "2852:15:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint256_$returns$__$",
                        "typeString": "function (uint256,uint256,bytes32,uint256)"
                      }
                    },
                    "id": 19761,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2852:62:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 19762,
                  "nodeType": "EmitStatement",
                  "src": "2847:67:56"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 19765,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 19763,
                      "name": "POLYUSD",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19559,
                      "src": "2924:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 19764,
                      "name": "newPOLYUSD",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19707,
                      "src": "2934:10:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "2924:20:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 19766,
                  "nodeType": "ExpressionStatement",
                  "src": "2924:20:56"
                }
              ]
            },
            "documentation": "@notice Oraclize callback (triggered by Oraclize)\n@param _requestId requestId corresponding to Oraclize query\n@param _result data returned by Oraclize URL query",
            "id": 19768,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "__callback",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 19645,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 19642,
                  "name": "_requestId",
                  "nodeType": "VariableDeclaration",
                  "scope": 19768,
                  "src": "1811:18:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 19641,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1811:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19644,
                  "name": "_result",
                  "nodeType": "VariableDeclaration",
                  "scope": 19768,
                  "src": "1831:14:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 19643,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1831:6:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1810:36:56"
            },
            "payable": false,
            "returnParameters": {
              "id": 19646,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1854:0:56"
            },
            "scope": 20267,
            "src": "1791:1160:56",
            "stateMutability": "nonpayable",
            "superFunction": 3834,
            "visibility": "public"
          },
          {
            "body": {
              "id": 19913,
              "nodeType": "Block",
              "src": "3231:1275:56",
              "statements": [
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 19777,
                      "name": "requestId",
                      "nodeType": "VariableDeclaration",
                      "scope": 19914,
                      "src": "3241:17:56",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 19776,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "3241:7:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 19778,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3241:17:56"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 19780,
                      "name": "maximumScheduledUpdated",
                      "nodeType": "VariableDeclaration",
                      "scope": 19914,
                      "src": "3268:31:56",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 19779,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "3268:7:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 19781,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3268:31:56"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 19785,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 19782,
                        "name": "_times",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19771,
                        "src": "3313:6:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                          "typeString": "uint256[] memory"
                        }
                      },
                      "id": 19783,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "3313:13:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 19784,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "3330:1:56",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "3313:18:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 19902,
                    "nodeType": "Block",
                    "src": "3671:695:56",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 19836,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "commonType": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "id": 19831,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "hexValue": "55524c",
                                      "id": 19826,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "string",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "3711:5:56",
                                      "subdenomination": null,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_stringliteral_96388ed71ebb5d970d8c40d08f33931fc80bd2768fd60f12b78e085d12441b0e",
                                        "typeString": "literal_string \"URL\""
                                      },
                                      "value": "URL"
                                    },
                                    {
                                      "argumentTypes": null,
                                      "id": 19827,
                                      "name": "gasLimit",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 19551,
                                      "src": "3718:8:56",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_stringliteral_96388ed71ebb5d970d8c40d08f33931fc80bd2768fd60f12b78e085d12441b0e",
                                        "typeString": "literal_string \"URL\""
                                      },
                                      {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    ],
                                    "id": 19825,
                                    "name": "oraclize_getPrice",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [
                                      3866,
                                      3884
                                    ],
                                    "referencedDeclaration": 3884,
                                    "src": "3693:17:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$_t_uint256_$",
                                      "typeString": "function (string memory,uint256) returns (uint256)"
                                    }
                                  },
                                  "id": 19828,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "3693:34:56",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "*",
                                "rightExpression": {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 19829,
                                    "name": "_times",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 19771,
                                    "src": "3730:6:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                      "typeString": "uint256[] memory"
                                    }
                                  },
                                  "id": 19830,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "length",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": null,
                                  "src": "3730:13:56",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "3693:50:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "<=",
                              "rightExpression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "id": 19833,
                                      "name": "this",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 23248,
                                      "src": "3755:4:56",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_contract$_PolyOracle_$20267",
                                        "typeString": "contract PolyOracle"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_contract$_PolyOracle_$20267",
                                        "typeString": "contract PolyOracle"
                                      }
                                    ],
                                    "id": 19832,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "3747:7:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_address_$",
                                      "typeString": "type(address)"
                                    },
                                    "typeName": "address"
                                  },
                                  "id": 19834,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "3747:13:56",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                "id": 19835,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "balance",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": null,
                                "src": "3747:21:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "3693:75:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "496e73756666696369656e742046756e6473",
                              "id": 19837,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "3770:20:56",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_3f96070838a802b00711e63911cb51cdbd018900fa6d34d5ff764f6299488092",
                                "typeString": "literal_string \"Insufficient Funds\""
                              },
                              "value": "Insufficient Funds"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_3f96070838a802b00711e63911cb51cdbd018900fa6d34d5ff764f6299488092",
                                "typeString": "literal_string \"Insufficient Funds\""
                              }
                            ],
                            "id": 19824,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              23134,
                              23135
                            ],
                            "referencedDeclaration": 23135,
                            "src": "3685:7:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 19838,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3685:106:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 19839,
                        "nodeType": "ExpressionStatement",
                        "src": "3685:106:56"
                      },
                      {
                        "body": {
                          "id": 19900,
                          "nodeType": "Block",
                          "src": "3849:507:56",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "commonType": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    "id": 19856,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "argumentTypes": null,
                                      "baseExpression": {
                                        "argumentTypes": null,
                                        "id": 19852,
                                        "name": "_times",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 19771,
                                        "src": "3875:6:56",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                          "typeString": "uint256[] memory"
                                        }
                                      },
                                      "id": 19854,
                                      "indexExpression": {
                                        "argumentTypes": null,
                                        "id": 19853,
                                        "name": "i",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 19841,
                                        "src": "3882:1:56",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "IndexAccess",
                                      "src": "3875:9:56",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": ">=",
                                    "rightExpression": {
                                      "argumentTypes": null,
                                      "id": 19855,
                                      "name": "now",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 23133,
                                      "src": "3888:3:56",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "src": "3875:16:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "hexValue": "50617374207363686564756c696e67206973206e6f7420616c6c6f77656420616e64207363686564756c65642074696d652073686f756c64206265206162736f6c7574652074696d657374616d70",
                                    "id": 19857,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "string",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "3893:80:56",
                                    "subdenomination": null,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_stringliteral_c2f7628afa200c06568eb2d695636ebe42b62a1e3ad4743d73914da5d733cca6",
                                      "typeString": "literal_string \"Past scheduling is not allowed and scheduled time should be absolute timestamp\""
                                    },
                                    "value": "Past scheduling is not allowed and scheduled time should be absolute timestamp"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    },
                                    {
                                      "typeIdentifier": "t_stringliteral_c2f7628afa200c06568eb2d695636ebe42b62a1e3ad4743d73914da5d733cca6",
                                      "typeString": "literal_string \"Past scheduling is not allowed and scheduled time should be absolute timestamp\""
                                    }
                                  ],
                                  "id": 19851,
                                  "name": "require",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    23134,
                                    23135
                                  ],
                                  "referencedDeclaration": 23135,
                                  "src": "3867:7:56",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                    "typeString": "function (bool,string memory) pure"
                                  }
                                },
                                "id": 19858,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "3867:107:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 19859,
                              "nodeType": "ExpressionStatement",
                              "src": "3867:107:56"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 19869,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "id": 19860,
                                  "name": "requestId",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 19777,
                                  "src": "3992:9:56",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "baseExpression": {
                                        "argumentTypes": null,
                                        "id": 19862,
                                        "name": "_times",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 19771,
                                        "src": "4019:6:56",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                          "typeString": "uint256[] memory"
                                        }
                                      },
                                      "id": 19864,
                                      "indexExpression": {
                                        "argumentTypes": null,
                                        "id": 19863,
                                        "name": "i",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 19841,
                                        "src": "4026:1:56",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "IndexAccess",
                                      "src": "4019:9:56",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    {
                                      "argumentTypes": null,
                                      "hexValue": "55524c",
                                      "id": 19865,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "string",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "4030:5:56",
                                      "subdenomination": null,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_stringliteral_96388ed71ebb5d970d8c40d08f33931fc80bd2768fd60f12b78e085d12441b0e",
                                        "typeString": "literal_string \"URL\""
                                      },
                                      "value": "URL"
                                    },
                                    {
                                      "argumentTypes": null,
                                      "id": 19866,
                                      "name": "oracleURL",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 19541,
                                      "src": "4037:9:56",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_string_storage",
                                        "typeString": "string storage ref"
                                      }
                                    },
                                    {
                                      "argumentTypes": null,
                                      "id": 19867,
                                      "name": "gasLimit",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 19551,
                                      "src": "4048:8:56",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      },
                                      {
                                        "typeIdentifier": "t_stringliteral_96388ed71ebb5d970d8c40d08f33931fc80bd2768fd60f12b78e085d12441b0e",
                                        "typeString": "literal_string \"URL\""
                                      },
                                      {
                                        "typeIdentifier": "t_string_storage",
                                        "typeString": "string storage ref"
                                      },
                                      {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    ],
                                    "id": 19861,
                                    "name": "oraclize_query",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [
                                      3924,
                                      3966,
                                      4012,
                                      4056,
                                      4099,
                                      4144,
                                      4193,
                                      4240,
                                      4287,
                                      4336,
                                      4389,
                                      4440,
                                      4477,
                                      4517,
                                      4560,
                                      4600,
                                      4645,
                                      4693,
                                      4744,
                                      4792,
                                      4845,
                                      4901,
                                      4960,
                                      5016,
                                      5077,
                                      5141,
                                      5208,
                                      5272,
                                      5341,
                                      5413,
                                      5488,
                                      5560,
                                      5607,
                                      5656,
                                      5709,
                                      5760,
                                      5797,
                                      5837,
                                      5880,
                                      5920,
                                      5965,
                                      6013,
                                      6064,
                                      6112,
                                      6165,
                                      6221,
                                      6280,
                                      6336,
                                      6397,
                                      6461,
                                      6528,
                                      6592,
                                      6661,
                                      6733,
                                      6808,
                                      6880
                                    ],
                                    "referencedDeclaration": 4012,
                                    "src": "4004:14:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$_t_bytes32_$",
                                      "typeString": "function (uint256,string memory,string memory,uint256) returns (bytes32)"
                                    }
                                  },
                                  "id": 19868,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "4004:53:56",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "src": "3992:65:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "id": 19870,
                              "nodeType": "ExpressionStatement",
                              "src": "3992:65:56"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 19877,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 19871,
                                    "name": "requestIds",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 19567,
                                    "src": "4075:10:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                                      "typeString": "mapping(bytes32 => uint256)"
                                    }
                                  },
                                  "id": 19873,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 19872,
                                    "name": "requestId",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 19777,
                                    "src": "4086:9:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "4075:21:56",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 19874,
                                    "name": "_times",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 19771,
                                    "src": "4099:6:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                      "typeString": "uint256[] memory"
                                    }
                                  },
                                  "id": 19876,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 19875,
                                    "name": "i",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 19841,
                                    "src": "4106:1:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "4099:9:56",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "4075:33:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 19878,
                              "nodeType": "ExpressionStatement",
                              "src": "4075:33:56"
                            },
                            {
                              "condition": {
                                "argumentTypes": null,
                                "commonType": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "id": 19883,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "argumentTypes": null,
                                  "id": 19879,
                                  "name": "maximumScheduledUpdated",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 19780,
                                  "src": "4130:23:56",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "<",
                                "rightExpression": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 19880,
                                    "name": "requestIds",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 19567,
                                    "src": "4156:10:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                                      "typeString": "mapping(bytes32 => uint256)"
                                    }
                                  },
                                  "id": 19882,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 19881,
                                    "name": "requestId",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 19777,
                                    "src": "4167:9:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "4156:21:56",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "4130:47:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "falseBody": null,
                              "id": 19891,
                              "nodeType": "IfStatement",
                              "src": "4126:141:56",
                              "trueBody": {
                                "id": 19890,
                                "nodeType": "Block",
                                "src": "4179:88:56",
                                "statements": [
                                  {
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 19888,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftHandSide": {
                                        "argumentTypes": null,
                                        "id": 19884,
                                        "name": "maximumScheduledUpdated",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 19780,
                                        "src": "4201:23:56",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "nodeType": "Assignment",
                                      "operator": "=",
                                      "rightHandSide": {
                                        "argumentTypes": null,
                                        "baseExpression": {
                                          "argumentTypes": null,
                                          "id": 19885,
                                          "name": "requestIds",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 19567,
                                          "src": "4227:10:56",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                                            "typeString": "mapping(bytes32 => uint256)"
                                          }
                                        },
                                        "id": 19887,
                                        "indexExpression": {
                                          "argumentTypes": null,
                                          "id": 19886,
                                          "name": "requestId",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 19777,
                                          "src": "4238:9:56",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                          }
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "IndexAccess",
                                        "src": "4227:21:56",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "src": "4201:47:56",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "id": 19889,
                                    "nodeType": "ExpressionStatement",
                                    "src": "4201:47:56"
                                  }
                                ]
                              }
                            },
                            {
                              "eventCall": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "baseExpression": {
                                      "argumentTypes": null,
                                      "id": 19893,
                                      "name": "_times",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 19771,
                                      "src": "4309:6:56",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                        "typeString": "uint256[] memory"
                                      }
                                    },
                                    "id": 19895,
                                    "indexExpression": {
                                      "argumentTypes": null,
                                      "id": 19894,
                                      "name": "i",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 19841,
                                      "src": "4316:1:56",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "4309:9:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 19896,
                                    "name": "requestId",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 19777,
                                    "src": "4320:9:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 19897,
                                    "name": "oracleURL",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 19541,
                                    "src": "4331:9:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_string_storage",
                                      "typeString": "string storage ref"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    },
                                    {
                                      "typeIdentifier": "t_string_storage",
                                      "typeString": "string storage ref"
                                    }
                                  ],
                                  "id": 19892,
                                  "name": "LogNewOraclizeQuery",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 19595,
                                  "src": "4289:19:56",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_bytes32_$_t_string_memory_ptr_$returns$__$",
                                    "typeString": "function (uint256,bytes32,string memory)"
                                  }
                                },
                                "id": 19898,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "4289:52:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 19899,
                              "nodeType": "EmitStatement",
                              "src": "4284:57:56"
                            }
                          ]
                        },
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 19847,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 19844,
                            "name": "i",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19841,
                            "src": "3825:1:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "<",
                          "rightExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 19845,
                              "name": "_times",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 19771,
                              "src": "3829:6:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                "typeString": "uint256[] memory"
                              }
                            },
                            "id": 19846,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "3829:13:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "3825:17:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 19901,
                        "initializationExpression": {
                          "assignments": [
                            19841
                          ],
                          "declarations": [
                            {
                              "constant": false,
                              "id": 19841,
                              "name": "i",
                              "nodeType": "VariableDeclaration",
                              "scope": 19914,
                              "src": "3810:9:56",
                              "stateVariable": false,
                              "storageLocation": "default",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "typeName": {
                                "id": 19840,
                                "name": "uint256",
                                "nodeType": "ElementaryTypeName",
                                "src": "3810:7:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "value": null,
                              "visibility": "internal"
                            }
                          ],
                          "id": 19843,
                          "initialValue": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 19842,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3822:1:56",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "nodeType": "VariableDeclarationStatement",
                          "src": "3810:13:56"
                        },
                        "loopExpression": {
                          "expression": {
                            "argumentTypes": null,
                            "id": 19849,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "UnaryOperation",
                            "operator": "++",
                            "prefix": false,
                            "src": "3844:3:56",
                            "subExpression": {
                              "argumentTypes": null,
                              "id": 19848,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 19841,
                              "src": "3844:1:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 19850,
                          "nodeType": "ExpressionStatement",
                          "src": "3844:3:56"
                        },
                        "nodeType": "ForStatement",
                        "src": "3805:551:56"
                      }
                    ]
                  },
                  "id": 19903,
                  "nodeType": "IfStatement",
                  "src": "3309:1057:56",
                  "trueBody": {
                    "id": 19823,
                    "nodeType": "Block",
                    "src": "3333:332:56",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 19795,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "hexValue": "55524c",
                                    "id": 19788,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "string",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "3373:5:56",
                                    "subdenomination": null,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_stringliteral_96388ed71ebb5d970d8c40d08f33931fc80bd2768fd60f12b78e085d12441b0e",
                                      "typeString": "literal_string \"URL\""
                                    },
                                    "value": "URL"
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 19789,
                                    "name": "gasLimit",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 19551,
                                    "src": "3380:8:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_stringliteral_96388ed71ebb5d970d8c40d08f33931fc80bd2768fd60f12b78e085d12441b0e",
                                      "typeString": "literal_string \"URL\""
                                    },
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "id": 19787,
                                  "name": "oraclize_getPrice",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    3866,
                                    3884
                                  ],
                                  "referencedDeclaration": 3884,
                                  "src": "3355:17:56",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$_t_uint256_$",
                                    "typeString": "function (string memory,uint256) returns (uint256)"
                                  }
                                },
                                "id": 19790,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "3355:34:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "<=",
                              "rightExpression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "id": 19792,
                                      "name": "this",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 23248,
                                      "src": "3401:4:56",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_contract$_PolyOracle_$20267",
                                        "typeString": "contract PolyOracle"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_contract$_PolyOracle_$20267",
                                        "typeString": "contract PolyOracle"
                                      }
                                    ],
                                    "id": 19791,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "3393:7:56",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_address_$",
                                      "typeString": "type(address)"
                                    },
                                    "typeName": "address"
                                  },
                                  "id": 19793,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "3393:13:56",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                "id": 19794,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "balance",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": null,
                                "src": "3393:21:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "src": "3355:59:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "496e73756666696369656e742046756e6473",
                              "id": 19796,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "3416:20:56",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_3f96070838a802b00711e63911cb51cdbd018900fa6d34d5ff764f6299488092",
                                "typeString": "literal_string \"Insufficient Funds\""
                              },
                              "value": "Insufficient Funds"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_3f96070838a802b00711e63911cb51cdbd018900fa6d34d5ff764f6299488092",
                                "typeString": "literal_string \"Insufficient Funds\""
                              }
                            ],
                            "id": 19786,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              23134,
                              23135
                            ],
                            "referencedDeclaration": 23135,
                            "src": "3347:7:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 19797,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3347:90:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 19798,
                        "nodeType": "ExpressionStatement",
                        "src": "3347:90:56"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 19805,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 19799,
                            "name": "requestId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19777,
                            "src": "3451:9:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "hexValue": "55524c",
                                "id": 19801,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "string",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "3478:5:56",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_stringliteral_96388ed71ebb5d970d8c40d08f33931fc80bd2768fd60f12b78e085d12441b0e",
                                  "typeString": "literal_string \"URL\""
                                },
                                "value": "URL"
                              },
                              {
                                "argumentTypes": null,
                                "id": 19802,
                                "name": "oracleURL",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 19541,
                                "src": "3485:9:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_storage",
                                  "typeString": "string storage ref"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 19803,
                                "name": "gasLimit",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 19551,
                                "src": "3496:8:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_stringliteral_96388ed71ebb5d970d8c40d08f33931fc80bd2768fd60f12b78e085d12441b0e",
                                  "typeString": "literal_string \"URL\""
                                },
                                {
                                  "typeIdentifier": "t_string_storage",
                                  "typeString": "string storage ref"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 19800,
                              "name": "oraclize_query",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [
                                3924,
                                3966,
                                4012,
                                4056,
                                4099,
                                4144,
                                4193,
                                4240,
                                4287,
                                4336,
                                4389,
                                4440,
                                4477,
                                4517,
                                4560,
                                4600,
                                4645,
                                4693,
                                4744,
                                4792,
                                4845,
                                4901,
                                4960,
                                5016,
                                5077,
                                5141,
                                5208,
                                5272,
                                5341,
                                5413,
                                5488,
                                5560,
                                5607,
                                5656,
                                5709,
                                5760,
                                5797,
                                5837,
                                5880,
                                5920,
                                5965,
                                6013,
                                6064,
                                6112,
                                6165,
                                6221,
                                6280,
                                6336,
                                6397,
                                6461,
                                6528,
                                6592,
                                6661,
                                6733,
                                6808,
                                6880
                              ],
                              "referencedDeclaration": 4056,
                              "src": "3463:14:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$_t_bytes32_$",
                                "typeString": "function (string memory,string memory,uint256) returns (bytes32)"
                              }
                            },
                            "id": 19804,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3463:42:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "src": "3451:54:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "id": 19806,
                        "nodeType": "ExpressionStatement",
                        "src": "3451:54:56"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 19811,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 19807,
                              "name": "requestIds",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 19567,
                              "src": "3519:10:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                                "typeString": "mapping(bytes32 => uint256)"
                              }
                            },
                            "id": 19809,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 19808,
                              "name": "requestId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 19777,
                              "src": "3530:9:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "3519:21:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "id": 19810,
                            "name": "now",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 23133,
                            "src": "3543:3:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "3519:27:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 19812,
                        "nodeType": "ExpressionStatement",
                        "src": "3519:27:56"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 19815,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 19813,
                            "name": "maximumScheduledUpdated",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19780,
                            "src": "3560:23:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "id": 19814,
                            "name": "now",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 23133,
                            "src": "3586:3:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "3560:29:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 19816,
                        "nodeType": "ExpressionStatement",
                        "src": "3560:29:56"
                      },
                      {
                        "eventCall": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 19818,
                              "name": "now",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 23133,
                              "src": "3628:3:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 19819,
                              "name": "requestId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 19777,
                              "src": "3633:9:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 19820,
                              "name": "oracleURL",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 19541,
                              "src": "3644:9:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_storage",
                                "typeString": "string storage ref"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_string_storage",
                                "typeString": "string storage ref"
                              }
                            ],
                            "id": 19817,
                            "name": "LogNewOraclizeQuery",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19595,
                            "src": "3608:19:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_bytes32_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (uint256,bytes32,string memory)"
                            }
                          },
                          "id": 19821,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3608:46:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 19822,
                        "nodeType": "EmitStatement",
                        "src": "3603:51:56"
                      }
                    ]
                  }
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 19906,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 19904,
                      "name": "latestScheduledUpdate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19563,
                      "src": "4379:21:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 19905,
                      "name": "maximumScheduledUpdated",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19780,
                      "src": "4403:23:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4379:47:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 19912,
                  "nodeType": "IfStatement",
                  "src": "4375:125:56",
                  "trueBody": {
                    "id": 19911,
                    "nodeType": "Block",
                    "src": "4428:72:56",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 19909,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 19907,
                            "name": "latestScheduledUpdate",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19563,
                            "src": "4442:21:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "id": 19908,
                            "name": "maximumScheduledUpdated",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19780,
                            "src": "4466:23:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "4442:47:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 19910,
                        "nodeType": "ExpressionStatement",
                        "src": "4442:47:56"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": "@notice Allows owner to schedule future Oraclize calls\n@param _times UNIX timestamps to schedule Oraclize calls as of. Empty list means trigger an immediate query.",
            "id": 19914,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 19774,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 19773,
                  "name": "isAdminOrOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 19628,
                  "src": "3209:14:56",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "3209:14:56"
              }
            ],
            "name": "schedulePriceUpdatesFixed",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 19772,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 19771,
                  "name": "_times",
                  "nodeType": "VariableDeclaration",
                  "scope": 19914,
                  "src": "3183:16:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 19769,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "3183:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 19770,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "3183:9:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3182:18:56"
            },
            "payable": true,
            "returnParameters": {
              "id": 19775,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3231:0:56"
            },
            "scope": 20267,
            "src": "3148:1358:56",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20019,
              "nodeType": "Block",
              "src": "4958:874:56",
              "statements": [
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 19926,
                      "name": "requestId",
                      "nodeType": "VariableDeclaration",
                      "scope": 20020,
                      "src": "4968:17:56",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 19925,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "4968:7:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 19927,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4968:17:56"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 19931,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 19929,
                          "name": "_interval",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 19918,
                          "src": "5003:9:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 19930,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "5015:1:56",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "5003:13:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "496e74657276616c206265747765656e207363686564756c65642074696d652073686f756c642062652067726561746572207468616e207a65726f",
                        "id": 19932,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5018:61:56",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_aa8cb04b20f46cc0c8b9cc092c2425a19c3044f0e83632d78b2ac6f9aacf1251",
                          "typeString": "literal_string \"Interval between scheduled time should be greater than zero\""
                        },
                        "value": "Interval between scheduled time should be greater than zero"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_aa8cb04b20f46cc0c8b9cc092c2425a19c3044f0e83632d78b2ac6f9aacf1251",
                          "typeString": "literal_string \"Interval between scheduled time should be greater than zero\""
                        }
                      ],
                      "id": 19928,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "4995:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 19933,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4995:85:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 19934,
                  "nodeType": "ExpressionStatement",
                  "src": "4995:85:56"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 19938,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 19936,
                          "name": "_iters",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 19920,
                          "src": "5098:6:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 19937,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "5107:1:56",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "5098:10:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4e6f20697465726174696f6e7320737065636966696564",
                        "id": 19939,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5110:25:56",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_47a86b99fe35ecc248382e57c40b2ce5da637b1e5e30cfad6d92309158c1e8ee",
                          "typeString": "literal_string \"No iterations specified\""
                        },
                        "value": "No iterations specified"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_47a86b99fe35ecc248382e57c40b2ce5da637b1e5e30cfad6d92309158c1e8ee",
                          "typeString": "literal_string \"No iterations specified\""
                        }
                      ],
                      "id": 19935,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "5090:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 19940,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5090:46:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 19941,
                  "nodeType": "ExpressionStatement",
                  "src": "5090:46:56"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 19945,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 19943,
                          "name": "_startTime",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 19916,
                          "src": "5154:10:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 19944,
                          "name": "now",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 23133,
                          "src": "5168:3:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "5154:17:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "50617374207363686564756c696e67206973206e6f7420616c6c6f77656420616e64207363686564756c65642074696d652073686f756c64206265206162736f6c7574652074696d657374616d70",
                        "id": 19946,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5173:80:56",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_c2f7628afa200c06568eb2d695636ebe42b62a1e3ad4743d73914da5d733cca6",
                          "typeString": "literal_string \"Past scheduling is not allowed and scheduled time should be absolute timestamp\""
                        },
                        "value": "Past scheduling is not allowed and scheduled time should be absolute timestamp"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_c2f7628afa200c06568eb2d695636ebe42b62a1e3ad4743d73914da5d733cca6",
                          "typeString": "literal_string \"Past scheduling is not allowed and scheduled time should be absolute timestamp\""
                        }
                      ],
                      "id": 19942,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "5146:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 19947,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5146:108:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 19948,
                  "nodeType": "ExpressionStatement",
                  "src": "5146:108:56"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 19960,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 19955,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "hexValue": "55524c",
                                "id": 19951,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "string",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "5290:5:56",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_stringliteral_96388ed71ebb5d970d8c40d08f33931fc80bd2768fd60f12b78e085d12441b0e",
                                  "typeString": "literal_string \"URL\""
                                },
                                "value": "URL"
                              },
                              {
                                "argumentTypes": null,
                                "id": 19952,
                                "name": "gasLimit",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 19551,
                                "src": "5297:8:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_stringliteral_96388ed71ebb5d970d8c40d08f33931fc80bd2768fd60f12b78e085d12441b0e",
                                  "typeString": "literal_string \"URL\""
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 19950,
                              "name": "oraclize_getPrice",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [
                                3866,
                                3884
                              ],
                              "referencedDeclaration": 3884,
                              "src": "5272:17:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$_t_uint256_$",
                                "typeString": "function (string memory,uint256) returns (uint256)"
                              }
                            },
                            "id": 19953,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5272:34:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "*",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 19954,
                            "name": "_iters",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19920,
                            "src": "5309:6:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "5272:43:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 19957,
                                "name": "this",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 23248,
                                "src": "5327:4:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_PolyOracle_$20267",
                                  "typeString": "contract PolyOracle"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_PolyOracle_$20267",
                                  "typeString": "contract PolyOracle"
                                }
                              ],
                              "id": 19956,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "5319:7:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_address_$",
                                "typeString": "type(address)"
                              },
                              "typeName": "address"
                            },
                            "id": 19958,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5319:13:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "id": 19959,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "balance",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "5319:21:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "5272:68:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "496e73756666696369656e742046756e6473",
                        "id": 19961,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5342:20:56",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_3f96070838a802b00711e63911cb51cdbd018900fa6d34d5ff764f6299488092",
                          "typeString": "literal_string \"Insufficient Funds\""
                        },
                        "value": "Insufficient Funds"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_3f96070838a802b00711e63911cb51cdbd018900fa6d34d5ff764f6299488092",
                          "typeString": "literal_string \"Insufficient Funds\""
                        }
                      ],
                      "id": 19949,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "5264:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 19962,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5264:99:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 19963,
                  "nodeType": "ExpressionStatement",
                  "src": "5264:99:56"
                },
                {
                  "body": {
                    "id": 20004,
                    "nodeType": "Block",
                    "src": "5410:286:56",
                    "statements": [
                      {
                        "assignments": [
                          19975
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 19975,
                            "name": "scheduledTime",
                            "nodeType": "VariableDeclaration",
                            "scope": 20020,
                            "src": "5424:21:56",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 19974,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "5424:7:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 19982,
                        "initialValue": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 19981,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 19976,
                            "name": "_startTime",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19916,
                            "src": "5448:10:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "+",
                          "rightExpression": {
                            "argumentTypes": null,
                            "components": [
                              {
                                "argumentTypes": null,
                                "commonType": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "id": 19979,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "argumentTypes": null,
                                  "id": 19977,
                                  "name": "i",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 19965,
                                  "src": "5462:1:56",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "*",
                                "rightExpression": {
                                  "argumentTypes": null,
                                  "id": 19978,
                                  "name": "_interval",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 19918,
                                  "src": "5466:9:56",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "5462:13:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "id": 19980,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "TupleExpression",
                            "src": "5461:15:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "5448:28:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "5424:52:56"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 19990,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 19983,
                            "name": "requestId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19926,
                            "src": "5490:9:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 19985,
                                "name": "scheduledTime",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 19975,
                                "src": "5517:13:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "55524c",
                                "id": 19986,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "string",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "5532:5:56",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_stringliteral_96388ed71ebb5d970d8c40d08f33931fc80bd2768fd60f12b78e085d12441b0e",
                                  "typeString": "literal_string \"URL\""
                                },
                                "value": "URL"
                              },
                              {
                                "argumentTypes": null,
                                "id": 19987,
                                "name": "oracleURL",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 19541,
                                "src": "5539:9:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_storage",
                                  "typeString": "string storage ref"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 19988,
                                "name": "gasLimit",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 19551,
                                "src": "5550:8:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                {
                                  "typeIdentifier": "t_stringliteral_96388ed71ebb5d970d8c40d08f33931fc80bd2768fd60f12b78e085d12441b0e",
                                  "typeString": "literal_string \"URL\""
                                },
                                {
                                  "typeIdentifier": "t_string_storage",
                                  "typeString": "string storage ref"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "id": 19984,
                              "name": "oraclize_query",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [
                                3924,
                                3966,
                                4012,
                                4056,
                                4099,
                                4144,
                                4193,
                                4240,
                                4287,
                                4336,
                                4389,
                                4440,
                                4477,
                                4517,
                                4560,
                                4600,
                                4645,
                                4693,
                                4744,
                                4792,
                                4845,
                                4901,
                                4960,
                                5016,
                                5077,
                                5141,
                                5208,
                                5272,
                                5341,
                                5413,
                                5488,
                                5560,
                                5607,
                                5656,
                                5709,
                                5760,
                                5797,
                                5837,
                                5880,
                                5920,
                                5965,
                                6013,
                                6064,
                                6112,
                                6165,
                                6221,
                                6280,
                                6336,
                                6397,
                                6461,
                                6528,
                                6592,
                                6661,
                                6733,
                                6808,
                                6880
                              ],
                              "referencedDeclaration": 4012,
                              "src": "5502:14:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$_t_bytes32_$",
                                "typeString": "function (uint256,string memory,string memory,uint256) returns (bytes32)"
                              }
                            },
                            "id": 19989,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5502:57:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "src": "5490:69:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "id": 19991,
                        "nodeType": "ExpressionStatement",
                        "src": "5490:69:56"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 19996,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 19992,
                              "name": "requestIds",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 19567,
                              "src": "5573:10:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                                "typeString": "mapping(bytes32 => uint256)"
                              }
                            },
                            "id": 19994,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 19993,
                              "name": "requestId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 19926,
                              "src": "5584:9:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "5573:21:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "id": 19995,
                            "name": "scheduledTime",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19975,
                            "src": "5597:13:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "5573:37:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 19997,
                        "nodeType": "ExpressionStatement",
                        "src": "5573:37:56"
                      },
                      {
                        "eventCall": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 19999,
                              "name": "scheduledTime",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 19975,
                              "src": "5649:13:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 20000,
                              "name": "requestId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 19926,
                              "src": "5664:9:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 20001,
                              "name": "oracleURL",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 19541,
                              "src": "5675:9:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_storage",
                                "typeString": "string storage ref"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_string_storage",
                                "typeString": "string storage ref"
                              }
                            ],
                            "id": 19998,
                            "name": "LogNewOraclizeQuery",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19595,
                            "src": "5629:19:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_bytes32_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (uint256,bytes32,string memory)"
                            }
                          },
                          "id": 20002,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "5629:56:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 20003,
                        "nodeType": "EmitStatement",
                        "src": "5624:61:56"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 19970,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 19968,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19965,
                      "src": "5393:1:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 19969,
                      "name": "_iters",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19920,
                      "src": "5397:6:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "5393:10:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 20005,
                  "initializationExpression": {
                    "assignments": [
                      19965
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 19965,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 20020,
                        "src": "5378:9:56",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 19964,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "5378:7:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 19967,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 19966,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "5390:1:56",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "5378:13:56"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 19972,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "5405:3:56",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 19971,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19965,
                        "src": "5405:1:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 19973,
                    "nodeType": "ExpressionStatement",
                    "src": "5405:3:56"
                  },
                  "nodeType": "ForStatement",
                  "src": "5373:323:56"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 20010,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 20006,
                      "name": "latestScheduledUpdate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19563,
                      "src": "5709:21:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 20007,
                        "name": "requestIds",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19567,
                        "src": "5733:10:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                          "typeString": "mapping(bytes32 => uint256)"
                        }
                      },
                      "id": 20009,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 20008,
                        "name": "requestId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19926,
                        "src": "5744:9:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "5733:21:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "5709:45:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 20018,
                  "nodeType": "IfStatement",
                  "src": "5705:121:56",
                  "trueBody": {
                    "id": 20017,
                    "nodeType": "Block",
                    "src": "5756:70:56",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 20015,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 20011,
                            "name": "latestScheduledUpdate",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19563,
                            "src": "5770:21:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 20012,
                              "name": "requestIds",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 19567,
                              "src": "5794:10:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                                "typeString": "mapping(bytes32 => uint256)"
                              }
                            },
                            "id": 20014,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 20013,
                              "name": "requestId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 19926,
                              "src": "5805:9:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "5794:21:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "5770:45:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 20016,
                        "nodeType": "ExpressionStatement",
                        "src": "5770:45:56"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": "@notice Allows owner to schedule future Oraclize calls on a rolling schedule\n@param _startTime UNIX timestamp for the first scheduled Oraclize query\n@param _interval how long (in seconds) between each subsequent Oraclize query\n@param _iters the number of Oraclize queries to schedule.",
            "id": 20020,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 19923,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 19922,
                  "name": "isAdminOrOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 19628,
                  "src": "4936:14:56",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "4936:14:56"
              }
            ],
            "name": "schedulePriceUpdatesRolling",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 19921,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 19916,
                  "name": "_startTime",
                  "nodeType": "VariableDeclaration",
                  "scope": 20020,
                  "src": "4873:18:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 19915,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4873:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19918,
                  "name": "_interval",
                  "nodeType": "VariableDeclaration",
                  "scope": 20020,
                  "src": "4893:17:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 19917,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4893:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 19920,
                  "name": "_iters",
                  "nodeType": "VariableDeclaration",
                  "scope": 20020,
                  "src": "4912:14:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 19919,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4912:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4872:55:56"
            },
            "payable": true,
            "returnParameters": {
              "id": 19924,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4958:0:56"
            },
            "scope": 20267,
            "src": "4836:996:56",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20042,
              "nodeType": "Block",
              "src": "5997:116:56",
              "statements": [
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 20028,
                        "name": "_price",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20022,
                        "src": "6028:6:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 20029,
                        "name": "POLYUSD",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19559,
                        "src": "6036:7:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 20030,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6045:1:56",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      {
                        "argumentTypes": null,
                        "id": 20031,
                        "name": "now",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 23133,
                        "src": "6048:3:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 20027,
                      "name": "LogPriceUpdated",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19587,
                      "src": "6012:15:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint256_$returns$__$",
                        "typeString": "function (uint256,uint256,bytes32,uint256)"
                      }
                    },
                    "id": 20032,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6012:40:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 20033,
                  "nodeType": "EmitStatement",
                  "src": "6007:45:56"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 20036,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 20034,
                      "name": "POLYUSD",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19559,
                      "src": "6062:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 20035,
                      "name": "_price",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20022,
                      "src": "6072:6:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "6062:16:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 20037,
                  "nodeType": "ExpressionStatement",
                  "src": "6062:16:56"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 20040,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 20038,
                      "name": "latestUpdate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19561,
                      "src": "6088:12:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 20039,
                      "name": "now",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 23133,
                      "src": "6103:3:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "6088:18:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 20041,
                  "nodeType": "ExpressionStatement",
                  "src": "6088:18:56"
                }
              ]
            },
            "documentation": "@notice Allows owner to manually set POLYUSD price\n@param _price POLYUSD price",
            "id": 20043,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 20025,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 20024,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 22612,
                  "src": "5980:9:56",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "5980:9:56"
              }
            ],
            "name": "setPOLYUSD",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20023,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20022,
                  "name": "_price",
                  "nodeType": "VariableDeclaration",
                  "scope": 20043,
                  "src": "5964:14:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20021,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5964:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5963:16:56"
            },
            "payable": false,
            "returnParameters": {
              "id": 20026,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5997:0:56"
            },
            "scope": 20267,
            "src": "5944:169:56",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20054,
              "nodeType": "Block",
              "src": "6340:39:56",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 20052,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 20050,
                      "name": "freezeOracle",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19577,
                      "src": "6350:12:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 20051,
                      "name": "_frozen",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20045,
                      "src": "6365:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "6350:22:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 20053,
                  "nodeType": "ExpressionStatement",
                  "src": "6350:22:56"
                }
              ]
            },
            "documentation": "@notice Allows owner to set oracle to ignore all Oraclize pricce updates\n@param _frozen true to freeze updates, false to reenable updates",
            "id": 20055,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 20048,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 20047,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 22612,
                  "src": "6323:9:56",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "6323:9:56"
              }
            ],
            "name": "setFreezeOracle",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20046,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20045,
                  "name": "_frozen",
                  "nodeType": "VariableDeclaration",
                  "scope": 20055,
                  "src": "6309:12:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 20044,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "6309:4:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6308:14:56"
            },
            "payable": false,
            "returnParameters": {
              "id": 20049,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6340:0:56"
            },
            "scope": 20267,
            "src": "6284:95:56",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20066,
              "nodeType": "Block",
              "src": "6556:39:56",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 20064,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 20062,
                      "name": "oracleURL",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19541,
                      "src": "6566:9:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage",
                        "typeString": "string storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 20063,
                      "name": "_oracleURL",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20057,
                      "src": "6578:10:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "src": "6566:22:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "id": 20065,
                  "nodeType": "ExpressionStatement",
                  "src": "6566:22:56"
                }
              ]
            },
            "documentation": "@notice Allows owner to set URL used in Oraclize queries\n@param _oracleURL URL to use",
            "id": 20067,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 20060,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 20059,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 22612,
                  "src": "6539:9:56",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "6539:9:56"
              }
            ],
            "name": "setOracleURL",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20058,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20057,
                  "name": "_oracleURL",
                  "nodeType": "VariableDeclaration",
                  "scope": 20067,
                  "src": "6520:17:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 20056,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6520:6:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6519:19:56"
            },
            "payable": false,
            "returnParameters": {
              "id": 20061,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6556:0:56"
            },
            "scope": 20267,
            "src": "6498:97:56",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20078,
              "nodeType": "Block",
              "src": "6817:45:56",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 20076,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 20074,
                      "name": "sanityBounds",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19548,
                      "src": "6827:12:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 20075,
                      "name": "_sanityBounds",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20069,
                      "src": "6842:13:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "6827:28:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 20077,
                  "nodeType": "ExpressionStatement",
                  "src": "6827:28:56"
                }
              ]
            },
            "documentation": "@notice Allows owner to set new sanity bounds for price updates\n@param _sanityBounds sanity bounds as a percentage * 10**16",
            "id": 20079,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 20072,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 20071,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 22612,
                  "src": "6800:9:56",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "6800:9:56"
              }
            ],
            "name": "setSanityBounds",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20070,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20069,
                  "name": "_sanityBounds",
                  "nodeType": "VariableDeclaration",
                  "scope": 20079,
                  "src": "6777:21:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20068,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "6777:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6776:23:56"
            },
            "payable": false,
            "returnParameters": {
              "id": 20073,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6817:0:56"
            },
            "scope": 20267,
            "src": "6752:110:56",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20090,
              "nodeType": "Block",
              "src": "7207:54:56",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 20087,
                        "name": "_gasPrice",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20081,
                        "src": "7244:9:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 20086,
                      "name": "oraclize_setCustomGasPrice",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 6918,
                      "src": "7217:26:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 20088,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7217:37:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 20089,
                  "nodeType": "ExpressionStatement",
                  "src": "7217:37:56"
                }
              ]
            },
            "documentation": "@notice Allows owner to set new gas price for future Oraclize queries\n@notice NB - this will only impact newly scheduled Oraclize queries, not future queries which have already been scheduled\n@param _gasPrice gas price to use for Oraclize callbacks",
            "id": 20091,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 20084,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 20083,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 22612,
                  "src": "7190:9:56",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "7190:9:56"
              }
            ],
            "name": "setGasPrice",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20082,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20081,
                  "name": "_gasPrice",
                  "nodeType": "VariableDeclaration",
                  "scope": 20091,
                  "src": "7171:17:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20080,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7171:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7170:19:56"
            },
            "payable": false,
            "returnParameters": {
              "id": 20085,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7207:0:56"
            },
            "scope": 20267,
            "src": "7150:111:56",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20102,
              "nodeType": "Block",
              "src": "7487:47:56",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "components": [
                      {
                        "argumentTypes": null,
                        "id": 20098,
                        "name": "POLYUSD",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19559,
                        "src": "7505:7:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 20099,
                        "name": "latestUpdate",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19561,
                        "src": "7514:12:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "id": 20100,
                    "isConstant": false,
                    "isInlineArray": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "TupleExpression",
                    "src": "7504:23:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$",
                      "typeString": "tuple(uint256,uint256)"
                    }
                  },
                  "functionReturnParameters": 20097,
                  "id": 20101,
                  "nodeType": "Return",
                  "src": "7497:30:56"
                }
              ]
            },
            "documentation": "@notice Returns price and corresponding update time\n@return latest POLYUSD price\n@return timestamp of latest price update",
            "id": 20103,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getPriceAndTime",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20092,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7446:2:56"
            },
            "payable": false,
            "returnParameters": {
              "id": 20097,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20094,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 20103,
                  "src": "7469:7:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20093,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7469:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20096,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 20103,
                  "src": "7478:7:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20095,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7478:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7468:18:56"
            },
            "scope": 20267,
            "src": "7422:112:56",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20114,
              "nodeType": "Block",
              "src": "7876:37:56",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 20112,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 20110,
                      "name": "gasLimit",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19551,
                      "src": "7886:8:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 20111,
                      "name": "_gasLimit",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20105,
                      "src": "7897:9:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7886:20:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 20113,
                  "nodeType": "ExpressionStatement",
                  "src": "7886:20:56"
                }
              ]
            },
            "documentation": "@notice Allows owner to set new gas limit on Oraclize queries\n@notice NB - this will only impact newly scheduled Oraclize queries, not future queries which have already been scheduled\n@param _gasLimit gas limit to use for Oraclize callbacks",
            "id": 20115,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 20108,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 20107,
                  "name": "isAdminOrOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 19628,
                  "src": "7854:14:56",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "7854:14:56"
              }
            ],
            "name": "setGasLimit",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20106,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20105,
                  "name": "_gasLimit",
                  "nodeType": "VariableDeclaration",
                  "scope": 20115,
                  "src": "7835:17:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20104,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7835:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7834:19:56"
            },
            "payable": false,
            "returnParameters": {
              "id": 20109,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7876:0:56"
            },
            "scope": 20267,
            "src": "7814:99:56",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20126,
              "nodeType": "Block",
              "src": "8145:39:56",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 20124,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 20122,
                      "name": "staleTime",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19557,
                      "src": "8155:9:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 20123,
                      "name": "_staleTime",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20117,
                      "src": "8167:10:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "8155:22:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 20125,
                  "nodeType": "ExpressionStatement",
                  "src": "8155:22:56"
                }
              ]
            },
            "documentation": "@notice Allows owner to set time after which price is considered stale\n@param _staleTime elapsed time after which price is considered stale",
            "id": 20127,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 20120,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 20119,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 22612,
                  "src": "8128:9:56",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "8128:9:56"
              }
            ],
            "name": "setStaleTime",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20118,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20117,
                  "name": "_staleTime",
                  "nodeType": "VariableDeclaration",
                  "scope": 20127,
                  "src": "8108:18:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20116,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "8108:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8107:20:56"
            },
            "payable": false,
            "returnParameters": {
              "id": 20121,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "8145:0:56"
            },
            "scope": 20267,
            "src": "8086:98:56",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20170,
              "nodeType": "Block",
              "src": "8519:221:56",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 20143,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 20139,
                            "name": "_requestIds",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 20130,
                            "src": "8537:11:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                              "typeString": "bytes32[] memory"
                            }
                          },
                          "id": 20140,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "8537:18:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 20141,
                            "name": "_ignore",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 20133,
                            "src": "8559:7:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr",
                              "typeString": "bool[] memory"
                            }
                          },
                          "id": 20142,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "8559:14:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "8537:36:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "496e636f727265637420706172616d65746572206c656e67746873",
                        "id": 20144,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "8575:29:56",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_2a260843df0fd0e8e64f435829ff8e2f3b1ac1cc1841cbb86f3bd872546602ca",
                          "typeString": "literal_string \"Incorrect parameter lengths\""
                        },
                        "value": "Incorrect parameter lengths"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_2a260843df0fd0e8e64f435829ff8e2f3b1ac1cc1841cbb86f3bd872546602ca",
                          "typeString": "literal_string \"Incorrect parameter lengths\""
                        }
                      ],
                      "id": 20138,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23135,
                      "src": "8529:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 20145,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8529:76:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 20146,
                  "nodeType": "ExpressionStatement",
                  "src": "8529:76:56"
                },
                {
                  "body": {
                    "id": 20168,
                    "nodeType": "Block",
                    "src": "8664:70:56",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 20166,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 20158,
                              "name": "ignoreRequestIds",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 19571,
                              "src": "8678:16:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$",
                                "typeString": "mapping(bytes32 => bool)"
                              }
                            },
                            "id": 20162,
                            "indexExpression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 20159,
                                "name": "_requestIds",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 20130,
                                "src": "8695:11:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                  "typeString": "bytes32[] memory"
                                }
                              },
                              "id": 20161,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 20160,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 20148,
                                "src": "8707:1:56",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "8695:14:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "8678:32:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 20163,
                              "name": "_ignore",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 20133,
                              "src": "8713:7:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr",
                                "typeString": "bool[] memory"
                              }
                            },
                            "id": 20165,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 20164,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 20148,
                              "src": "8721:1:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "8713:10:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "src": "8678:45:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 20167,
                        "nodeType": "ExpressionStatement",
                        "src": "8678:45:56"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 20154,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 20151,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20148,
                      "src": "8635:1:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 20152,
                        "name": "_requestIds",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20130,
                        "src": "8639:11:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                          "typeString": "bytes32[] memory"
                        }
                      },
                      "id": 20153,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "8639:18:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "8635:22:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 20169,
                  "initializationExpression": {
                    "assignments": [
                      20148
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 20148,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 20171,
                        "src": "8620:9:56",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 20147,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "8620:7:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 20150,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 20149,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "8632:1:56",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "8620:13:56"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 20156,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "8659:3:56",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 20155,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20148,
                        "src": "8659:1:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 20157,
                    "nodeType": "ExpressionStatement",
                    "src": "8659:3:56"
                  },
                  "nodeType": "ForStatement",
                  "src": "8615:119:56"
                }
              ]
            },
            "documentation": "@notice Allows owner to ignore specific requestId results from Oraclize\n@param _requestIds Oraclize queryIds (as logged out when Oraclize query is scheduled)\n@param _ignore whether or not they should be ignored",
            "id": 20171,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 20136,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 20135,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 22612,
                  "src": "8502:9:56",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "8502:9:56"
              }
            ],
            "name": "setIgnoreRequestIds",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20134,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20130,
                  "name": "_requestIds",
                  "nodeType": "VariableDeclaration",
                  "scope": 20171,
                  "src": "8463:21:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                    "typeString": "bytes32[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 20128,
                      "name": "bytes32",
                      "nodeType": "ElementaryTypeName",
                      "src": "8463:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "id": 20129,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "8463:9:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                      "typeString": "bytes32[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20133,
                  "name": "_ignore",
                  "nodeType": "VariableDeclaration",
                  "scope": 20171,
                  "src": "8486:14:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bool_$dyn_memory_ptr",
                    "typeString": "bool[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 20131,
                      "name": "bool",
                      "nodeType": "ElementaryTypeName",
                      "src": "8486:4:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "id": 20132,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "8486:6:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bool_$dyn_storage_ptr",
                      "typeString": "bool[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8462:39:56"
            },
            "payable": false,
            "returnParameters": {
              "id": 20137,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "8519:0:56"
            },
            "scope": 20267,
            "src": "8434:306:56",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20192,
              "nodeType": "Block",
              "src": "9017:86:56",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 20184,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 20180,
                        "name": "admin",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 19575,
                        "src": "9027:5:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                          "typeString": "mapping(address => bool)"
                        }
                      },
                      "id": 20182,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 20181,
                        "name": "_admin",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20173,
                        "src": "9033:6:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "9027:13:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 20183,
                      "name": "_valid",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20175,
                      "src": "9043:6:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "9027:22:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 20185,
                  "nodeType": "ExpressionStatement",
                  "src": "9027:22:56"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 20187,
                        "name": "_admin",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20173,
                        "src": "9076:6:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 20188,
                        "name": "_valid",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 20175,
                        "src": "9084:6:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 20189,
                        "name": "now",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 23133,
                        "src": "9092:3:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 20186,
                      "name": "LogAdminSet",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19603,
                      "src": "9064:11:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bool_$_t_uint256_$returns$__$",
                        "typeString": "function (address,bool,uint256)"
                      }
                    },
                    "id": 20190,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9064:32:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 20191,
                  "nodeType": "EmitStatement",
                  "src": "9059:37:56"
                }
              ]
            },
            "documentation": "@notice Allows owner to set up admin addresses that can schedule updates\n@param _admin Admin address\n@param _valid Whether address should be added or removed from admin list",
            "id": 20193,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 20178,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 20177,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 22612,
                  "src": "9000:9:56",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "9000:9:56"
              }
            ],
            "name": "setAdmin",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20176,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20173,
                  "name": "_admin",
                  "nodeType": "VariableDeclaration",
                  "scope": 20193,
                  "src": "8971:14:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 20172,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "8971:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 20175,
                  "name": "_valid",
                  "nodeType": "VariableDeclaration",
                  "scope": 20193,
                  "src": "8987:11:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 20174,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "8987:4:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8970:29:56"
            },
            "payable": false,
            "returnParameters": {
              "id": 20179,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "9017:0:56"
            },
            "scope": 20267,
            "src": "8953:150:56",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20204,
              "nodeType": "Block",
              "src": "9378:63:56",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 20202,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 20200,
                      "name": "oraclizeTimeTolerance",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 19554,
                      "src": "9388:21:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 20201,
                      "name": "_oraclizeTimeTolerance",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 20195,
                      "src": "9412:22:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "9388:46:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 20203,
                  "nodeType": "ExpressionStatement",
                  "src": "9388:46:56"
                }
              ]
            },
            "documentation": "@notice Allows owner to set new time tolerance on Oraclize queries\n@param _oraclizeTimeTolerance amount of time in seconds that an Oraclize query can be early",
            "id": 20205,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 20198,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 20197,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 22612,
                  "src": "9361:9:56",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "9361:9:56"
              }
            ],
            "name": "setOraclizeTimeTolerance",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20196,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20195,
                  "name": "_oraclizeTimeTolerance",
                  "nodeType": "VariableDeclaration",
                  "scope": 20205,
                  "src": "9329:30:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20194,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "9329:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "9328:32:56"
            },
            "payable": false,
            "returnParameters": {
              "id": 20199,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "9378:0:56"
            },
            "scope": 20267,
            "src": "9295:146:56",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 20212,
              "nodeType": "Block",
              "src": "9586:66:56",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "hexValue": "307839393932654333634636413535623030393738636444463262323742433638383264383844316543",
                    "id": 20210,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "9603:42:56",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "value": "0x9992eC3cF6A55b00978cdDF2b27BC6882d88D1eC"
                  },
                  "functionReturnParameters": 20209,
                  "id": 20211,
                  "nodeType": "Return",
                  "src": "9596:49:56"
                }
              ]
            },
            "documentation": "@notice Returns address of oracle currency (0x0 for ETH)",
            "id": 20213,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getCurrencyAddress",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20206,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "9552:2:56"
            },
            "payable": false,
            "returnParameters": {
              "id": 20209,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20208,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 20213,
                  "src": "9577:7:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 20207,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "9577:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "9576:9:56"
            },
            "scope": 20267,
            "src": "9525:127:56",
            "stateMutability": "view",
            "superFunction": 9984,
            "visibility": "external"
          },
          {
            "body": {
              "id": 20222,
              "nodeType": "Block",
              "src": "9795:39:56",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "hexValue": "504f4c59",
                        "id": 20219,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "9820:6:56",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_42e9b9ff2964f66d264e07a2cd4c5234a8c8c5adbfc54101bd50b0744fcd261f",
                          "typeString": "literal_string \"POLY\""
                        },
                        "value": "POLY"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_stringliteral_42e9b9ff2964f66d264e07a2cd4c5234a8c8c5adbfc54101bd50b0744fcd261f",
                          "typeString": "literal_string \"POLY\""
                        }
                      ],
                      "id": 20218,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "9812:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_bytes32_$",
                        "typeString": "type(bytes32)"
                      },
                      "typeName": "bytes32"
                    },
                    "id": 20220,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9812:15:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 20217,
                  "id": 20221,
                  "nodeType": "Return",
                  "src": "9805:22:56"
                }
              ]
            },
            "documentation": "@notice Returns symbol of oracle currency (0x0 for ETH)",
            "id": 20223,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getCurrencySymbol",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20214,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "9761:2:56"
            },
            "payable": false,
            "returnParameters": {
              "id": 20217,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20216,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 20223,
                  "src": "9786:7:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 20215,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "9786:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "9785:9:56"
            },
            "scope": 20267,
            "src": "9735:99:56",
            "stateMutability": "view",
            "superFunction": 9989,
            "visibility": "external"
          },
          {
            "body": {
              "id": 20232,
              "nodeType": "Block",
              "src": "9964:38:56",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "hexValue": "555344",
                        "id": 20229,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "9989:5:56",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_c4ae21aac0c6549d71dd96035b7e0bdb6c79ebdba8891b666115bc976d16a29e",
                          "typeString": "literal_string \"USD\""
                        },
                        "value": "USD"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_stringliteral_c4ae21aac0c6549d71dd96035b7e0bdb6c79ebdba8891b666115bc976d16a29e",
                          "typeString": "literal_string \"USD\""
                        }
                      ],
                      "id": 20228,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "9981:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_bytes32_$",
                        "typeString": "type(bytes32)"
                      },
                      "typeName": "bytes32"
                    },
                    "id": 20230,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9981:14:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 20227,
                  "id": 20231,
                  "nodeType": "Return",
                  "src": "9974:21:56"
                }
              ]
            },
            "documentation": "@notice Returns denomination of price",
            "id": 20233,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getCurrencyDenominated",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20224,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "9930:2:56"
            },
            "payable": false,
            "returnParameters": {
              "id": 20227,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20226,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 20233,
                  "src": "9955:7:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 20225,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "9955:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "9954:9:56"
            },
            "scope": 20267,
            "src": "9899:103:56",
            "stateMutability": "view",
            "superFunction": 9994,
            "visibility": "external"
          },
          {
            "body": {
              "id": 20248,
              "nodeType": "Block",
              "src": "10130:81:56",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 20243,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 20239,
                          "name": "latestUpdate",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 19561,
                          "src": "10148:12:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 20242,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 20240,
                            "name": "now",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 23133,
                            "src": "10164:3:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "-",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 20241,
                            "name": "staleTime",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 19557,
                            "src": "10170:9:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "10164:15:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "10148:31:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 20238,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        23134,
                        23135
                      ],
                      "referencedDeclaration": 23134,
                      "src": "10140:7:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 20244,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10140:40:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 20245,
                  "nodeType": "ExpressionStatement",
                  "src": "10140:40:56"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 20246,
                    "name": "POLYUSD",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 19559,
                    "src": "10197:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 20237,
                  "id": 20247,
                  "nodeType": "Return",
                  "src": "10190:14:56"
                }
              ]
            },
            "documentation": "@notice Returns price - should throw if not valid",
            "id": 20249,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getPrice",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20234,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "10096:2:56"
            },
            "payable": false,
            "returnParameters": {
              "id": 20237,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 20236,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 20249,
                  "src": "10121:7:56",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 20235,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "10121:7:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "10120:9:56"
            },
            "scope": 20267,
            "src": "10079:132:56",
            "stateMutability": "view",
            "superFunction": 9999,
            "visibility": "external"
          },
          {
            "body": {
              "id": 20265,
              "nodeType": "Block",
              "src": "10315:59:56",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 20260,
                              "name": "this",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 23248,
                              "src": "10353:4:56",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_PolyOracle_$20267",
                                "typeString": "contract PolyOracle"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_contract$_PolyOracle_$20267",
                                "typeString": "contract PolyOracle"
                              }
                            ],
                            "id": 20259,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "10345:7:56",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": "address"
                          },
                          "id": 20261,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "10345:13:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 20262,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "balance",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "10345:21:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 20254,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 23131,
                          "src": "10325:3:56",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 20257,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "10325:10:56",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "id": 20258,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "transfer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "10325:19:56",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 20263,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10325:42:56",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 20264,
                  "nodeType": "ExpressionStatement",
                  "src": "10325:42:56"
                }
              ]
            },
            "documentation": "@notice Returns balance to owner",
            "id": 20266,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 20252,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 20251,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 22612,
                  "src": "10305:9:56",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "10305:9:56"
              }
            ],
            "name": "drainContract",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 20250,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "10293:2:56"
            },
            "payable": false,
            "returnParameters": {
              "id": 20253,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "10315:0:56"
            },
            "scope": 20267,
            "src": "10271:103:56",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          }
        ],
        "scope": 20268,
        "src": "225:10152:56"
      }
    ],
    "src": "0:10378:56"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.24+commit.e67f0147.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "2.0.1",
  "updatedAt": "2018-08-21T09:48:12.713Z"
}