{
  "_format": "hh-sol-artifact-1",
  "contractName": "SignalScheme",
  "sourceName": "contracts/schemes/SignalScheme.sol",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "_avatar",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "_signalType",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "_descriptionHash",
          "type": "string"
        }
      ],
      "name": "NewSignalProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "_avatar",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "_signalType",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "_descriptionHash",
          "type": "string"
        }
      ],
      "name": "Signal",
      "type": "event"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "contract IERC20",
          "name": "_stakingToken",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "balanceOfStakingToken",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "_beneficiary",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "burnReputation",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "internalType": "int256",
          "name": "_param",
          "type": "int256"
        }
      ],
      "name": "executeProposal",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "getTotalReputationSupply",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "contract Avatar",
          "name": "_avatar",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_signalType",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "_voteApproveParams",
          "type": "bytes32"
        },
        {
          "internalType": "contract IntVoteInterface",
          "name": "_intVote",
          "type": "address"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "_beneficiary",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "mintReputation",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "params",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "voteApproveParams",
          "type": "bytes32"
        },
        {
          "internalType": "contract IntVoteInterface",
          "name": "intVote",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "signalType",
          "type": "uint256"
        },
        {
          "internalType": "contract Avatar",
          "name": "avatar",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "proposals",
      "outputs": [
        {
          "internalType": "string",
          "name": "descriptionHash",
          "type": "string"
        },
        {
          "internalType": "bool",
          "name": "executed",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "proposalsInfo",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "blockNumber",
          "type": "uint256"
        },
        {
          "internalType": "contract Avatar",
          "name": "avatar",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "string",
          "name": "_descriptionHash",
          "type": "string"
        }
      ],
      "name": "proposeSignal",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "address",
          "name": "_owner",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "reputationOf",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "contract IERC20",
          "name": "_stakingToken",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_beneficiary",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "stakingTokenTransfer",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50611591806100206000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80639d4c162d116100715780639d4c162d146102bc578063b551c373146102f3578063bea75f2814610310578063cff0ab961461034c578063d29b5d2f14610385578063f81f8bf6146103b7576100b4565b8063294e8d0e146100b957806332ed5b12146100f557806360bdbb3f146101955780636b8eb403146101e257806385434788146102205780639588378e14610290575b600080fd5b6100f3600480360360808110156100cf57600080fd5b506001600160a01b03813581169160208101359160408201359160600135166103e9565b005b6101126004803603602081101561010b57600080fd5b50356104fa565b604051808060200183151515158152602001828103825284818151815260200191508051906020019080838360005b83811015610159578181015183820152602001610141565b50505050905090810190601f1680156101865780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b6101c1600480360360408110156101ab57600080fd5b506001600160a01b03813516906020013561059f565b604080519283526001600160a01b0390911660208301528051918290030190f35b61020e600480360360408110156101f857600080fd5b506001600160a01b0381351690602001356105c9565b60408051918252519081900360200190f35b61020e6004803603602081101561023657600080fd5b81019060208101813564010000000081111561025157600080fd5b82018360208201111561026357600080fd5b8035906020019184600183028401116401000000008311171561028557600080fd5b509092509050610689565b61020e600480360360408110156102a657600080fd5b506001600160a01b03813516906020013561094f565b6102df600480360360408110156102d257600080fd5b5080359060200135610be1565b604080519115158252519081900360200190f35b61020e6004803603602081101561030957600080fd5b5035610d6a565b6102df6004803603608081101561032657600080fd5b506001600160a01b03813581169160208101359091169060408101359060600135610ff2565b610354611194565b604080519485526001600160a01b039384166020860152848101929092529091166060830152519081900360800190f35b6102df6004803603606081101561039b57600080fd5b508035906001600160a01b0360208201351690604001356111b0565b6102df600480360360608110156103cd57600080fd5b508035906001600160a01b036020820135169060400135611349565b6005546001600160a01b031615610447576040805162461bcd60e51b815260206004820152601b60248201527f63616e2062652063616c6c6564206f6e6c79206f6e652074696d650000000000604482015290519081900360640190fd5b6001600160a01b03841661049a576040805162461bcd60e51b81526020600482015260156024820152746176617461722063616e6e6f74206265207a65726f60581b604482015290519081900360640190fd5b604080516080810182528381526001600160a01b0392831660208201819052918101859052949091166060909401849052600291909155600380546001600160a01b03199081169092179055600491909155600580549091169091179055565b60016020818152600092835260409283902080548451600294821615610100026000190190911693909304601f810183900483028401830190945283835292839183018282801561058c5780601f106105615761010080835404028352916020019161058c565b820191906000526020600020905b81548152906001019060200180831161056f57829003601f168201915b5050506001909301549192505060ff1682565b6000602081815292815260408082209093529081522080546001909101546001600160a01b031682565b336000908152602081815260408083208484529091528120600101546001600160a01b0316806105fd576000915050610683565b836001600160a01b03166370a08231826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561065357600080fd5b505afa158015610667573d6000803e3d6000fd5b505050506040513d602081101561067d57600080fd5b50519150505b92915050565b60055460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b1580156106ce57600080fd5b505afa1580156106e2573d6000803e3d6000fd5b505050506040513d60208110156106f857600080fd5b505160055460408051639be2faed60e01b81523060048201526001600160a01b03928316602482015290519190921691639be2faed916044808301926020929190829003018186803b15801561074d57600080fd5b505afa158015610761573d6000803e3d6000fd5b505050506040513d602081101561077757600080fd5b50516107c5576040805162461bcd60e51b81526020600482015260186024820152771cd8da195b59481a5cc81b9bdd081c9959da5cdd195c995960421b604482015290519081900360640190fd5b6003546002805460055460408051634439bdaf60e11b8152600481019490945260248401929092523360448401526001600160a01b039081166064840152905160009391909116916388737b5e91608480830192602092919082900301818787803b15801561083357600080fd5b505af1158015610847573d6000803e3d6000fd5b505050506040513d602081101561085d57600080fd5b5051600081815260016020526040902090915061087b9085856114aa565b50600454600554604080516020808252810187905284926001600160a01b0316917f940af78fa85d990be5623aeca8b988922784c8c782b1c2c2fb416d83c05547fb91899189919081908101848480828437600083820152604051601f909101601f19169092018290039550909350505050a46040805180820182524381526005546001600160a01b0390811660208084019182526003548316600090815280825285812087825290915293909320915182559151600190910180546001600160a01b031916919092161790559392505050565b336000908152602081815260408083208484528252808320600101548151638da5cb5b60e01b8152915185936001600160a01b03909216928392638da5cb5b92600480840193829003018186803b1580156109a957600080fd5b505afa1580156109bd573d6000803e3d6000fd5b505050506040513d60208110156109d357600080fd5b505160408051639be2faed60e01b81523060048201526001600160a01b03848116602483015291519190921691639be2faed916044808301926020929190829003018186803b158015610a2557600080fd5b505afa158015610a39573d6000803e3d6000fd5b505050506040513d6020811015610a4f57600080fd5b5051610a9d576040805162461bcd60e51b81526020600482015260186024820152771cd8da195b59481a5cc81b9bdd081c9959da5cdd195c995960421b604482015290519081900360640190fd5b610aa5611528565b5033600090815260208181526040808320878452825291829020825180840190935280548352600101546001600160a01b0316908201819052610aec576000935050610bd9565b80602001516001600160a01b03166389ae1c906040518163ffffffff1660e01b815260040160206040518083038186803b158015610b2957600080fd5b505afa158015610b3d573d6000803e3d6000fd5b505050506040513d6020811015610b5357600080fd5b505181516040805163277166bf60e11b81526001600160a01b038a81166004830152602482019390935290519190921691634ee2cd7e916044808301926020929190829003018186803b158015610ba957600080fd5b505afa158015610bbd573d6000803e3d6000fd5b505050506040513d6020811015610bd357600080fd5b50519350505b505092915050565b3360009081526020818152604080832085845290915281206001015483906001600160a01b0316610c4e576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b6000848152600160208190526040909120015460ff1615610c6e57600080fd5b60008481526001602081905260409091208101805460ff191682179055831415610d6057600454600554600086815260016020818152604092839020835182815281546002600019958216156101000295909501169390930491830182905289946001600160a01b0316937fefc186437cd31fb390ee7bfa83473db0ede42b31121c466bb7afb8b3f665ca98939192829182019084908015610d515780601f10610d2657610100808354040283529160200191610d51565b820191906000526020600020905b815481529060010190602001808311610d3457829003601f168201915b50509250505060405180910390a45b5060019392505050565b336000908152602081815260408083208484528252808320600101548151638da5cb5b60e01b8152915185936001600160a01b03909216928392638da5cb5b92600480840193829003018186803b158015610dc457600080fd5b505afa158015610dd8573d6000803e3d6000fd5b505050506040513d6020811015610dee57600080fd5b505160408051639be2faed60e01b81523060048201526001600160a01b03848116602483015291519190921691639be2faed916044808301926020929190829003018186803b158015610e4057600080fd5b505afa158015610e54573d6000803e3d6000fd5b505050506040513d6020811015610e6a57600080fd5b5051610eb8576040805162461bcd60e51b81526020600482015260186024820152771cd8da195b59481a5cc81b9bdd081c9959da5cdd195c995960421b604482015290519081900360640190fd5b610ec0611528565b5033600090815260208181526040808320878452825291829020825180840190935280548352600101546001600160a01b0316908201819052610f07576000935050610feb565b80602001516001600160a01b03166389ae1c906040518163ffffffff1660e01b815260040160206040518083038186803b158015610f4457600080fd5b505afa158015610f58573d6000803e3d6000fd5b505050506040513d6020811015610f6e57600080fd5b5051815160408051630981b24d60e41b81526004810192909252516001600160a01b039092169163981b24d091602480820192602092909190829003018186803b158015610fbb57600080fd5b505afa158015610fcf573d6000803e3d6000fd5b505050506040513d6020811015610fe557600080fd5b50519350505b5050919050565b3360009081526020818152604080832084845290915281206001015482906001600160a01b031661105f576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b336000908152602081815260408083208684529091529020600101546001600160a01b03168061109357600092505061118b565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156110cc57600080fd5b505afa1580156110e0573d6000803e3d6000fd5b505050506040513d60208110156110f657600080fd5b50516040805163b9a04cdd60e01b81526001600160a01b038a8116600483015289811660248301526044820189905284811660648301529151919092169163b9a04cdd9160848083019260209291908290030181600087803b15801561115b57600080fd5b505af115801561116f573d6000803e3d6000fd5b505050506040513d602081101561118557600080fd5b50519250505b50949350505050565b6002546003546004546005546001600160a01b03928316921684565b3360009081526020818152604080832084845290915281206001015482906001600160a01b031661121d576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b336000908152602081815260408083208684529091529020600101546001600160a01b031680611251576000925050611341565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561128a57600080fd5b505afa15801561129e573d6000803e3d6000fd5b505050506040513d60208110156112b457600080fd5b50516040805163757cca5960e11b8152600481018990526001600160a01b03888116602483015284811660448301529151919092169163eaf994b29160648083019260209291908290030181600087803b15801561131157600080fd5b505af1158015611325573d6000803e3d6000fd5b505050506040513d602081101561133b57600080fd5b50519250505b509392505050565b3360009081526020818152604080832084845290915281206001015482906001600160a01b03166113b6576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b336000908152602081815260408083208684529091529020600101546001600160a01b0316806113ea576000925050611341565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561142357600080fd5b505afa158015611437573d6000803e3d6000fd5b505050506040513d602081101561144d57600080fd5b505160408051630dd29a4f60e31b8152600481018990526001600160a01b038881166024830152848116604483015291519190921691636e94d2789160648083019260209291908290030181600087803b15801561131157600080fd5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106114eb5782800160ff19823516178555611518565b82800160010185558215611518579182015b828111156115185782358255916020019190600101906114fd565b5061152492915061153f565b5090565b604080518082019091526000808252602082015290565b61155991905b808211156115245760008155600101611545565b9056fea265627a7a72315820e53bf92596b7d49e22a32cbe41080c548cffcc1d42d7dd23550e3f4a234ed42c64736f6c63430005110032",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c80639d4c162d116100715780639d4c162d146102bc578063b551c373146102f3578063bea75f2814610310578063cff0ab961461034c578063d29b5d2f14610385578063f81f8bf6146103b7576100b4565b8063294e8d0e146100b957806332ed5b12146100f557806360bdbb3f146101955780636b8eb403146101e257806385434788146102205780639588378e14610290575b600080fd5b6100f3600480360360808110156100cf57600080fd5b506001600160a01b03813581169160208101359160408201359160600135166103e9565b005b6101126004803603602081101561010b57600080fd5b50356104fa565b604051808060200183151515158152602001828103825284818151815260200191508051906020019080838360005b83811015610159578181015183820152602001610141565b50505050905090810190601f1680156101865780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b6101c1600480360360408110156101ab57600080fd5b506001600160a01b03813516906020013561059f565b604080519283526001600160a01b0390911660208301528051918290030190f35b61020e600480360360408110156101f857600080fd5b506001600160a01b0381351690602001356105c9565b60408051918252519081900360200190f35b61020e6004803603602081101561023657600080fd5b81019060208101813564010000000081111561025157600080fd5b82018360208201111561026357600080fd5b8035906020019184600183028401116401000000008311171561028557600080fd5b509092509050610689565b61020e600480360360408110156102a657600080fd5b506001600160a01b03813516906020013561094f565b6102df600480360360408110156102d257600080fd5b5080359060200135610be1565b604080519115158252519081900360200190f35b61020e6004803603602081101561030957600080fd5b5035610d6a565b6102df6004803603608081101561032657600080fd5b506001600160a01b03813581169160208101359091169060408101359060600135610ff2565b610354611194565b604080519485526001600160a01b039384166020860152848101929092529091166060830152519081900360800190f35b6102df6004803603606081101561039b57600080fd5b508035906001600160a01b0360208201351690604001356111b0565b6102df600480360360608110156103cd57600080fd5b508035906001600160a01b036020820135169060400135611349565b6005546001600160a01b031615610447576040805162461bcd60e51b815260206004820152601b60248201527f63616e2062652063616c6c6564206f6e6c79206f6e652074696d650000000000604482015290519081900360640190fd5b6001600160a01b03841661049a576040805162461bcd60e51b81526020600482015260156024820152746176617461722063616e6e6f74206265207a65726f60581b604482015290519081900360640190fd5b604080516080810182528381526001600160a01b0392831660208201819052918101859052949091166060909401849052600291909155600380546001600160a01b03199081169092179055600491909155600580549091169091179055565b60016020818152600092835260409283902080548451600294821615610100026000190190911693909304601f810183900483028401830190945283835292839183018282801561058c5780601f106105615761010080835404028352916020019161058c565b820191906000526020600020905b81548152906001019060200180831161056f57829003601f168201915b5050506001909301549192505060ff1682565b6000602081815292815260408082209093529081522080546001909101546001600160a01b031682565b336000908152602081815260408083208484529091528120600101546001600160a01b0316806105fd576000915050610683565b836001600160a01b03166370a08231826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561065357600080fd5b505afa158015610667573d6000803e3d6000fd5b505050506040513d602081101561067d57600080fd5b50519150505b92915050565b60055460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b1580156106ce57600080fd5b505afa1580156106e2573d6000803e3d6000fd5b505050506040513d60208110156106f857600080fd5b505160055460408051639be2faed60e01b81523060048201526001600160a01b03928316602482015290519190921691639be2faed916044808301926020929190829003018186803b15801561074d57600080fd5b505afa158015610761573d6000803e3d6000fd5b505050506040513d602081101561077757600080fd5b50516107c5576040805162461bcd60e51b81526020600482015260186024820152771cd8da195b59481a5cc81b9bdd081c9959da5cdd195c995960421b604482015290519081900360640190fd5b6003546002805460055460408051634439bdaf60e11b8152600481019490945260248401929092523360448401526001600160a01b039081166064840152905160009391909116916388737b5e91608480830192602092919082900301818787803b15801561083357600080fd5b505af1158015610847573d6000803e3d6000fd5b505050506040513d602081101561085d57600080fd5b5051600081815260016020526040902090915061087b9085856114aa565b50600454600554604080516020808252810187905284926001600160a01b0316917f940af78fa85d990be5623aeca8b988922784c8c782b1c2c2fb416d83c05547fb91899189919081908101848480828437600083820152604051601f909101601f19169092018290039550909350505050a46040805180820182524381526005546001600160a01b0390811660208084019182526003548316600090815280825285812087825290915293909320915182559151600190910180546001600160a01b031916919092161790559392505050565b336000908152602081815260408083208484528252808320600101548151638da5cb5b60e01b8152915185936001600160a01b03909216928392638da5cb5b92600480840193829003018186803b1580156109a957600080fd5b505afa1580156109bd573d6000803e3d6000fd5b505050506040513d60208110156109d357600080fd5b505160408051639be2faed60e01b81523060048201526001600160a01b03848116602483015291519190921691639be2faed916044808301926020929190829003018186803b158015610a2557600080fd5b505afa158015610a39573d6000803e3d6000fd5b505050506040513d6020811015610a4f57600080fd5b5051610a9d576040805162461bcd60e51b81526020600482015260186024820152771cd8da195b59481a5cc81b9bdd081c9959da5cdd195c995960421b604482015290519081900360640190fd5b610aa5611528565b5033600090815260208181526040808320878452825291829020825180840190935280548352600101546001600160a01b0316908201819052610aec576000935050610bd9565b80602001516001600160a01b03166389ae1c906040518163ffffffff1660e01b815260040160206040518083038186803b158015610b2957600080fd5b505afa158015610b3d573d6000803e3d6000fd5b505050506040513d6020811015610b5357600080fd5b505181516040805163277166bf60e11b81526001600160a01b038a81166004830152602482019390935290519190921691634ee2cd7e916044808301926020929190829003018186803b158015610ba957600080fd5b505afa158015610bbd573d6000803e3d6000fd5b505050506040513d6020811015610bd357600080fd5b50519350505b505092915050565b3360009081526020818152604080832085845290915281206001015483906001600160a01b0316610c4e576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b6000848152600160208190526040909120015460ff1615610c6e57600080fd5b60008481526001602081905260409091208101805460ff191682179055831415610d6057600454600554600086815260016020818152604092839020835182815281546002600019958216156101000295909501169390930491830182905289946001600160a01b0316937fefc186437cd31fb390ee7bfa83473db0ede42b31121c466bb7afb8b3f665ca98939192829182019084908015610d515780601f10610d2657610100808354040283529160200191610d51565b820191906000526020600020905b815481529060010190602001808311610d3457829003601f168201915b50509250505060405180910390a45b5060019392505050565b336000908152602081815260408083208484528252808320600101548151638da5cb5b60e01b8152915185936001600160a01b03909216928392638da5cb5b92600480840193829003018186803b158015610dc457600080fd5b505afa158015610dd8573d6000803e3d6000fd5b505050506040513d6020811015610dee57600080fd5b505160408051639be2faed60e01b81523060048201526001600160a01b03848116602483015291519190921691639be2faed916044808301926020929190829003018186803b158015610e4057600080fd5b505afa158015610e54573d6000803e3d6000fd5b505050506040513d6020811015610e6a57600080fd5b5051610eb8576040805162461bcd60e51b81526020600482015260186024820152771cd8da195b59481a5cc81b9bdd081c9959da5cdd195c995960421b604482015290519081900360640190fd5b610ec0611528565b5033600090815260208181526040808320878452825291829020825180840190935280548352600101546001600160a01b0316908201819052610f07576000935050610feb565b80602001516001600160a01b03166389ae1c906040518163ffffffff1660e01b815260040160206040518083038186803b158015610f4457600080fd5b505afa158015610f58573d6000803e3d6000fd5b505050506040513d6020811015610f6e57600080fd5b5051815160408051630981b24d60e41b81526004810192909252516001600160a01b039092169163981b24d091602480820192602092909190829003018186803b158015610fbb57600080fd5b505afa158015610fcf573d6000803e3d6000fd5b505050506040513d6020811015610fe557600080fd5b50519350505b5050919050565b3360009081526020818152604080832084845290915281206001015482906001600160a01b031661105f576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b336000908152602081815260408083208684529091529020600101546001600160a01b03168061109357600092505061118b565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156110cc57600080fd5b505afa1580156110e0573d6000803e3d6000fd5b505050506040513d60208110156110f657600080fd5b50516040805163b9a04cdd60e01b81526001600160a01b038a8116600483015289811660248301526044820189905284811660648301529151919092169163b9a04cdd9160848083019260209291908290030181600087803b15801561115b57600080fd5b505af115801561116f573d6000803e3d6000fd5b505050506040513d602081101561118557600080fd5b50519250505b50949350505050565b6002546003546004546005546001600160a01b03928316921684565b3360009081526020818152604080832084845290915281206001015482906001600160a01b031661121d576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b336000908152602081815260408083208684529091529020600101546001600160a01b031680611251576000925050611341565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561128a57600080fd5b505afa15801561129e573d6000803e3d6000fd5b505050506040513d60208110156112b457600080fd5b50516040805163757cca5960e11b8152600481018990526001600160a01b03888116602483015284811660448301529151919092169163eaf994b29160648083019260209291908290030181600087803b15801561131157600080fd5b505af1158015611325573d6000803e3d6000fd5b505050506040513d602081101561133b57600080fd5b50519250505b509392505050565b3360009081526020818152604080832084845290915281206001015482906001600160a01b03166113b6576040805162461bcd60e51b81526020600482015260126024820152716f6e6c7920566f74696e674d616368696e6560701b604482015290519081900360640190fd5b336000908152602081815260408083208684529091529020600101546001600160a01b0316806113ea576000925050611341565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561142357600080fd5b505afa158015611437573d6000803e3d6000fd5b505050506040513d602081101561144d57600080fd5b505160408051630dd29a4f60e31b8152600481018990526001600160a01b038881166024830152848116604483015291519190921691636e94d2789160648083019260209291908290030181600087803b15801561131157600080fd5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106114eb5782800160ff19823516178555611518565b82800160010185558215611518579182015b828111156115185782358255916020019190600101906114fd565b5061152492915061153f565b5090565b604080518082019091526000808252602082015290565b61155991905b808211156115245760008155600101611545565b9056fea265627a7a72315820e53bf92596b7d49e22a32cbe41080c548cffcc1d42d7dd23550e3f4a234ed42c64736f6c63430005110032",
  "linkReferences": {},
  "deployedLinkReferences": {}
}