{
  "_format": "hh-sol-artifact-1",
  "contractName": "SimpleRewarderPerSec",
  "sourceName": "contracts/rewarders/SimpleRewarderPerSec.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract IERC20",
          "name": "_rewardToken",
          "type": "address"
        },
        {
          "internalType": "contract IERC20",
          "name": "_lpToken",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_tokenPerSec",
          "type": "uint256"
        },
        {
          "internalType": "contract IMasterChefJoe",
          "name": "_MCJ",
          "type": "address"
        },
        {
          "internalType": "bool",
          "name": "_isNative",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "OnReward",
      "type": "event"
    },
    {
      "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": "oldRate",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "newRate",
          "type": "uint256"
        }
      ],
      "name": "RewardRateUpdated",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "MCJ",
      "outputs": [
        {
          "internalType": "contract IMasterChefJoe",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "balance",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "claimOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "emergencyWithdraw",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "isNative",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "lpToken",
      "outputs": [
        {
          "internalType": "contract IERC20",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_user",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_lpAmount",
          "type": "uint256"
        }
      ],
      "name": "onJoeReward",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "pendingOwner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_user",
          "type": "address"
        }
      ],
      "name": "pendingTokens",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "pending",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "poolInfo",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "accTokenPerShare",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "lastRewardTimestamp",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "rewardToken",
      "outputs": [
        {
          "internalType": "contract IERC20",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_tokenPerSec",
          "type": "uint256"
        }
      ],
      "name": "setRewardRate",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "tokenPerSec",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        },
        {
          "internalType": "bool",
          "name": "direct",
          "type": "bool"
        },
        {
          "internalType": "bool",
          "name": "renounce",
          "type": "bool"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "updatePool",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "accTokenPerShare",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "lastRewardTimestamp",
              "type": "uint256"
            }
          ],
          "internalType": "struct SimpleRewarderPerSec.PoolInfo",
          "name": "pool",
          "type": "tuple"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "userInfo",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "rewardDebt",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "unpaidRewards",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "stateMutability": "payable",
      "type": "receive"
    }
  ],
  "bytecode": "0x6101006040523480156200001257600080fd5b506040516200199e3803806200199e8339810160408190526200003591620001c2565b600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360016002819055506200009285620001bc60201b62000f3f1760201c565b620000ba5760405162461bcd60e51b8152600401620000b19062000238565b60405180910390fd5b620000d084620001bc60201b62000f3f1760201c565b620000ef5760405162461bcd60e51b8152600401620000b190620002e7565b6200010582620001bc60201b62000f3f1760201c565b620001245760405162461bcd60e51b8152600401620000b19062000335565b6c0c9f2c9cd04674edea40000000831115620001545760405162461bcd60e51b8152600401620000b1906200028a565b6001600160601b0319606095861b811660805293851b841660a05260069290925590921b1660e052151560f81b60c052604080518082019091526000808252426020929092018290526003556004556ec097ce7bc90715b34b9f1000000000600755620003ab565b3b151590565b600080600080600060a08688031215620001da578081fd5b8551620001e78162000392565b6020870151909550620001fa8162000392565b604087015160608801519195509350620002148162000392565b608087015190925080151581146200022a578182fd5b809150509295509295909350565b60208082526032908201527f636f6e7374727563746f723a2072657761726420746f6b656e206d7573742062604082015271194818481d985b1a590818dbdb9d1c9858dd60721b606082015260800190565b60208082526039908201527f636f6e7374727563746f723a20746f6b656e20706572207365636f6e6473206360408201527f616e27742062652067726561746572207468616e203165333000000000000000606082015260800190565b6020808252602e908201527f636f6e7374727563746f723a204c5020746f6b656e206d75737420626520612060408201526d1d985b1a590818dbdb9d1c9858dd60921b606082015260800190565b60208082526033908201527f636f6e7374727563746f723a204d6173746572436865664a6f65206d7573742060408201527f626520612076616c696420636f6e747261637400000000000000000000000000606082015260800190565b6001600160a01b0381168114620003a857600080fd5b50565b60805160601c60a05160601c60c05160f81c60e05160601c61156b620004336000398061042152806107f95280610adb5280610e2452508061051852806108dd528061098b5280610c2c5250806108b95280610aac5280610df75250806106745280610710528061075152806109cd5280610cd85280610d7c5280610f1d525061156b6000f3fe6080604052600436106101025760003560e01c806373cfc6b211610095578063c031a66f11610064578063c031a66f14610285578063db2e21bc146102a5578063e30c3978146102ba578063e3161ddd146102cf578063f7c618c1146102f157610109565b806373cfc6b2146102195780638da5cb5b1461023b5780639e447fc614610250578063b69ef8a81461027057610109565b80634e71e0c8116100d15780634e71e0c8146101aa57806350fd1f3e146101bf5780635a2f3d09146101e15780635fcbd2851461020457610109565b8063078dfbe71461010e5780631959a002146101305780631a7af8b01461016857806330628e151461018857610109565b3661010957005b600080fd5b34801561011a57600080fd5b5061012e610129366004611148565b610306565b005b34801561013c57600080fd5b5061015061014b366004611126565b6103f5565b60405161015f9392919061150e565b60405180910390f35b34801561017457600080fd5b5061012e610183366004611191565b610416565b34801561019457600080fd5b5061019d6107f7565b60405161015f9190611240565b3480156101b657600080fd5b5061012e61081b565b3480156101cb57600080fd5b506101d46108a8565b60405161015f91906114f7565b3480156101ed57600080fd5b506101f66108ae565b60405161015f929190611500565b34801561021057600080fd5b5061019d6108b7565b34801561022557600080fd5b5061022e6108db565b60405161015f919061126d565b34801561024757600080fd5b5061019d6108ff565b34801561025c57600080fd5b5061012e61026b3660046111d7565b61090e565b34801561027c57600080fd5b506101d4610987565b34801561029157600080fd5b506101d46102a0366004611126565b610a58565b3480156102b157600080fd5b5061012e610c00565b3480156102c657600080fd5b5061019d610da5565b3480156102db57600080fd5b506102e4610db4565b60405161015f91906114e0565b3480156102fd57600080fd5b5061019d610f1b565b6000546001600160a01b031633146103395760405162461bcd60e51b8152600401610330906113b6565b60405180910390fd5b81156103d4576001600160a01b0383161515806103535750805b61036f5760405162461bcd60e51b8152600401610330906112d8565b600080546040516001600160a01b03808716939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0385166001600160a01b0319918216179091556001805490911690556103f0565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b60056020526000908152604090208054600182015460029092015490919083565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461045e5760405162461bcd60e51b815260040161033090611457565b6002805414156104805760405162461bcd60e51b8152600401610330906114a9565b6002805561048c610db4565b506104956110f5565b5060408051808201825260035481526004546020808301919091526001600160a01b038516600090815260059091529182208054919290911561078257610514826002015461050e846001015460075461050088600001518860000154610f4590919063ffffffff16565b8161050757fe5b0490610f88565b90610fb0565b90507f00000000000000000000000000000000000000000000000000000000000000001561065a5747808211156105cf576000866001600160a01b03168260405161055e90610a55565b60006040518083038185875af1925050503d806000811461059b576040519150601f19603f3d011682016040523d82523d6000602084013e6105a0565b606091505b50509050806105c15760405162461bcd60e51b815260040161033090611278565b508082036002840155610654565b6000866001600160a01b0316836040516105e890610a55565b60006040518083038185875af1925050503d8060008114610625576040519150601f19603f3d011682016040523d82523d6000602084013e61062a565b606091505b505090508061064b5760405162461bcd60e51b815260040161033090611278565b50600060028401555b50610782565b6040516370a0823160e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a08231906106a9903090600401611240565b60206040518083038186803b1580156106c157600080fd5b505afa1580156106d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f991906111ef565b905080821115610744576107376001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168783610fd5565b8082036002840155610780565b6107786001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168784610fd5565b600060028401555b505b8382556007548351610795908690610f45565b8161079c57fe5b04600183015560028201546040516001600160a01b038716917fd1072bb52c3131d0c96197b73fb8a45637e30f8b6664fc142310cc9b242859b4916107e3918503906114f7565b60405180910390a250506001600255505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001546001600160a01b03163381146108465760405162461bcd60e51b8152600401610330906113eb565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b60065481565b60035460045482565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000546001600160a01b031681565b6000546001600160a01b031633146109385760405162461bcd60e51b8152600401610330906113b6565b610940610db4565b5060068054908290556040517fc390a98ace15a7bb6bab611eedfdbb2685043b241a869420043cdfb23ccfee509061097b9083908590611500565b60405180910390a15050565b60007f0000000000000000000000000000000000000000000000000000000000000000156109b6575047610a55565b6040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190610a02903090600401611240565b60206040518083038186803b158015610a1a57600080fd5b505afa158015610a2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5291906111ef565b90505b90565b6000610a626110f5565b506040805180820182526003548152600480546020808401919091526001600160a01b0380871660009081526005909252848220845195516370a0823160e01b81529495909490937f0000000000000000000000000000000000000000000000000000000000000000909216916370a0823191610b01917f00000000000000000000000000000000000000000000000000000000000000009101611240565b60206040518083038186803b158015610b1957600080fd5b505afa158015610b2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5191906111ef565b9050836020015142118015610b6557508015155b15610bcc576000610b83856020015142610f8890919063ffffffff16565b90506000610b9c60065483610f4590919063ffffffff16565b9050610bc7610bc084610bba60075485610f4590919063ffffffff16565b906110c3565b8590610fb0565b935050505b610bf6836002015461050e8560010154600754610500878960000154610f4590919063ffffffff16565b9695505050505050565b6000546001600160a01b03163314610c2a5760405162461bcd60e51b8152600401610330906113b6565b7f000000000000000000000000000000000000000000000000000000000000000015610cd2576000336001600160a01b031647604051610c6990610a55565b60006040518083038185875af1925050503d8060008114610ca6576040519150601f19603f3d011682016040523d82523d6000602084013e610cab565b606091505b5050905080610ccc5760405162461bcd60e51b815260040161033090611278565b50610da3565b610da3337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610d229190611240565b60206040518083038186803b158015610d3a57600080fd5b505afa158015610d4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7291906111ef565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190610fd5565b565b6001546001600160a01b031681565b610dbc6110f5565b5060408051808201909152600354815260045460208201819052421115610a55576040516370a0823160e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190610e4c907f000000000000000000000000000000000000000000000000000000000000000090600401611240565b60206040518083038186803b158015610e6457600080fd5b505afa158015610e78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9c91906111ef565b90508015610f07576000610ebd836020015142610f8890919063ffffffff16565b90506000610ed660065483610f4590919063ffffffff16565b9050610f0283610ef160075484610f4590919063ffffffff16565b81610ef857fe5b8651919004610fb0565b845250505b504260208201819052815160035560045590565b7f000000000000000000000000000000000000000000000000000000000000000081565b3b151590565b600082610f5457506000610f82565b82820282848281610f6157fe5b0414610f7f5760405162461bcd60e51b815260040161033090611375565b90505b92915050565b600082821115610faa5760405162461bcd60e51b815260040161033090611307565b50900390565b600082820183811015610f7f5760405162461bcd60e51b8152600401610330906112a1565b60006060846001600160a01b031663a9059cbb8585604051602401610ffb929190611254565b6040516020818303038152906040529060e01b6020820180516001600160e01b0383818316178352505050506040516110349190611207565b6000604051808303816000865af19150503d8060008114611071576040519150601f19603f3d011682016040523d82523d6000602084013e611076565b606091505b50915091508180156110a05750805115806110a05750808060200190518101906110a091906111bb565b6110bc5760405162461bcd60e51b815260040161033090611420565b5050505050565b60008082116110e45760405162461bcd60e51b81526004016103309061133e565b8183816110ed57fe5b049392505050565b604051806040016040528060008152602001600081525090565b80356001600160a01b0381168114610f8257600080fd5b600060208284031215611137578081fd5b611141838361110f565b9392505050565b60008060006060848603121561115c578182fd5b611166858561110f565b9250602084013561117681611524565b9150604084013561118681611524565b809150509250925092565b600080604083850312156111a3578182fd5b6111ad848461110f565b946020939093013593505050565b6000602082840312156111cc578081fd5b8151610f7f81611524565b6000602082840312156111e8578081fd5b5035919050565b600060208284031215611200578081fd5b5051919050565b60008251815b81811015611227576020818601810151858301520161120d565b818111156112355782828501525b509190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b6020808252600f908201526e151c985b9cd9995c8819985a5b1959608a1b604082015260600190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601590820152744f776e61626c653a207a65726f206164647265737360581b604082015260600190565b6020808252601e908201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604082015260600190565b6020808252601a908201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e6572604082015260600190565b6020808252601a908201527f5361666545524332303a205472616e73666572206661696c6564000000000000604082015260600190565b60208082526032908201527f6f6e6c794d434a3a206f6e6c79204d6173746572436865664a6f652063616e2060408201527131b0b636103a3434b990333ab731ba34b7b760711b606082015260800190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b815181526020918201519181019190915260400190565b90815260200190565b918252602082015260400190565b9283526020830191909152604082015260600190565b801515811461153257600080fd5b5056fea264697066735822122000a686f09d618438dee19608551c0e0684f497af0ab806a29bb2366ac62d8bbf64736f6c634300060c0033",
  "deployedBytecode": "0x6080604052600436106101025760003560e01c806373cfc6b211610095578063c031a66f11610064578063c031a66f14610285578063db2e21bc146102a5578063e30c3978146102ba578063e3161ddd146102cf578063f7c618c1146102f157610109565b806373cfc6b2146102195780638da5cb5b1461023b5780639e447fc614610250578063b69ef8a81461027057610109565b80634e71e0c8116100d15780634e71e0c8146101aa57806350fd1f3e146101bf5780635a2f3d09146101e15780635fcbd2851461020457610109565b8063078dfbe71461010e5780631959a002146101305780631a7af8b01461016857806330628e151461018857610109565b3661010957005b600080fd5b34801561011a57600080fd5b5061012e610129366004611148565b610306565b005b34801561013c57600080fd5b5061015061014b366004611126565b6103f5565b60405161015f9392919061150e565b60405180910390f35b34801561017457600080fd5b5061012e610183366004611191565b610416565b34801561019457600080fd5b5061019d6107f7565b60405161015f9190611240565b3480156101b657600080fd5b5061012e61081b565b3480156101cb57600080fd5b506101d46108a8565b60405161015f91906114f7565b3480156101ed57600080fd5b506101f66108ae565b60405161015f929190611500565b34801561021057600080fd5b5061019d6108b7565b34801561022557600080fd5b5061022e6108db565b60405161015f919061126d565b34801561024757600080fd5b5061019d6108ff565b34801561025c57600080fd5b5061012e61026b3660046111d7565b61090e565b34801561027c57600080fd5b506101d4610987565b34801561029157600080fd5b506101d46102a0366004611126565b610a58565b3480156102b157600080fd5b5061012e610c00565b3480156102c657600080fd5b5061019d610da5565b3480156102db57600080fd5b506102e4610db4565b60405161015f91906114e0565b3480156102fd57600080fd5b5061019d610f1b565b6000546001600160a01b031633146103395760405162461bcd60e51b8152600401610330906113b6565b60405180910390fd5b81156103d4576001600160a01b0383161515806103535750805b61036f5760405162461bcd60e51b8152600401610330906112d8565b600080546040516001600160a01b03808716939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0385166001600160a01b0319918216179091556001805490911690556103f0565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b60056020526000908152604090208054600182015460029092015490919083565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461045e5760405162461bcd60e51b815260040161033090611457565b6002805414156104805760405162461bcd60e51b8152600401610330906114a9565b6002805561048c610db4565b506104956110f5565b5060408051808201825260035481526004546020808301919091526001600160a01b038516600090815260059091529182208054919290911561078257610514826002015461050e846001015460075461050088600001518860000154610f4590919063ffffffff16565b8161050757fe5b0490610f88565b90610fb0565b90507f00000000000000000000000000000000000000000000000000000000000000001561065a5747808211156105cf576000866001600160a01b03168260405161055e90610a55565b60006040518083038185875af1925050503d806000811461059b576040519150601f19603f3d011682016040523d82523d6000602084013e6105a0565b606091505b50509050806105c15760405162461bcd60e51b815260040161033090611278565b508082036002840155610654565b6000866001600160a01b0316836040516105e890610a55565b60006040518083038185875af1925050503d8060008114610625576040519150601f19603f3d011682016040523d82523d6000602084013e61062a565b606091505b505090508061064b5760405162461bcd60e51b815260040161033090611278565b50600060028401555b50610782565b6040516370a0823160e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a08231906106a9903090600401611240565b60206040518083038186803b1580156106c157600080fd5b505afa1580156106d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f991906111ef565b905080821115610744576107376001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168783610fd5565b8082036002840155610780565b6107786001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168784610fd5565b600060028401555b505b8382556007548351610795908690610f45565b8161079c57fe5b04600183015560028201546040516001600160a01b038716917fd1072bb52c3131d0c96197b73fb8a45637e30f8b6664fc142310cc9b242859b4916107e3918503906114f7565b60405180910390a250506001600255505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001546001600160a01b03163381146108465760405162461bcd60e51b8152600401610330906113eb565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b60065481565b60035460045482565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000546001600160a01b031681565b6000546001600160a01b031633146109385760405162461bcd60e51b8152600401610330906113b6565b610940610db4565b5060068054908290556040517fc390a98ace15a7bb6bab611eedfdbb2685043b241a869420043cdfb23ccfee509061097b9083908590611500565b60405180910390a15050565b60007f0000000000000000000000000000000000000000000000000000000000000000156109b6575047610a55565b6040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190610a02903090600401611240565b60206040518083038186803b158015610a1a57600080fd5b505afa158015610a2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5291906111ef565b90505b90565b6000610a626110f5565b506040805180820182526003548152600480546020808401919091526001600160a01b0380871660009081526005909252848220845195516370a0823160e01b81529495909490937f0000000000000000000000000000000000000000000000000000000000000000909216916370a0823191610b01917f00000000000000000000000000000000000000000000000000000000000000009101611240565b60206040518083038186803b158015610b1957600080fd5b505afa158015610b2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5191906111ef565b9050836020015142118015610b6557508015155b15610bcc576000610b83856020015142610f8890919063ffffffff16565b90506000610b9c60065483610f4590919063ffffffff16565b9050610bc7610bc084610bba60075485610f4590919063ffffffff16565b906110c3565b8590610fb0565b935050505b610bf6836002015461050e8560010154600754610500878960000154610f4590919063ffffffff16565b9695505050505050565b6000546001600160a01b03163314610c2a5760405162461bcd60e51b8152600401610330906113b6565b7f000000000000000000000000000000000000000000000000000000000000000015610cd2576000336001600160a01b031647604051610c6990610a55565b60006040518083038185875af1925050503d8060008114610ca6576040519150601f19603f3d011682016040523d82523d6000602084013e610cab565b606091505b5050905080610ccc5760405162461bcd60e51b815260040161033090611278565b50610da3565b610da3337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610d229190611240565b60206040518083038186803b158015610d3a57600080fd5b505afa158015610d4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7291906111ef565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190610fd5565b565b6001546001600160a01b031681565b610dbc6110f5565b5060408051808201909152600354815260045460208201819052421115610a55576040516370a0823160e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190610e4c907f000000000000000000000000000000000000000000000000000000000000000090600401611240565b60206040518083038186803b158015610e6457600080fd5b505afa158015610e78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9c91906111ef565b90508015610f07576000610ebd836020015142610f8890919063ffffffff16565b90506000610ed660065483610f4590919063ffffffff16565b9050610f0283610ef160075484610f4590919063ffffffff16565b81610ef857fe5b8651919004610fb0565b845250505b504260208201819052815160035560045590565b7f000000000000000000000000000000000000000000000000000000000000000081565b3b151590565b600082610f5457506000610f82565b82820282848281610f6157fe5b0414610f7f5760405162461bcd60e51b815260040161033090611375565b90505b92915050565b600082821115610faa5760405162461bcd60e51b815260040161033090611307565b50900390565b600082820183811015610f7f5760405162461bcd60e51b8152600401610330906112a1565b60006060846001600160a01b031663a9059cbb8585604051602401610ffb929190611254565b6040516020818303038152906040529060e01b6020820180516001600160e01b0383818316178352505050506040516110349190611207565b6000604051808303816000865af19150503d8060008114611071576040519150601f19603f3d011682016040523d82523d6000602084013e611076565b606091505b50915091508180156110a05750805115806110a05750808060200190518101906110a091906111bb565b6110bc5760405162461bcd60e51b815260040161033090611420565b5050505050565b60008082116110e45760405162461bcd60e51b81526004016103309061133e565b8183816110ed57fe5b049392505050565b604051806040016040528060008152602001600081525090565b80356001600160a01b0381168114610f8257600080fd5b600060208284031215611137578081fd5b611141838361110f565b9392505050565b60008060006060848603121561115c578182fd5b611166858561110f565b9250602084013561117681611524565b9150604084013561118681611524565b809150509250925092565b600080604083850312156111a3578182fd5b6111ad848461110f565b946020939093013593505050565b6000602082840312156111cc578081fd5b8151610f7f81611524565b6000602082840312156111e8578081fd5b5035919050565b600060208284031215611200578081fd5b5051919050565b60008251815b81811015611227576020818601810151858301520161120d565b818111156112355782828501525b509190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b6020808252600f908201526e151c985b9cd9995c8819985a5b1959608a1b604082015260600190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601590820152744f776e61626c653a207a65726f206164647265737360581b604082015260600190565b6020808252601e908201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604082015260600190565b6020808252601a908201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e6572604082015260600190565b6020808252601a908201527f5361666545524332303a205472616e73666572206661696c6564000000000000604082015260600190565b60208082526032908201527f6f6e6c794d434a3a206f6e6c79204d6173746572436865664a6f652063616e2060408201527131b0b636103a3434b990333ab731ba34b7b760711b606082015260800190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b815181526020918201519181019190915260400190565b90815260200190565b918252602082015260400190565b9283526020830191909152604082015260600190565b801515811461153257600080fd5b5056fea264697066735822122000a686f09d618438dee19608551c0e0684f497af0ab806a29bb2366ac62d8bbf64736f6c634300060c0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
