{
  "_format": "hh-sol-artifact-1",
  "contractName": "LockingToken4Reputation",
  "sourceName": "contracts/schemes/LockingToken4Reputation.sol",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "_locker",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_lockingId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_period",
          "type": "uint256"
        }
      ],
      "name": "Lock",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_lockingId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "_token",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_numerator",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_denominator",
          "type": "uint256"
        }
      ],
      "name": "LockToken",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "_beneficiary",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        }
      ],
      "name": "Redeem",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_lockingId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "_beneficiary",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        }
      ],
      "name": "Release",
      "type": "event"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "avatar",
      "outputs": [
        {
          "internalType": "contract Avatar",
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getAgreementHash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "contract Avatar",
          "name": "_avatar",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_reputationReward",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_lockingStartTime",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_lockingEndTime",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_redeemEnableTime",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_maxLockingPeriod",
          "type": "uint256"
        },
        {
          "internalType": "contract PriceOracleInterface",
          "name": "_priceOracleContract",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_agreementHash",
          "type": "bytes32"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_period",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "_token",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_agreementHash",
          "type": "bytes32"
        }
      ],
      "name": "lock",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "lockingId",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "lockedTokens",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "lockers",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "releaseTime",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "lockingEndTime",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "lockingStartTime",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "lockingsCounter",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "maxLockingPeriod",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "priceOracleContract",
      "outputs": [
        {
          "internalType": "contract PriceOracleInterface",
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "address",
          "name": "_beneficiary",
          "type": "address"
        }
      ],
      "name": "redeem",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "reputation",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "redeemEnableTime",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "address",
          "name": "_beneficiary",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_lockingId",
          "type": "bytes32"
        }
      ],
      "name": "release",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "reputationReward",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "reputationRewardLeft",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "scores",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "totalLocked",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "totalLockedLeft",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "totalScore",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b506116af806100206000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806395a2251f116100ad578063c3201add11610071578063c3201add146102cd578063c348a24b146102d5578063d7c2eec7146102dd578063e8d335881461031d578063ed1ff6d81461033a5761012c565b806395a2251f14610287578063a8c33017146102ad578063afe0e33c146102b5578063bf0df445146102bd578063c006719f146102c55761012c565b8063696da921116100f4578063696da9211461018757806376dd110f1461018f5780637ad88799146101b5578063838057421461020a57806394d0cb6e1461024f5761012c565b80633d1678f414610131578063457454db1461014b57806355bfec881461016f57806356891412146101775780635aef7de61461017f575b600080fd5b610139610342565b60408051918252519081900360200190f35b610153610348565b604080516001600160a01b039092168252519081900360200190f35b610139610357565b61013961035d565b610153610363565b610139610372565b610139600480360360208110156101a557600080fd5b50356001600160a01b0316610378565b61020860048036036101008110156101cc57600080fd5b506001600160a01b03813581169160208101359160408201359160608101359160808201359160a08101359160c0820135169060e0013561038a565b005b6102366004803603604081101561022057600080fd5b506001600160a01b0381351690602001356103be565b6040805192835260208301919091528051918290030190f35b6101396004803603608081101561026557600080fd5b508035906020810135906001600160a01b0360408201351690606001356103e2565b6101396004803603602081101561029d57600080fd5b50356001600160a01b03166105ad565b610139610855565b61013961085b565b610139610861565b610139610867565b61013961086d565b610139610873565b610309600480360360408110156102f357600080fd5b506001600160a01b038135169060200135610879565b604080519115158252519081900360200190f35b6101536004803603602081101561033357600080fd5b50356108be565b6101396108d9565b600d5481565b600e546001600160a01b031681565b600c5481565b60045481565b6001546001600160a01b031681565b60005490565b60036020526000908152604090205481565b600e80546001600160a01b0319166001600160a01b0384161790556103b4888888888888876108df565b5050505050505050565b60026020908152600092835260408084209091529082529020805460019091015482565b600e54604080516341976e0960e01b81526001600160a01b03858116600483015282516000948594859493909116926341976e099260248083019392829003018186803b15801561043257600080fd5b505afa158015610446573d6000803e3d6000fd5b505050506040513d604081101561045c57600080fd5b5080516020909101519092509050816104bc576040805162461bcd60e51b815260206004820152601760248201527f6e756d657261746f722073686f756c64206265203e2030000000000000000000604482015290519081900360640190fd5b60008111610511576040805162461bcd60e51b815260206004820152601960248201527f64656e6f6d696e61746f722073686f756c64206265203e203000000000000000604482015290519081900360640190fd5b61052c6001600160a01b03861633308a63ffffffff610a5816565b61053a878733858589610bdb565b6000818152600f602090815260409182902080546001600160a01b0319166001600160a01b038a16908117909155825186815291820185905282519396509286927f09ae2accb7909b2605e5e74e2584c7f5aa396bc6ab76290633ae3819ff650e9f928290030190a35050949350505050565b6000600d5442116105fe576040805162461bcd60e51b81526020600482015260166024820152756e6f77203e2072656465656d456e61626c6554696d6560501b604482015290519081900360640190fd5b6001600160a01b03821660009081526003602052604090205461065e576040805162461bcd60e51b8152602060048201526013602482015272073636f72652073686f756c64206265203e203606c1b604482015290519081900360640190fd5b6001600160a01b038216600090815260036020526040812080549082905560085490919061069390839063ffffffff610faf16565b90506106aa6006548261100f90919063ffffffff16565b6009549093506106c0908463ffffffff61105116565b60095560015460408051638da5cb5b60e01b815290516001600160a01b0390921691638da5cb5b91600480820192602092909190829003018186803b15801561070857600080fd5b505afa15801561071c573d6000803e3d6000fd5b505050506040513d602081101561073257600080fd5b50516001546040805163757cca5960e11b8152600481018790526001600160a01b03888116602483015292831660448201529051919092169163eaf994b29160648083019260209291908290030181600087803b15801561079257600080fd5b505af11580156107a6573d6000803e3d6000fd5b505050506040513d60208110156107bc57600080fd5b505161080f576040805162461bcd60e51b815260206004820152601e60248201527f6d696e742072657075746174696f6e2073686f756c6420737563636565640000604482015290519081900360640190fd5b6040805184815290516001600160a01b038616917f222838db2794d11532d940e8dec38ae307ed0b63cd97c233322e221f998767a6919081900360200190a25050919050565b600a5481565b60095481565b600b5481565b60065481565b60075481565b60055481565b6000806108868484611093565b6000848152600f60205260409020549091506108b2906001600160a01b0316858363ffffffff6111be16565b60019150505b92915050565b600f602052600090815260409020546001600160a01b031681565b60085481565b6001546001600160a01b03161561093d576040805162461bcd60e51b815260206004820152601b60248201527f63616e2062652063616c6c6564206f6e6c79206f6e652074696d650000000000604482015290519081900360640190fd5b6001600160a01b038716610990576040805162461bcd60e51b81526020600482015260156024820152746176617461722063616e6e6f74206265207a65726f60581b604482015290519081900360640190fd5b8484116109ce5760405162461bcd60e51b815260040180806020018281038252603a8152602001806115cb603a913960400191505060405180910390fd5b83831015610a0d5760405162461bcd60e51b81526004018080602001828103825260228152602001806116596022913960400191505060405180910390fd5b60088690556009869055600a849055600b829055600180546001600160a01b0319166001600160a01b038916179055600c859055600d839055610a4f81611340565b50505050505050565b610a6a846001600160a01b031661139a565b610a7357600080fd5b60006060856001600160a01b031660405180606001604052806025815260200161152d602591398051602091820120604080516001600160a01b03808b166024830152891660448201526064808201899052825180830390910181526084909101825292830180516001600160e01b03166001600160e01b0319909316929092178252518251909182918083835b60208310610b205780518252601f199092019160209182019101610b01565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610b82576040519150601f19603f3d011682016040523d82523d6000602084013e610b87565b606091505b509150915081610b9657600080fd5b80511580610bca575080516020148015610bca575080601f81518110610bb857fe5b01602001516001600160f81b03191615155b610bd357600080fd5b505050505050565b6000816000548114610c1e5760405162461bcd60e51b81526004018080602001828103825260288152602001806116056028913960400191505060405180910390fd5b60008811610c73576040805162461bcd60e51b815260206004820152601c60248201527f6c6f636b696e6720616d6f756e742073686f756c64206265203e203000000000604482015290519081900360640190fd5b600b54871115610cb45760405162461bcd60e51b815260040180806020018281038252602c81526020018061162d602c913960400191505060405180910390fd5b60008711610d09576040805162461bcd60e51b815260206004820152601c60248201527f6c6f636b696e6720706572696f642073686f756c64206265203e203000000000604482015290519081900360640190fd5b600a54421115610d4a5760405162461bcd60e51b815260040180806020018281038252603081526020018061157a6030913960400191505060405180910390fd5b600c54421015610d8b5760405162461bcd60e51b81526004018080602001828103825260288152602001806115526028913960400191505060405180910390fd5b600754604080513060601b602080830191909152603480830185905283518084039091018152605490920190925280519101209250610dd190600163ffffffff6113d616565b6007556001600160a01b038616600090815260026020908152604080832085845290915290208881554288016001820155600454610e15908a63ffffffff6113d616565b600455600554610e2b908a63ffffffff6113d616565b6005556000610e6086610e5489610e488d8f63ffffffff610faf16565b9063ffffffff610faf16565b9063ffffffff61100f16565b905060008111610eab576040805162461bcd60e51b8152602060048201526011602482015270073636f7265206d757374206d65203e203607c1b604482015290519081900360640190fd5b6001600160a01b038816600090815260036020526040902054610ed4908263ffffffff6113d616565b6001600160a01b03891660009081526003602052604090208190556008549081810281610efd57fe5b0414610f44576040805162461bcd60e51b81526020600482015260116024820152700e6c6dee4ca40d2e640e8dede40d0d2ced607b1b604482015290519081900360640190fd5b600654610f57908263ffffffff6113d616565b600655604080518b8152602081018b9052815186926001600160a01b038c16927fd173f98f4a2080eab40a0bff4d9a575753270cb2401c74efdec1feb0ba31b426929081900390910190a35050509695505050505050565b600082610fbe575060006108b8565b82820282848281610fcb57fe5b04146110085760405162461bcd60e51b81526004018080602001828103825260218152602001806115aa6021913960400191505060405180910390fd5b9392505050565b600061100883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611430565b600061100883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114d2565b6001600160a01b038216600090815260026020908152604080832084845290915281208054611100576040805162461bcd60e51b81526020600482015260146024820152730616d6f756e742073686f756c64206265203e20360641b604482015290519081900360640190fd5b80546000825560018201549092504211611161576040805162461bcd60e51b815260206004820152601a60248201527f636865636b20746865206c6f636b20706572696f642070617373000000000000604482015290519081900360640190fd5b600554611174908363ffffffff61105116565b6005556040805183815290516001600160a01b0386169185917fcb7ab693259d2332e08e7666832578144deb74443e37a762847e848793fc29819181900360200190a35092915050565b6111d0836001600160a01b031661139a565b6111d957600080fd5b604080518082018252601981527f7472616e7366657228616464726573732c75696e74323536290000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663a9059cbb60e01b1781529251815160009460609489169392918291908083835b602083106112865780518252601f199092019160209182019101611267565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146112e8576040519150601f19603f3d011682016040523d82523d6000602084013e6112ed565b606091505b5091509150816112fc57600080fd5b80511580611330575080516020148015611330575080601f8151811061131e57fe5b01602001516001600160f81b03191615155b61133957600080fd5b5050505050565b60005415611395576040805162461bcd60e51b815260206004820152601b60248201527f43616e206e6f74207365742061677265656d656e742074776963650000000000604482015290519081900360640190fd5b600055565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081158015906113ce5750808214155b949350505050565b600082820183811015611008576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081836114bc5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611481578181015183820152602001611469565b50505050905090810190601f1680156114ae5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816114c857fe5b0495945050505050565b600081848411156115245760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611481578181015183820152602001611469565b50505090039056fe7472616e7366657246726f6d28616464726573732c616464726573732c75696e74323536296c6f636b2073686f756c64207374617274206166746572206c6f636b696e67537461727454696d656c6f636b2073686f756c642062652077697468696e2074686520616c6c6f776564206c6f636b696e6720706572696f64536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f776c6f636b696e6720656e642074696d652073686f756c642062652067726561746572207468616e206c6f636b696e672073746172742074696d6553656e646572206d7573742073656e64207468652072696768742061677265656d656e74486173686c6f636b696e6720706572696f642073686f756c64206265203c3d206d61784c6f636b696e67506572696f6472656465656d456e61626c6554696d65203e3d206c6f636b696e67456e6454696d65a265627a7a723158204c26973ebe3586033cfb9a2b4387a1a38976ad212075df16b0276067e309fc8a64736f6c63430005110032",
  "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061012c5760003560e01c806395a2251f116100ad578063c3201add11610071578063c3201add146102cd578063c348a24b146102d5578063d7c2eec7146102dd578063e8d335881461031d578063ed1ff6d81461033a5761012c565b806395a2251f14610287578063a8c33017146102ad578063afe0e33c146102b5578063bf0df445146102bd578063c006719f146102c55761012c565b8063696da921116100f4578063696da9211461018757806376dd110f1461018f5780637ad88799146101b5578063838057421461020a57806394d0cb6e1461024f5761012c565b80633d1678f414610131578063457454db1461014b57806355bfec881461016f57806356891412146101775780635aef7de61461017f575b600080fd5b610139610342565b60408051918252519081900360200190f35b610153610348565b604080516001600160a01b039092168252519081900360200190f35b610139610357565b61013961035d565b610153610363565b610139610372565b610139600480360360208110156101a557600080fd5b50356001600160a01b0316610378565b61020860048036036101008110156101cc57600080fd5b506001600160a01b03813581169160208101359160408201359160608101359160808201359160a08101359160c0820135169060e0013561038a565b005b6102366004803603604081101561022057600080fd5b506001600160a01b0381351690602001356103be565b6040805192835260208301919091528051918290030190f35b6101396004803603608081101561026557600080fd5b508035906020810135906001600160a01b0360408201351690606001356103e2565b6101396004803603602081101561029d57600080fd5b50356001600160a01b03166105ad565b610139610855565b61013961085b565b610139610861565b610139610867565b61013961086d565b610139610873565b610309600480360360408110156102f357600080fd5b506001600160a01b038135169060200135610879565b604080519115158252519081900360200190f35b6101536004803603602081101561033357600080fd5b50356108be565b6101396108d9565b600d5481565b600e546001600160a01b031681565b600c5481565b60045481565b6001546001600160a01b031681565b60005490565b60036020526000908152604090205481565b600e80546001600160a01b0319166001600160a01b0384161790556103b4888888888888876108df565b5050505050505050565b60026020908152600092835260408084209091529082529020805460019091015482565b600e54604080516341976e0960e01b81526001600160a01b03858116600483015282516000948594859493909116926341976e099260248083019392829003018186803b15801561043257600080fd5b505afa158015610446573d6000803e3d6000fd5b505050506040513d604081101561045c57600080fd5b5080516020909101519092509050816104bc576040805162461bcd60e51b815260206004820152601760248201527f6e756d657261746f722073686f756c64206265203e2030000000000000000000604482015290519081900360640190fd5b60008111610511576040805162461bcd60e51b815260206004820152601960248201527f64656e6f6d696e61746f722073686f756c64206265203e203000000000000000604482015290519081900360640190fd5b61052c6001600160a01b03861633308a63ffffffff610a5816565b61053a878733858589610bdb565b6000818152600f602090815260409182902080546001600160a01b0319166001600160a01b038a16908117909155825186815291820185905282519396509286927f09ae2accb7909b2605e5e74e2584c7f5aa396bc6ab76290633ae3819ff650e9f928290030190a35050949350505050565b6000600d5442116105fe576040805162461bcd60e51b81526020600482015260166024820152756e6f77203e2072656465656d456e61626c6554696d6560501b604482015290519081900360640190fd5b6001600160a01b03821660009081526003602052604090205461065e576040805162461bcd60e51b8152602060048201526013602482015272073636f72652073686f756c64206265203e203606c1b604482015290519081900360640190fd5b6001600160a01b038216600090815260036020526040812080549082905560085490919061069390839063ffffffff610faf16565b90506106aa6006548261100f90919063ffffffff16565b6009549093506106c0908463ffffffff61105116565b60095560015460408051638da5cb5b60e01b815290516001600160a01b0390921691638da5cb5b91600480820192602092909190829003018186803b15801561070857600080fd5b505afa15801561071c573d6000803e3d6000fd5b505050506040513d602081101561073257600080fd5b50516001546040805163757cca5960e11b8152600481018790526001600160a01b03888116602483015292831660448201529051919092169163eaf994b29160648083019260209291908290030181600087803b15801561079257600080fd5b505af11580156107a6573d6000803e3d6000fd5b505050506040513d60208110156107bc57600080fd5b505161080f576040805162461bcd60e51b815260206004820152601e60248201527f6d696e742072657075746174696f6e2073686f756c6420737563636565640000604482015290519081900360640190fd5b6040805184815290516001600160a01b038616917f222838db2794d11532d940e8dec38ae307ed0b63cd97c233322e221f998767a6919081900360200190a25050919050565b600a5481565b60095481565b600b5481565b60065481565b60075481565b60055481565b6000806108868484611093565b6000848152600f60205260409020549091506108b2906001600160a01b0316858363ffffffff6111be16565b60019150505b92915050565b600f602052600090815260409020546001600160a01b031681565b60085481565b6001546001600160a01b03161561093d576040805162461bcd60e51b815260206004820152601b60248201527f63616e2062652063616c6c6564206f6e6c79206f6e652074696d650000000000604482015290519081900360640190fd5b6001600160a01b038716610990576040805162461bcd60e51b81526020600482015260156024820152746176617461722063616e6e6f74206265207a65726f60581b604482015290519081900360640190fd5b8484116109ce5760405162461bcd60e51b815260040180806020018281038252603a8152602001806115cb603a913960400191505060405180910390fd5b83831015610a0d5760405162461bcd60e51b81526004018080602001828103825260228152602001806116596022913960400191505060405180910390fd5b60088690556009869055600a849055600b829055600180546001600160a01b0319166001600160a01b038916179055600c859055600d839055610a4f81611340565b50505050505050565b610a6a846001600160a01b031661139a565b610a7357600080fd5b60006060856001600160a01b031660405180606001604052806025815260200161152d602591398051602091820120604080516001600160a01b03808b166024830152891660448201526064808201899052825180830390910181526084909101825292830180516001600160e01b03166001600160e01b0319909316929092178252518251909182918083835b60208310610b205780518252601f199092019160209182019101610b01565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610b82576040519150601f19603f3d011682016040523d82523d6000602084013e610b87565b606091505b509150915081610b9657600080fd5b80511580610bca575080516020148015610bca575080601f81518110610bb857fe5b01602001516001600160f81b03191615155b610bd357600080fd5b505050505050565b6000816000548114610c1e5760405162461bcd60e51b81526004018080602001828103825260288152602001806116056028913960400191505060405180910390fd5b60008811610c73576040805162461bcd60e51b815260206004820152601c60248201527f6c6f636b696e6720616d6f756e742073686f756c64206265203e203000000000604482015290519081900360640190fd5b600b54871115610cb45760405162461bcd60e51b815260040180806020018281038252602c81526020018061162d602c913960400191505060405180910390fd5b60008711610d09576040805162461bcd60e51b815260206004820152601c60248201527f6c6f636b696e6720706572696f642073686f756c64206265203e203000000000604482015290519081900360640190fd5b600a54421115610d4a5760405162461bcd60e51b815260040180806020018281038252603081526020018061157a6030913960400191505060405180910390fd5b600c54421015610d8b5760405162461bcd60e51b81526004018080602001828103825260288152602001806115526028913960400191505060405180910390fd5b600754604080513060601b602080830191909152603480830185905283518084039091018152605490920190925280519101209250610dd190600163ffffffff6113d616565b6007556001600160a01b038616600090815260026020908152604080832085845290915290208881554288016001820155600454610e15908a63ffffffff6113d616565b600455600554610e2b908a63ffffffff6113d616565b6005556000610e6086610e5489610e488d8f63ffffffff610faf16565b9063ffffffff610faf16565b9063ffffffff61100f16565b905060008111610eab576040805162461bcd60e51b8152602060048201526011602482015270073636f7265206d757374206d65203e203607c1b604482015290519081900360640190fd5b6001600160a01b038816600090815260036020526040902054610ed4908263ffffffff6113d616565b6001600160a01b03891660009081526003602052604090208190556008549081810281610efd57fe5b0414610f44576040805162461bcd60e51b81526020600482015260116024820152700e6c6dee4ca40d2e640e8dede40d0d2ced607b1b604482015290519081900360640190fd5b600654610f57908263ffffffff6113d616565b600655604080518b8152602081018b9052815186926001600160a01b038c16927fd173f98f4a2080eab40a0bff4d9a575753270cb2401c74efdec1feb0ba31b426929081900390910190a35050509695505050505050565b600082610fbe575060006108b8565b82820282848281610fcb57fe5b04146110085760405162461bcd60e51b81526004018080602001828103825260218152602001806115aa6021913960400191505060405180910390fd5b9392505050565b600061100883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611430565b600061100883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114d2565b6001600160a01b038216600090815260026020908152604080832084845290915281208054611100576040805162461bcd60e51b81526020600482015260146024820152730616d6f756e742073686f756c64206265203e20360641b604482015290519081900360640190fd5b80546000825560018201549092504211611161576040805162461bcd60e51b815260206004820152601a60248201527f636865636b20746865206c6f636b20706572696f642070617373000000000000604482015290519081900360640190fd5b600554611174908363ffffffff61105116565b6005556040805183815290516001600160a01b0386169185917fcb7ab693259d2332e08e7666832578144deb74443e37a762847e848793fc29819181900360200190a35092915050565b6111d0836001600160a01b031661139a565b6111d957600080fd5b604080518082018252601981527f7472616e7366657228616464726573732c75696e74323536290000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663a9059cbb60e01b1781529251815160009460609489169392918291908083835b602083106112865780518252601f199092019160209182019101611267565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146112e8576040519150601f19603f3d011682016040523d82523d6000602084013e6112ed565b606091505b5091509150816112fc57600080fd5b80511580611330575080516020148015611330575080601f8151811061131e57fe5b01602001516001600160f81b03191615155b61133957600080fd5b5050505050565b60005415611395576040805162461bcd60e51b815260206004820152601b60248201527f43616e206e6f74207365742061677265656d656e742074776963650000000000604482015290519081900360640190fd5b600055565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081158015906113ce5750808214155b949350505050565b600082820183811015611008576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081836114bc5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611481578181015183820152602001611469565b50505050905090810190601f1680156114ae5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816114c857fe5b0495945050505050565b600081848411156115245760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611481578181015183820152602001611469565b50505090039056fe7472616e7366657246726f6d28616464726573732c616464726573732c75696e74323536296c6f636b2073686f756c64207374617274206166746572206c6f636b696e67537461727454696d656c6f636b2073686f756c642062652077697468696e2074686520616c6c6f776564206c6f636b696e6720706572696f64536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f776c6f636b696e6720656e642074696d652073686f756c642062652067726561746572207468616e206c6f636b696e672073746172742074696d6553656e646572206d7573742073656e64207468652072696768742061677265656d656e74486173686c6f636b696e6720706572696f642073686f756c64206265203c3d206d61784c6f636b696e67506572696f6472656465656d456e61626c6554696d65203e3d206c6f636b696e67456e6454696d65a265627a7a723158204c26973ebe3586033cfb9a2b4387a1a38976ad212075df16b0276067e309fc8a64736f6c63430005110032",
  "linkReferences": {},
  "deployedLinkReferences": {}
}