{
  "_format": "hh-sol-artifact-1",
  "contractName": "Pool2Unipool",
  "sourceName": "contracts/__deprecated__/LPRewards/Pool2Unipool.sol",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "reward",
          "type": "uint256"
        }
      ],
      "name": "RewardAdded",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "reward",
          "type": "uint256"
        }
      ],
      "name": "RewardPaid",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "Staked",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "_uniTokenAddress",
          "type": "address"
        }
      ],
      "name": "UniTokenAddressChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "_vaultedgeTokenAddress",
          "type": "address"
        }
      ],
      "name": "VaultedgeTokenAddressChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "Withdrawn",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "NAME",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "balanceOf",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "claimReward",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "duration",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "earned",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "isOwner",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "lastTimeRewardApplicable",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "lastUpdateTime",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "periodFinish",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "rewardPerToken",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "rewardPerTokenStored",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "rewardRate",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "rewards",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_vaultedgeTokenAddress",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_uniTokenAddress",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_duration",
          "type": "uint256"
        }
      ],
      "name": "setParams",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_duration",
          "type": "uint256"
        }
      ],
      "name": "setReward",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "stake",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "totalSupply",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "uniToken",
      "outputs": [
        {
          "internalType": "contract IERC20",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "userRewardPerTokenPaid",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "vaultedgeToken",
      "outputs": [
        {
          "internalType": "contract IVaultedgeToken",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "withdraw",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "withdrawAndClaim",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60806040526000600655600060075534801561001a57600080fd5b50600380546001600160a01b031916339081179091556040516000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36117688061006a6000396000f3fe608060405234801561001057600080fd5b506004361061018c5760003560e01c806385ce4fee116100e3578063b88a802f1161008c578063d443772411610066578063d44377241461035a578063df136d6514610362578063ebe2b12b1461036a5761018c565b8063b88a802f14610342578063c8f33c911461034a578063cd3daf9d146103525761018c565b80638f32d59b116100bd5780638f32d59b14610301578063a3f4df7e1461031d578063a694fc3a146103255761018c565b806385ce4fee146102cb5780638b876347146102d35780638da5cb5b146102f95761018c565b8063293be4561161014557806370a082311161011f57806370a08231146102955780637b0a47ee146102bb57806380faa57d146102c35761018c565b8063293be456146102235780632e1a7d4d14610242578063509db2f61461025f5761018c565b80630fb5a6b4116101765780630fb5a6b4146101ef57806318160ddd146101f75780632826a520146101ff5761018c565b80628cc262146101915780630700037d146101c9575b600080fd5b6101b7600480360360208110156101a757600080fd5b50356001600160a01b0316610372565b60408051918252519081900360200190f35b6101b7600480360360208110156101df57600080fd5b50356001600160a01b03166103f8565b6101b761040a565b6101b7610410565b610207610417565b604080516001600160a01b039092168252519081900360200190f35b6102406004803603602081101561023957600080fd5b5035610426565b005b6102406004803603602081101561025857600080fd5b50356105bf565b6102406004803603606081101561027557600080fd5b506001600160a01b038135811691602081013590911690604001356106a3565b6101b7600480360360208110156102ab57600080fd5b50356001600160a01b03166107bc565b6101b76107d7565b6101b76107dd565b6102076107f0565b6101b7600480360360208110156102e957600080fd5b50356001600160a01b03166107ff565b610207610811565b610309610820565b604080519115158252519081900360200190f35b6101b7610831565b6102406004803603602081101561033b57600080fd5b5035610855565b610240610941565b6101b7610ac2565b6101b7610ac8565b610240610b1c565b6101b7610b37565b6101b7610b3d565b6001600160a01b0381166000908152600b6020908152604080832054600a9092528220546103f291906103e690670de0b6b3a7640000906103da906103c5906103b9610ac8565b9063ffffffff610b4316565b6103ce886107bc565b9063ffffffff610b8c16565b9063ffffffff610bfb16565b9063ffffffff610c3d16565b92915050565b600b6020526000908152604090205481565b60045481565b6001545b90565b6005546001600160a01b031681565b61042e610820565b61047f576040805162461bcd60e51b815260206004820152600e60248201527f43616c6c65724e6f744f776e6572000000000000000000000000000000000000604482015290519081900360640190fd5b6004818155600554604080516370a0823160e01b81523093810193909352516001600160a01b03909116916370a08231916024808301926020929190829003018186803b1580156104cf57600080fd5b505afa1580156104e3573d6000803e3d6000fd5b505050506040513d60208110156104f957600080fd5b50516105365760405162461bcd60e51b815260040180806020018281038252604f8152602001806115ed604f913960600191505060405180910390fd5b600554604080516370a0823160e01b815230600482015290516105b4926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561058257600080fd5b505afa158015610596573d6000803e3d6000fd5b505050506040513d60208110156105ac57600080fd5b505182610c97565b6105bc610e47565b50565b80610611576040805162461bcd60e51b815260206004820152601160248201527f43616e6e6f742077697468647261772030000000000000000000000000000000604482015290519081900360640190fd5b6000546001600160a01b03166106585760405162461bcd60e51b81526004018080602001828103825260298152602001806115c46029913960400191505060405180910390fd5b61066133610e9e565b61066a81610f22565b60408051828152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a250565b6106ab610820565b6106fc576040805162461bcd60e51b815260206004820152600e60248201527f43616c6c65724e6f744f776e6572000000000000000000000000000000000000604482015290519081900360640190fd5b61070583610f83565b61070e82610f83565b600080546001600160a01b0380851673ffffffffffffffffffffffffffffffffffffffff199283161790925560058054928616929091168217905560408051918252517f01065ce0c6f07384ec56b53fa98d149bc7b48c8c55fc6cee6ffbc7d8234969e99181900360200190a1604080516001600160a01b038416815290517f15cb6984f76cb781da2b25c2024a3eaf5011914976381f844e09724cc9e21e949181900360200190a1505050565b6001600160a01b031660009081526002602052604090205490565b60075481565b60006107eb42600654611036565b905090565b6000546001600160a01b031681565b600a6020526000908152604090205481565b6003546001600160a01b031690565b6003546001600160a01b0316331490565b7f506f6f6c32556e69706f6f6c000000000000000000000000000000000000000081565b806108a7576040805162461bcd60e51b815260206004820152600e60248201527f43616e6e6f74207374616b652030000000000000000000000000000000000000604482015290519081900360640190fd5b6000546001600160a01b03166108ee5760405162461bcd60e51b81526004018080602001828103825260298152602001806115c46029913960400191505060405180910390fd5b6108f661104c565b6108ff33610e9e565b610908816110c2565b60408051828152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a250565b6000546001600160a01b03166109885760405162461bcd60e51b81526004018080602001828103825260298152602001806115c46029913960400191505060405180910390fd5b61099061104c565b61099933610e9e565b60006109a433610372565b9050806109f8576040805162461bcd60e51b815260206004820152601060248201527f4e6f7468696e6720746f20636c61696d00000000000000000000000000000000604482015290519081900360640190fd5b336000818152600b60209081526040808320839055600554815163a9059cbb60e01b815260048101959095526024850186905290516001600160a01b039091169363a9059cbb9360448083019493928390030190829087803b158015610a5d57600080fd5b505af1158015610a71573d6000803e3d6000fd5b505050506040513d6020811015610a8757600080fd5b505060408051828152905133917fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486919081900360200190a250565b60085481565b6000610ad2610410565b610adf5750600954610414565b6107eb610b0d610aed610410565b6103da670de0b6b3a76400006103ce6007546103ce6008546103b96107dd565b6009549063ffffffff610c3d16565b610b2d610b28336107bc565b6105bf565b610b35610941565b565b60095481565b60065481565b6000610b8583836040518060400160405280600c81526020017f737562206f766572666c6f770000000000000000000000000000000000000000815250611124565b9392505050565b600082610b9b575060006103f2565b82820282848281610ba857fe5b0414610b85576040805162461bcd60e51b815260206004820152600c60248201527f6d756c206f766572666c6f770000000000000000000000000000000000000000604482015290519081900360640190fd5b6000610b8583836040518060400160405280600881526020017f64697620627920300000000000000000000000000000000000000000000000008152506111bb565b600082820183811015610b85576040805162461bcd60e51b815260206004820152600c60248201527f616464206f766572666c6f770000000000000000000000000000000000000000604482015290519081900360640190fd5b81610ce9576040805162461bcd60e51b815260206004820181905260248201527f5f6e6f74696679526577617264416d6f756e743a207265776172642069732030604482015290519081900360640190fd5b600554604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610d3457600080fd5b505afa158015610d48573d6000803e3d6000fd5b505050506040513d6020811015610d5e57600080fd5b50518214610d9d5760405162461bcd60e51b815260040180806020018281038252603081526020018061163c6030913960400191505060405180910390fd5b60065415610ddc5760405162461bcd60e51b81526004018080602001828103825260268152602001806116926026913960400191505060405180910390fd5b610de4611220565b610df4828263ffffffff610bfb16565b600755426008819055610e0d908263ffffffff610c3d16565b6006556040805183815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a15050565b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36003805473ffffffffffffffffffffffffffffffffffffffff19169055565b610ea6611220565b6001600160a01b038116610eeb5760405162461bcd60e51b815260040180806020018281038252602b815260200180611708602b913960400191505060405180910390fd5b610ef481610372565b6001600160a01b039091166000908152600b6020908152604080832093909355600954600a90915291902055565b600154610f35908263ffffffff610b4316565b60015533600090815260026020526040902054610f58908263ffffffff610b4316565b3360008181526002602052604081209290925590546105bc916001600160a01b039091169083611238565b6001600160a01b038116610fde576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80611032576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60008183106110455781610b85565b5090919050565b611054610410565b610b35576006546110965760405162461bcd60e51b81526004018080602001828103825260268152602001806116b86026913960400191505060405180910390fd5b6110bd6110ae60085442610b4390919063ffffffff16565b6006549063ffffffff610c3d16565b600655565b6001546110d5908263ffffffff610c3d16565b600155336000908152600260205260409020546110f8908263ffffffff610c3d16565b3360008181526002602052604081209290925590546105bc916001600160a01b039091169030846112a4565b600081848411156111b35760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611178578181015183820152602001611160565b50505050905090810190601f1680156111a55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000818361120a5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611178578181015183820152602001611160565b50600083858161121657fe5b0495945050505050565b611228610ac8565b6009556112336107dd565b600855565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1663a9059cbb60e01b17905261129f908490611332565b505050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017905261132c908590611332565b50505050565b6060611387826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113e49092919063ffffffff16565b9050805160001461129f578080602001905160208110156113a757600080fd5b505161129f5760405162461bcd60e51b815260040180806020018281038252602a8152602001806116de602a913960400191505060405180910390fd5b60606113f384846000856113fb565b949350505050565b60608247101561143c5760405162461bcd60e51b815260040180806020018281038252602681526020018061166c6026913960400191505060405180910390fd5b61144585611557565b611496576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106114d55780518252601f1990920191602091820191016114b6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611537576040519150601f19603f3d011682016040523d82523d6000602084013e61153c565b606091505b509150915061154c82828661155d565b979650505050505050565b3b151590565b6060831561156c575081610b85565b82511561157c5782518084602001fd5b60405162461bcd60e51b815260206004820181815284516024840152845185939192839260440191908501908083836000831561117857818101518382015260200161116056fe4c697175696469747920506f6f6c20546f6b656e20686173206e6f74206265656e20736574207965747365745265776172642063616e206f6e6c792062652063616c6c6564206f6e6365205661756c746564676520686173206265656e20616c6c6f636174656420746f207468697320636f6e74726163745f6e6f74696679526577617264416d6f756e743a20726577617264206e6f7420657175616c20746f2062616c616e6365416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c5f6e6f74696679526577617264416d6f756e743a20706572696f6446696e69736820213d20305f757064617465506572696f6446696e6973683a20706572696f6446696e697368203c3d20305361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645f7570646174654163636f756e745265776172643a206163636f756e742069732061646472657373283029a264697066735822122019f6447afc299625b9909bb2ae62a4beeaeacedb0a0bb41cfb97b15c4dfc523f64736f6c634300060b0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061018c5760003560e01c806385ce4fee116100e3578063b88a802f1161008c578063d443772411610066578063d44377241461035a578063df136d6514610362578063ebe2b12b1461036a5761018c565b8063b88a802f14610342578063c8f33c911461034a578063cd3daf9d146103525761018c565b80638f32d59b116100bd5780638f32d59b14610301578063a3f4df7e1461031d578063a694fc3a146103255761018c565b806385ce4fee146102cb5780638b876347146102d35780638da5cb5b146102f95761018c565b8063293be4561161014557806370a082311161011f57806370a08231146102955780637b0a47ee146102bb57806380faa57d146102c35761018c565b8063293be456146102235780632e1a7d4d14610242578063509db2f61461025f5761018c565b80630fb5a6b4116101765780630fb5a6b4146101ef57806318160ddd146101f75780632826a520146101ff5761018c565b80628cc262146101915780630700037d146101c9575b600080fd5b6101b7600480360360208110156101a757600080fd5b50356001600160a01b0316610372565b60408051918252519081900360200190f35b6101b7600480360360208110156101df57600080fd5b50356001600160a01b03166103f8565b6101b761040a565b6101b7610410565b610207610417565b604080516001600160a01b039092168252519081900360200190f35b6102406004803603602081101561023957600080fd5b5035610426565b005b6102406004803603602081101561025857600080fd5b50356105bf565b6102406004803603606081101561027557600080fd5b506001600160a01b038135811691602081013590911690604001356106a3565b6101b7600480360360208110156102ab57600080fd5b50356001600160a01b03166107bc565b6101b76107d7565b6101b76107dd565b6102076107f0565b6101b7600480360360208110156102e957600080fd5b50356001600160a01b03166107ff565b610207610811565b610309610820565b604080519115158252519081900360200190f35b6101b7610831565b6102406004803603602081101561033b57600080fd5b5035610855565b610240610941565b6101b7610ac2565b6101b7610ac8565b610240610b1c565b6101b7610b37565b6101b7610b3d565b6001600160a01b0381166000908152600b6020908152604080832054600a9092528220546103f291906103e690670de0b6b3a7640000906103da906103c5906103b9610ac8565b9063ffffffff610b4316565b6103ce886107bc565b9063ffffffff610b8c16565b9063ffffffff610bfb16565b9063ffffffff610c3d16565b92915050565b600b6020526000908152604090205481565b60045481565b6001545b90565b6005546001600160a01b031681565b61042e610820565b61047f576040805162461bcd60e51b815260206004820152600e60248201527f43616c6c65724e6f744f776e6572000000000000000000000000000000000000604482015290519081900360640190fd5b6004818155600554604080516370a0823160e01b81523093810193909352516001600160a01b03909116916370a08231916024808301926020929190829003018186803b1580156104cf57600080fd5b505afa1580156104e3573d6000803e3d6000fd5b505050506040513d60208110156104f957600080fd5b50516105365760405162461bcd60e51b815260040180806020018281038252604f8152602001806115ed604f913960600191505060405180910390fd5b600554604080516370a0823160e01b815230600482015290516105b4926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561058257600080fd5b505afa158015610596573d6000803e3d6000fd5b505050506040513d60208110156105ac57600080fd5b505182610c97565b6105bc610e47565b50565b80610611576040805162461bcd60e51b815260206004820152601160248201527f43616e6e6f742077697468647261772030000000000000000000000000000000604482015290519081900360640190fd5b6000546001600160a01b03166106585760405162461bcd60e51b81526004018080602001828103825260298152602001806115c46029913960400191505060405180910390fd5b61066133610e9e565b61066a81610f22565b60408051828152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a250565b6106ab610820565b6106fc576040805162461bcd60e51b815260206004820152600e60248201527f43616c6c65724e6f744f776e6572000000000000000000000000000000000000604482015290519081900360640190fd5b61070583610f83565b61070e82610f83565b600080546001600160a01b0380851673ffffffffffffffffffffffffffffffffffffffff199283161790925560058054928616929091168217905560408051918252517f01065ce0c6f07384ec56b53fa98d149bc7b48c8c55fc6cee6ffbc7d8234969e99181900360200190a1604080516001600160a01b038416815290517f15cb6984f76cb781da2b25c2024a3eaf5011914976381f844e09724cc9e21e949181900360200190a1505050565b6001600160a01b031660009081526002602052604090205490565b60075481565b60006107eb42600654611036565b905090565b6000546001600160a01b031681565b600a6020526000908152604090205481565b6003546001600160a01b031690565b6003546001600160a01b0316331490565b7f506f6f6c32556e69706f6f6c000000000000000000000000000000000000000081565b806108a7576040805162461bcd60e51b815260206004820152600e60248201527f43616e6e6f74207374616b652030000000000000000000000000000000000000604482015290519081900360640190fd5b6000546001600160a01b03166108ee5760405162461bcd60e51b81526004018080602001828103825260298152602001806115c46029913960400191505060405180910390fd5b6108f661104c565b6108ff33610e9e565b610908816110c2565b60408051828152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a250565b6000546001600160a01b03166109885760405162461bcd60e51b81526004018080602001828103825260298152602001806115c46029913960400191505060405180910390fd5b61099061104c565b61099933610e9e565b60006109a433610372565b9050806109f8576040805162461bcd60e51b815260206004820152601060248201527f4e6f7468696e6720746f20636c61696d00000000000000000000000000000000604482015290519081900360640190fd5b336000818152600b60209081526040808320839055600554815163a9059cbb60e01b815260048101959095526024850186905290516001600160a01b039091169363a9059cbb9360448083019493928390030190829087803b158015610a5d57600080fd5b505af1158015610a71573d6000803e3d6000fd5b505050506040513d6020811015610a8757600080fd5b505060408051828152905133917fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486919081900360200190a250565b60085481565b6000610ad2610410565b610adf5750600954610414565b6107eb610b0d610aed610410565b6103da670de0b6b3a76400006103ce6007546103ce6008546103b96107dd565b6009549063ffffffff610c3d16565b610b2d610b28336107bc565b6105bf565b610b35610941565b565b60095481565b60065481565b6000610b8583836040518060400160405280600c81526020017f737562206f766572666c6f770000000000000000000000000000000000000000815250611124565b9392505050565b600082610b9b575060006103f2565b82820282848281610ba857fe5b0414610b85576040805162461bcd60e51b815260206004820152600c60248201527f6d756c206f766572666c6f770000000000000000000000000000000000000000604482015290519081900360640190fd5b6000610b8583836040518060400160405280600881526020017f64697620627920300000000000000000000000000000000000000000000000008152506111bb565b600082820183811015610b85576040805162461bcd60e51b815260206004820152600c60248201527f616464206f766572666c6f770000000000000000000000000000000000000000604482015290519081900360640190fd5b81610ce9576040805162461bcd60e51b815260206004820181905260248201527f5f6e6f74696679526577617264416d6f756e743a207265776172642069732030604482015290519081900360640190fd5b600554604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610d3457600080fd5b505afa158015610d48573d6000803e3d6000fd5b505050506040513d6020811015610d5e57600080fd5b50518214610d9d5760405162461bcd60e51b815260040180806020018281038252603081526020018061163c6030913960400191505060405180910390fd5b60065415610ddc5760405162461bcd60e51b81526004018080602001828103825260268152602001806116926026913960400191505060405180910390fd5b610de4611220565b610df4828263ffffffff610bfb16565b600755426008819055610e0d908263ffffffff610c3d16565b6006556040805183815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a15050565b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36003805473ffffffffffffffffffffffffffffffffffffffff19169055565b610ea6611220565b6001600160a01b038116610eeb5760405162461bcd60e51b815260040180806020018281038252602b815260200180611708602b913960400191505060405180910390fd5b610ef481610372565b6001600160a01b039091166000908152600b6020908152604080832093909355600954600a90915291902055565b600154610f35908263ffffffff610b4316565b60015533600090815260026020526040902054610f58908263ffffffff610b4316565b3360008181526002602052604081209290925590546105bc916001600160a01b039091169083611238565b6001600160a01b038116610fde576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e742063616e6e6f74206265207a65726f20616464726573730000604482015290519081900360640190fd5b803b80611032576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f604482015290519081900360640190fd5b5050565b60008183106110455781610b85565b5090919050565b611054610410565b610b35576006546110965760405162461bcd60e51b81526004018080602001828103825260268152602001806116b86026913960400191505060405180910390fd5b6110bd6110ae60085442610b4390919063ffffffff16565b6006549063ffffffff610c3d16565b600655565b6001546110d5908263ffffffff610c3d16565b600155336000908152600260205260409020546110f8908263ffffffff610c3d16565b3360008181526002602052604081209290925590546105bc916001600160a01b039091169030846112a4565b600081848411156111b35760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611178578181015183820152602001611160565b50505050905090810190601f1680156111a55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000818361120a5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611178578181015183820152602001611160565b50600083858161121657fe5b0495945050505050565b611228610ac8565b6009556112336107dd565b600855565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1663a9059cbb60e01b17905261129f908490611332565b505050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017905261132c908590611332565b50505050565b6060611387826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113e49092919063ffffffff16565b9050805160001461129f578080602001905160208110156113a757600080fd5b505161129f5760405162461bcd60e51b815260040180806020018281038252602a8152602001806116de602a913960400191505060405180910390fd5b60606113f384846000856113fb565b949350505050565b60608247101561143c5760405162461bcd60e51b815260040180806020018281038252602681526020018061166c6026913960400191505060405180910390fd5b61144585611557565b611496576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106114d55780518252601f1990920191602091820191016114b6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611537576040519150601f19603f3d011682016040523d82523d6000602084013e61153c565b606091505b509150915061154c82828661155d565b979650505050505050565b3b151590565b6060831561156c575081610b85565b82511561157c5782518084602001fd5b60405162461bcd60e51b815260206004820181815284516024840152845185939192839260440191908501908083836000831561117857818101518382015260200161116056fe4c697175696469747920506f6f6c20546f6b656e20686173206e6f74206265656e20736574207965747365745265776172642063616e206f6e6c792062652063616c6c6564206f6e6365205661756c746564676520686173206265656e20616c6c6f636174656420746f207468697320636f6e74726163745f6e6f74696679526577617264416d6f756e743a20726577617264206e6f7420657175616c20746f2062616c616e6365416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c5f6e6f74696679526577617264416d6f756e743a20706572696f6446696e69736820213d20305f757064617465506572696f6446696e6973683a20706572696f6446696e697368203c3d20305361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645f7570646174654163636f756e745265776172643a206163636f756e742069732061646472657373283029a264697066735822122019f6447afc299625b9909bb2ae62a4beeaeacedb0a0bb41cfb97b15c4dfc523f64736f6c634300060b0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
