{
  "_format": "hh-sol-artifact-1",
  "contractName": "MockPendleTraderJoeRewardRedeemer",
  "sourceName": "contracts/mock/MockPendleTraderJoeRewardRedeemer.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_yieldTokenHolderAddr",
          "type": "address"
        },
        {
          "internalType": "contract IERC20",
          "name": "_lpToken",
          "type": "address"
        },
        {
          "internalType": "contract IPendleMasterChef",
          "name": "_masterChef",
          "type": "address"
        },
        {
          "internalType": "uint32",
          "name": "_pid",
          "type": "uint32"
        },
        {
          "internalType": "uint256[]",
          "name": "_rewardTokens",
          "type": "uint256[]"
        },
        {
          "internalType": "contract IWETH",
          "name": "_weth",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "afterReceiveTokens",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_pid",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "deposit",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_pid",
          "type": "uint256"
        }
      ],
      "name": "emergencyWithdraw",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "lpToken",
      "outputs": [
        {
          "internalType": "contract IERC20",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "masterChef",
      "outputs": [
        {
          "internalType": "contract IPendleMasterChef",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "pid",
      "outputs": [
        {
          "internalType": "uint32",
          "name": "",
          "type": "uint32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "poolInfo",
      "outputs": [
        {
          "components": [
            {
              "internalType": "contract IERC20",
              "name": "lpToken",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "_ignore1",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "_ignore2",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "_ignore3",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "_ignore4",
              "type": "address"
            }
          ],
          "internalType": "struct IPendleMasterChef.PoolInfo",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "rewardTokens",
      "outputs": [
        {
          "internalType": "address",
          "name": "tokenA",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "tokenB",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "tokenC",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "userInfo",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "amount",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "_ignore1",
              "type": "uint256"
            }
          ],
          "internalType": "struct IPendleMasterChef.UserInfo",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "weth",
      "outputs": [
        {
          "internalType": "contract IWETH",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_pid",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "withdraw",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "yieldTokenHolderAddr",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "stateMutability": "payable",
      "type": "receive"
    }
  ],
  "bytecode": "0x6101206040523480156200001257600080fd5b5060405162001c1e38038062001c1e833981016040819052620000359162000365565b846001600160a01b0316846001600160a01b0316631526fe27856040518263ffffffff1660e01b81526004016200006d919062000529565b60a06040518083038186803b1580156200008657600080fd5b505afa1580156200009b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000c1919062000480565b516001600160a01b031614620000f45760405162461bcd60e51b8152600401620000eb90620004fd565b60405180910390fd5b8151600314620001185760405162461bcd60e51b8152600401620000eb90620004fd565b606085811b6001600160601b031990811660a05285821b811660c05260e085811b6001600160e01b031916905287821b166080526040805191820190528251819084906000906200016557fe5b60200260200101516001600160a01b03168152602001836001815181106200018957fe5b60200260200101516001600160a01b0316815260200183600281518110620001ad57fe5b6020908102919091018101516001600160a01b039081169092528251600080549184166001600160a01b031992831617905583820151600180549185169183169190911790556040909301516002805491841691909416179092556001600160601b0319606084901b166101005262000239919087169086906000199062000a7d62000245821b17901c565b50505050505062000577565b826001600160a01b031663095ea7b38360006040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156200029e57600080fd5b505af1158015620002b3573d6000803e3d6000fd5b505050506040513d6020811015620002ca57600080fd5b50506040805163095ea7b360e01b81526001600160a01b0384811660048301526024820184905291519185169163095ea7b3916044808201926020929091908290030181600087803b1580156200032057600080fd5b505af115801562000335573d6000803e3d6000fd5b505050506040513d60208110156200034c57600080fd5b5050505050565b805162000360816200055e565b919050565b60008060008060008060c087890312156200037e578182fd5b86516200038b816200055e565b80965050602080880151620003a0816200055e565b6040890151909650620003b3816200055e565b606089015190955063ffffffff81168114620003cd578384fd5b60808901519094506001600160401b0380821115620003ea578485fd5b818a0191508a601f830112620003fe578485fd5b8151818111156200040b57fe5b83810291506200041d8483016200053a565b8181528481019084860184860187018f101562000438578889fd5b8895505b838610156200045c5780518352600195909501949186019186016200043c565b508097505050505050506200047460a0880162000353565b90509295509295509295565b600060a0828403121562000492578081fd5b60405160a081016001600160401b0381118282101715620004af57fe5b6040528251620004bf816200055e565b808252506020830151602082015260408301516040820152606083015160608201526080830151620004f1816200055e565b60808201529392505050565b602080825260129082015271494e56414c49445f544f4b454e5f494e464f60701b604082015260600190565b63ffffffff91909116815260200190565b6040518181016001600160401b03811182821017156200055657fe5b604052919050565b6001600160a01b03811681146200057457600080fd5b50565b60805160601c60a05160601c60c05160601c60e05160e01c6101005160601c6115db620006436000398061030f528061047252508061028f5280610386528061040c5280610598528061061e528061080952806108cd52806109955280610a5b52508061026252806103df52806105f1528061077752806107dc52806108a05250806104f8528061069e5280610742528061079b52806109e452508061033c528061051a5280610557528061067d52806109545280610a065280610a375280610bc752506115db6000f3fe6080604052600436106100ab5760003560e01c806393f1a40b1161006457806393f1a40b1461017b5780639cabec7b146101a8578063c2b18aa0146101c8578063e2bbb158146101ec578063e801f3c11461020c578063f106845414610221576100b2565b80631526fe27146100b75780633fc8cef3146100ed578063441a3e701461010f5780635312ea8e14610131578063575a86b2146101515780635fcbd28514610166576100b2565b366100b257005b600080fd5b3480156100c357600080fd5b506100d76100d2366004611393565b610243565b6040516100e4919061149f565b60405180910390f35b3480156100f957600080fd5b5061010261030d565b6040516100e49190611413565b34801561011b57600080fd5b5061012f61012a3660046113f2565b610331565b005b34801561013d57600080fd5b5061012f61014c366004611393565b61054c565b34801561015d57600080fd5b50610102610775565b34801561017257600080fd5b50610102610799565b34801561018757600080fd5b5061019b6101963660046113c3565b6107bd565b6040516100e491906114e0565b3480156101b457600080fd5b5061012f6101c3366004611393565b610889565b3480156101d457600080fd5b506101dd61092c565b6040516100e493929190611427565b3480156101f857600080fd5b5061012f6102073660046113f2565b610949565b34801561021857600080fd5b50610102610a35565b34801561022d57600080fd5b50610236610a59565b6040516100e491906114f7565b61024b611257565b604051631526fe2760e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631526fe27906102b7907f0000000000000000000000000000000000000000000000000000000000000000906004016114f7565b60a06040518083038186803b1580156102cf57600080fd5b505afa1580156102e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061030791906112d3565b92915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103825760405162461bcd60e51b81526004016103799061146f565b60405180910390fd5b81807f000000000000000000000000000000000000000000000000000000000000000063ffffffff16146103c85760405162461bcd60e51b81526004016103799061144a565b604051630441a3e760e41b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063441a3e7090610436907f0000000000000000000000000000000000000000000000000000000000000000908690600401611527565b600060405180830381600087803b15801561045057600080fd5b505af1158015610464573d6000803e3d6000fd5b50505050476000146104e5577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0476040518263ffffffff1660e01b81526004016000604051808303818588803b1580156104cb57600080fd5b505af11580156104df573d6000803e3d6000fd5b50505050505b811561053f5761053f6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f000000000000000000000000000000000000000000000000000000000000000084610b7e565b610547610b92565b505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105945760405162461bcd60e51b81526004016103799061146f565b80807f000000000000000000000000000000000000000000000000000000000000000063ffffffff16146105da5760405162461bcd60e51b81526004016103799061144a565b604051632989754760e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635312ea8e90610646907f0000000000000000000000000000000000000000000000000000000000000000906004016114f7565b600060405180830381600087803b15801561066057600080fd5b505af1158015610674573d6000803e3d6000fd5b505050506107697f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016106e89190611413565b60206040518083038186803b15801561070057600080fd5b505afa158015610714573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073891906113ab565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190610b7e565b610771610b92565b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6107c5611298565b6040516393f1a40b60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906393f1a40b90610833907f0000000000000000000000000000000000000000000000000000000000000000903090600401611508565b604080518083038186803b15801561084a57600080fd5b505afa15801561085e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610882919061134b565b9392505050565b604051631c57762b60e31b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e2bbb158906108f7907f0000000000000000000000000000000000000000000000000000000000000000908590600401611527565b600060405180830381600087803b15801561091157600080fd5b505af1158015610925573d6000803e3d6000fd5b5050505050565b6000546001546002546001600160a01b0392831692918216911683565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109915760405162461bcd60e51b81526004016103799061146f565b81807f000000000000000000000000000000000000000000000000000000000000000063ffffffff16146109d75760405162461bcd60e51b81526004016103799061144a565b610a2c6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f00000000000000000000000000000000000000000000000000000000000000003085610c29565b61054782610889565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b826001600160a01b031663095ea7b38360006040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610ad557600080fd5b505af1158015610ae9573d6000803e3d6000fd5b505050506040513d6020811015610aff57600080fd5b50506040805163095ea7b360e01b81526001600160a01b0384811660048301526024820184905291519185169163095ea7b3916044808201926020929091908290030181600087803b158015610b5457600080fd5b505af1158015610b68573d6000803e3d6000fd5b505050506040513d602081101561092557600080fd5b6105476001600160a01b0384168383610c44565b604080516060810182526000546001600160a01b039081168252600154811660208301526002541691810191909152610c27907f000000000000000000000000000000000000000000000000000000000000000090610bf19030610c96565b604080516060810182526000546001600160a01b0390811682526001548116602083015260025416918101919091529190610e67565b565b610c3e6001600160a01b038516848484610f34565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610547908490610f8a565b610c9e6112b2565b82516001600160a01b031615610d305782516040516370a0823160e01b81526001600160a01b03909116906370a0823190610cdd908590600401611413565b60206040518083038186803b158015610cf557600080fd5b505afa158015610d09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2d91906113ab565b81525b60208301516001600160a01b031615610dc95782602001516001600160a01b03166370a08231836040518263ffffffff1660e01b8152600401610d739190611413565b60206040518083038186803b158015610d8b57600080fd5b505afa158015610d9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc391906113ab565b60208201525b60408301516001600160a01b0316156103075782604001516001600160a01b03166370a08231836040518263ffffffff1660e01b8152600401610e0c9190611413565b60206040518083038186803b158015610e2457600080fd5b505afa158015610e38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5c91906113ab565b604082015292915050565b82516001600160a01b031615801590610e805750805115155b15610ea05780518351610ea0916001600160a01b03909116908490610b7e565b60208301516001600160a01b031615801590610ebf5750602081015115155b15610eea57610eea82826020015185602001516001600160a01b0316610b7e9092919063ffffffff16565b60408301516001600160a01b031615801590610f095750604081015115155b156105475761054782826040015185604001516001600160a01b0316610b7e9092919063ffffffff16565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052610c3e9085905b6000610fdf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661103b9092919063ffffffff16565b80519091501561054757808060200190516020811015610ffe57600080fd5b50516105475760405162461bcd60e51b815260040180806020018281038252602a81526020018061157c602a913960400191505060405180910390fd5b606061104a8484600085611052565b949350505050565b6060824710156110935760405162461bcd60e51b81526004018080602001828103825260268152602001806115566026913960400191505060405180910390fd5b61109c856111ad565b6110ed576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b6020831061112b5780518252601f19909201916020918201910161110c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461118d576040519150601f19603f3d011682016040523d82523d6000602084013e611192565b606091505b50915091506111a28282866111b3565b979650505050505050565b3b151590565b606083156111c2575081610882565b8251156111d25782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561121c578181015183820152602001611204565b50505050905090810190601f1680156112495780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6040518060a0016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160006001600160a01b031681525090565b604051806040016040528060008152602001600081525090565b60405180606001604052806000815260200160008152602001600081525090565b600060a082840312156112e4578081fd5b60405160a0810181811067ffffffffffffffff8211171561130157fe5b604052825161130f8161153d565b80825250602083015160208201526040830151604082015260608301516060820152608083015161133f8161153d565b60808201529392505050565b60006040828403121561135c578081fd5b6040516040810181811067ffffffffffffffff8211171561137957fe5b604052825181526020928301519281019290925250919050565b6000602082840312156113a4578081fd5b5035919050565b6000602082840312156113bc578081fd5b5051919050565b600080604083850312156113d5578081fd5b8235915060208301356113e78161153d565b809150509250929050565b60008060408385031215611404578182fd5b50508035926020909101359150565b6001600160a01b0391909116815260200190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6020808252600b908201526a1253959053125117d4125160aa1b604082015260600190565b6020808252601690820152752727aa2faca4a2a6222faa27a5a2a72fa427a62222a960511b604082015260600190565b81516001600160a01b039081168252602080840151908301526040808401519083015260608084015190830152608092830151169181019190915260a00190565b815181526020918201519181019190915260400190565b63ffffffff91909116815260200190565b63ffffffff9290921682526001600160a01b0316602082015260400190565b63ffffffff929092168252602082015260400190565b6001600160a01b038116811461155257600080fd5b5056fe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220311918543a8e27826bfc1542ca7bb8377388a5f5ec722eba646d6b7313d56e1f64736f6c63430007060033",
  "deployedBytecode": "0x6080604052600436106100ab5760003560e01c806393f1a40b1161006457806393f1a40b1461017b5780639cabec7b146101a8578063c2b18aa0146101c8578063e2bbb158146101ec578063e801f3c11461020c578063f106845414610221576100b2565b80631526fe27146100b75780633fc8cef3146100ed578063441a3e701461010f5780635312ea8e14610131578063575a86b2146101515780635fcbd28514610166576100b2565b366100b257005b600080fd5b3480156100c357600080fd5b506100d76100d2366004611393565b610243565b6040516100e4919061149f565b60405180910390f35b3480156100f957600080fd5b5061010261030d565b6040516100e49190611413565b34801561011b57600080fd5b5061012f61012a3660046113f2565b610331565b005b34801561013d57600080fd5b5061012f61014c366004611393565b61054c565b34801561015d57600080fd5b50610102610775565b34801561017257600080fd5b50610102610799565b34801561018757600080fd5b5061019b6101963660046113c3565b6107bd565b6040516100e491906114e0565b3480156101b457600080fd5b5061012f6101c3366004611393565b610889565b3480156101d457600080fd5b506101dd61092c565b6040516100e493929190611427565b3480156101f857600080fd5b5061012f6102073660046113f2565b610949565b34801561021857600080fd5b50610102610a35565b34801561022d57600080fd5b50610236610a59565b6040516100e491906114f7565b61024b611257565b604051631526fe2760e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631526fe27906102b7907f0000000000000000000000000000000000000000000000000000000000000000906004016114f7565b60a06040518083038186803b1580156102cf57600080fd5b505afa1580156102e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061030791906112d3565b92915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103825760405162461bcd60e51b81526004016103799061146f565b60405180910390fd5b81807f000000000000000000000000000000000000000000000000000000000000000063ffffffff16146103c85760405162461bcd60e51b81526004016103799061144a565b604051630441a3e760e41b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063441a3e7090610436907f0000000000000000000000000000000000000000000000000000000000000000908690600401611527565b600060405180830381600087803b15801561045057600080fd5b505af1158015610464573d6000803e3d6000fd5b50505050476000146104e5577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0476040518263ffffffff1660e01b81526004016000604051808303818588803b1580156104cb57600080fd5b505af11580156104df573d6000803e3d6000fd5b50505050505b811561053f5761053f6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f000000000000000000000000000000000000000000000000000000000000000084610b7e565b610547610b92565b505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105945760405162461bcd60e51b81526004016103799061146f565b80807f000000000000000000000000000000000000000000000000000000000000000063ffffffff16146105da5760405162461bcd60e51b81526004016103799061144a565b604051632989754760e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635312ea8e90610646907f0000000000000000000000000000000000000000000000000000000000000000906004016114f7565b600060405180830381600087803b15801561066057600080fd5b505af1158015610674573d6000803e3d6000fd5b505050506107697f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016106e89190611413565b60206040518083038186803b15801561070057600080fd5b505afa158015610714573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073891906113ab565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190610b7e565b610771610b92565b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6107c5611298565b6040516393f1a40b60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906393f1a40b90610833907f0000000000000000000000000000000000000000000000000000000000000000903090600401611508565b604080518083038186803b15801561084a57600080fd5b505afa15801561085e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610882919061134b565b9392505050565b604051631c57762b60e31b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e2bbb158906108f7907f0000000000000000000000000000000000000000000000000000000000000000908590600401611527565b600060405180830381600087803b15801561091157600080fd5b505af1158015610925573d6000803e3d6000fd5b5050505050565b6000546001546002546001600160a01b0392831692918216911683565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109915760405162461bcd60e51b81526004016103799061146f565b81807f000000000000000000000000000000000000000000000000000000000000000063ffffffff16146109d75760405162461bcd60e51b81526004016103799061144a565b610a2c6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f00000000000000000000000000000000000000000000000000000000000000003085610c29565b61054782610889565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b826001600160a01b031663095ea7b38360006040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610ad557600080fd5b505af1158015610ae9573d6000803e3d6000fd5b505050506040513d6020811015610aff57600080fd5b50506040805163095ea7b360e01b81526001600160a01b0384811660048301526024820184905291519185169163095ea7b3916044808201926020929091908290030181600087803b158015610b5457600080fd5b505af1158015610b68573d6000803e3d6000fd5b505050506040513d602081101561092557600080fd5b6105476001600160a01b0384168383610c44565b604080516060810182526000546001600160a01b039081168252600154811660208301526002541691810191909152610c27907f000000000000000000000000000000000000000000000000000000000000000090610bf19030610c96565b604080516060810182526000546001600160a01b0390811682526001548116602083015260025416918101919091529190610e67565b565b610c3e6001600160a01b038516848484610f34565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610547908490610f8a565b610c9e6112b2565b82516001600160a01b031615610d305782516040516370a0823160e01b81526001600160a01b03909116906370a0823190610cdd908590600401611413565b60206040518083038186803b158015610cf557600080fd5b505afa158015610d09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2d91906113ab565b81525b60208301516001600160a01b031615610dc95782602001516001600160a01b03166370a08231836040518263ffffffff1660e01b8152600401610d739190611413565b60206040518083038186803b158015610d8b57600080fd5b505afa158015610d9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc391906113ab565b60208201525b60408301516001600160a01b0316156103075782604001516001600160a01b03166370a08231836040518263ffffffff1660e01b8152600401610e0c9190611413565b60206040518083038186803b158015610e2457600080fd5b505afa158015610e38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5c91906113ab565b604082015292915050565b82516001600160a01b031615801590610e805750805115155b15610ea05780518351610ea0916001600160a01b03909116908490610b7e565b60208301516001600160a01b031615801590610ebf5750602081015115155b15610eea57610eea82826020015185602001516001600160a01b0316610b7e9092919063ffffffff16565b60408301516001600160a01b031615801590610f095750604081015115155b156105475761054782826040015185604001516001600160a01b0316610b7e9092919063ffffffff16565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052610c3e9085905b6000610fdf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661103b9092919063ffffffff16565b80519091501561054757808060200190516020811015610ffe57600080fd5b50516105475760405162461bcd60e51b815260040180806020018281038252602a81526020018061157c602a913960400191505060405180910390fd5b606061104a8484600085611052565b949350505050565b6060824710156110935760405162461bcd60e51b81526004018080602001828103825260268152602001806115566026913960400191505060405180910390fd5b61109c856111ad565b6110ed576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b6020831061112b5780518252601f19909201916020918201910161110c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461118d576040519150601f19603f3d011682016040523d82523d6000602084013e611192565b606091505b50915091506111a28282866111b3565b979650505050505050565b3b151590565b606083156111c2575081610882565b8251156111d25782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561121c578181015183820152602001611204565b50505050905090810190601f1680156112495780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6040518060a0016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160006001600160a01b031681525090565b604051806040016040528060008152602001600081525090565b60405180606001604052806000815260200160008152602001600081525090565b600060a082840312156112e4578081fd5b60405160a0810181811067ffffffffffffffff8211171561130157fe5b604052825161130f8161153d565b80825250602083015160208201526040830151604082015260608301516060820152608083015161133f8161153d565b60808201529392505050565b60006040828403121561135c578081fd5b6040516040810181811067ffffffffffffffff8211171561137957fe5b604052825181526020928301519281019290925250919050565b6000602082840312156113a4578081fd5b5035919050565b6000602082840312156113bc578081fd5b5051919050565b600080604083850312156113d5578081fd5b8235915060208301356113e78161153d565b809150509250929050565b60008060408385031215611404578182fd5b50508035926020909101359150565b6001600160a01b0391909116815260200190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6020808252600b908201526a1253959053125117d4125160aa1b604082015260600190565b6020808252601690820152752727aa2faca4a2a6222faa27a5a2a72fa427a62222a960511b604082015260600190565b81516001600160a01b039081168252602080840151908301526040808401519083015260608084015190830152608092830151169181019190915260a00190565b815181526020918201519181019190915260400190565b63ffffffff91909116815260200190565b63ffffffff9290921682526001600160a01b0316602082015260400190565b63ffffffff929092168252602082015260400190565b6001600160a01b038116811461155257600080fd5b5056fe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220311918543a8e27826bfc1542ca7bb8377388a5f5ec722eba646d6b7313d56e1f64736f6c63430007060033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
