{
  "_format": "hh-sol-artifact-1",
  "contractName": "TreasuryVesterLinear",
  "sourceName": "contracts/treasury-vester/TreasuryVesterLinear.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newVestedToken",
          "type": "address"
        },
        {
          "components": [
            {
              "internalType": "address",
              "name": "account",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "allocation",
              "type": "uint256"
            },
            {
              "internalType": "bool",
              "name": "isMiniChef",
              "type": "bool"
            }
          ],
          "internalType": "struct TreasuryVesterLinear.Recipient[]",
          "name": "newRecipients",
          "type": "tuple[]"
        },
        {
          "internalType": "address",
          "name": "newGuardian",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "newDailyVestingAmount",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "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": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "account",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "allocation",
              "type": "uint256"
            },
            {
              "internalType": "bool",
              "name": "isMiniChef",
              "type": "bool"
            }
          ],
          "indexed": false,
          "internalType": "struct TreasuryVesterLinear.Recipient[]",
          "name": "newRecipients",
          "type": "tuple[]"
        }
      ],
      "name": "RecipientsChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [],
      "name": "TokensVested",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [],
      "name": "VestingEnabled",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "dailyVestingAmount",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "distribute",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "guardian",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "lastUpdate",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "recipients",
      "outputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "allocation",
          "type": "uint256"
        },
        {
          "internalType": "bool",
          "name": "isMiniChef",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "account",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "allocation",
              "type": "uint256"
            },
            {
              "internalType": "bool",
              "name": "isMiniChef",
              "type": "bool"
            }
          ],
          "internalType": "struct TreasuryVesterLinear.Recipient[]",
          "name": "newRecipients",
          "type": "tuple[]"
        }
      ],
      "name": "setRecipients",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "startVesting",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "vestedToken",
      "outputs": [
        {
          "internalType": "contract IPng",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "vestingEnabled",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x60c06040523480156200001157600080fd5b506040516200195a3803806200195a83398101604081905262000034916200067a565b6200003f33620001c0565b6127108111620000ae5760405162461bcd60e51b815260206004820152602f60248201527f54726561737572795665737465723a3a436f6e7374727563746f723a206c6f7760448201526e081d995cdd1a5b99c8185b5bdd5b9d608a1b60648201526084015b60405180910390fd5b6001600160a01b0382166200011b5760405162461bcd60e51b815260206004820152603560248201526000805160206200193a83398151915260448201527f616c696420677561726469616e206164647265737300000000000000000000006064820152608401620000a5565b6000846001600160a01b03163b11620001815760405162461bcd60e51b815260206004820152603260248201526000805160206200193a833981519152604482015271616c696420746f6b656e206164647265737360701b6064820152608401620000a5565b600280546001600160a01b0319166001600160a01b0384811691909117909155841660805260a0819052620001b68362000210565b5050505062000869565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6200021a6200052d565b62000228600160006200058b565b805180158015906200023a5750602981105b6200029d5760405162461bcd60e51b815260206004820152603760248201526000805160206200191a83398151915260448201527f6e76616c696420726563697069656e74206e756d6265720000000000000000006064820152608401620000a5565b6000805b8281101562000486576000848281518110620002c157620002c1620007a0565b602090810291909101015180519091506001600160a01b03166200033d5760405162461bcd60e51b815260206004820152603860248201526000805160206200191a83398151915260448201527f6e76616c696420726563697069656e74206164647265737300000000000000006064820152608401620000a5565b8060200151600003620003a85760405162461bcd60e51b815260206004820152603b60248201526000805160206200191a83398151915260448201527f6e76616c696420726563697069656e7420616c6c6f636174696f6e00000000006064820152608401620000a5565b60018054808201825560009190915281517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6600390920291820180546001600160a01b0319166001600160a01b0390921691909117905560208201517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf7820181905560408301517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf8909201805460ff1916921515929092179091556200046f9084620007cc565b925050806200047e90620007e7565b9050620002a1565b506127108114620004ef5760405162461bcd60e51b815260206004820152603760248201526000805160206200191a83398151915260448201527f6e76616c696420746f74616c20616c6c6f636174696f6e0000000000000000006064820152608401620000a5565b7f460ea22cf0e4fc57af938b5999c20c34746291ba7c678329289ca316290b88f28360405162000520919062000803565b60405180910390a1505050565b6000546001600160a01b03163314620005895760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401620000a5565b565b5080546000825560030290600052602060002090810190620005ae9190620005b1565b50565b5b80821115620005e55780546001600160a01b03191681556000600182015560028101805460ff19169055600301620005b2565b5090565b80516001600160a01b03811681146200060157600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b038111828210171562000641576200064162000606565b60405290565b604051601f8201601f191681016001600160401b038111828210171562000672576200067262000606565b604052919050565b600080600080608085870312156200069157600080fd5b6200069c85620005e9565b602086810151919550906001600160401b0380821115620006bc57600080fd5b818801915088601f830112620006d157600080fd5b815181811115620006e657620006e662000606565b620006f6848260051b0162000647565b8181528481019250606091820284018501918b8311156200071657600080fd5b938501935b828510156200077e5780858d031215620007355760008081fd5b6200073f6200061c565b6200074a86620005e9565b8152868601518782015260408087015180151581146200076a5760008081fd5b90820152845293840193928501926200071b565b8198506200078f60408c01620005e9565b9a0151989b979a5050505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60008219821115620007e257620007e2620007b6565b500190565b600060018201620007fc57620007fc620007b6565b5060010190565b602080825282518282018190526000919060409081850190868401855b828110156200085c57815180516001600160a01b0316855286810151878601528501511515858501526060909301929085019060010162000820565b5091979650505050505050565b60805160a051611070620008aa6000396000818160de01526108b401526000818161014301528181610924015281816109c70152610afe01526110706000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c80638da5cb5b11610081578063deb36e321161005b578063deb36e32146101fa578063e4fc6b6d14610202578063f2fde38b1461020a57600080fd5b80638da5cb5b146101a6578063c0463711146101b7578063d1bc76a1146101c057600080fd5b8063715018a6116100b2578063715018a61461016557806377b872a81461016f5780637f87bbd61461018257600080fd5b80630d8f82fd146100d9578063452a9320146101135780635de297411461013e575b600080fd5b6101007f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020015b60405180910390f35b600254610126906001600160a01b031681565b6040516001600160a01b03909116815260200161010a565b6101267f000000000000000000000000000000000000000000000000000000000000000081565b61016d61021d565b005b61016d61017d366004610dfb565b610231565b60025461019690600160a01b900460ff1681565b604051901515815260200161010a565b6000546001600160a01b0316610126565b61010060035481565b6101d36101ce366004610edf565b61058c565b604080516001600160a01b039094168452602084019290925215159082015260600161010a565b61016d6105cc565b61016d61073a565b61016d610218366004610ef8565b610b9d565b610225610c2d565b61022f6000610c87565b565b610239610c2d565b61024560016000610ce4565b805180158015906102565750602981105b6102cd5760405162461bcd60e51b815260206004820152603760248201527f54726561737572795665737465723a3a736574526563697069656e74733a206960448201527f6e76616c696420726563697069656e74206e756d62657200000000000000000060648201526084015b60405180910390fd5b6000805b828110156104d85760008482815181106102ed576102ed610f1a565b602090810291909101015180519091506001600160a01b03166103785760405162461bcd60e51b815260206004820152603860248201527f54726561737572795665737465723a3a736574526563697069656e74733a206960448201527f6e76616c696420726563697069656e742061646472657373000000000000000060648201526084016102c4565b80602001516000036103f25760405162461bcd60e51b815260206004820152603b60248201527f54726561737572795665737465723a3a736574526563697069656e74733a206960448201527f6e76616c696420726563697069656e7420616c6c6f636174696f6e000000000060648201526084016102c4565b60018054808201825560009190915281517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf66003909202918201805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208201517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf7820181905560408301517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf8909201805460ff1916921515929092179091556104c49084610f46565b925050806104d190610f5e565b90506102d1565b5061271081146105505760405162461bcd60e51b815260206004820152603760248201527f54726561737572795665737465723a3a736574526563697069656e74733a206960448201527f6e76616c696420746f74616c20616c6c6f636174696f6e00000000000000000060648201526084016102c4565b7f460ea22cf0e4fc57af938b5999c20c34746291ba7c678329289ca316290b88f28360405161057f9190610f78565b60405180910390a1505050565b6001818154811061059c57600080fd5b60009182526020909120600390910201805460018201546002909201546001600160a01b03909116925060ff1683565b6002546001600160a01b03163314806105ef57506000546001600160a01b031633145b6106615760405162461bcd60e51b815260206004820152603960248201527f54726561737572795665737465723a3a737461727456657374696e673a20756e60448201527f617574686f72697a6564206d6573736167652073656e6465720000000000000060648201526084016102c4565b600254600160a01b900460ff16156106e15760405162461bcd60e51b815260206004820152603860248201527f54726561737572795665737465723a3a737461727456657374696e673a20766560448201527f7374696e6720697320616c726561647920656e61626c6564000000000000000060648201526084016102c4565b600280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16600160a01b1790556040517ff78a71daf05bb8e3a2ef9c526b1bb785285cdb83a6130cd12a3bbd5c99c15fa390600090a1565b600254600160a01b900460ff166107b95760405162461bcd60e51b815260206004820152603260248201527f54726561737572795665737465723a3a646973747269627574653a207665737460448201527f696e67206973206e6f7420656e61626c6564000000000000000000000000000060648201526084016102c4565b620151806003546107ca9190610f46565b42101561083f5760405162461bcd60e51b815260206004820152603960248201527f54726561737572795665737465723a3a646973747269627574653a206974206960448201527f7320746f6f206561726c7920746f20646973747269627574650000000000000060648201526084016102c4565b4260035560015460005b81811015610b705760006001828154811061086657610866610f1a565b6000918252602080832060408051606081018252600390940290910180546001600160a01b0316845260018101549284018390526002015460ff16151590830152909250612710906108d9907f000000000000000000000000000000000000000000000000000000000000000090610fdc565b6108e39190610ffb565b9050816040015115610abd576040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906340c10f1990604401600060405180830381600087803b15801561097057600080fd5b505af1158015610984573d6000803e3d6000fd5b505083516040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b039182166004820152602481018590527f0000000000000000000000000000000000000000000000000000000000000000909116925063095ea7b391506044016020604051808303816000875af1158015610a14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a38919061101d565b5081516040517f28662551000000000000000000000000000000000000000000000000000000008152600481018390526201518060248201526001600160a01b0390911690632866255190604401600060405180830381600087803b158015610aa057600080fd5b505af1158015610ab4573d6000803e3d6000fd5b50505050610b5d565b81516040517f40c10f190000000000000000000000000000000000000000000000000000000081526001600160a01b039182166004820152602481018390527f0000000000000000000000000000000000000000000000000000000000000000909116906340c10f1990604401600060405180830381600087803b158015610b4457600080fd5b505af1158015610b58573d6000803e3d6000fd5b505050505b505080610b6990610f5e565b9050610849565b506040517f4f4344ade909ddfd3bcfa062e00ca65e85fd886222cb4b0c3689037aa5bd5d6890600090a150565b610ba5610c2d565b6001600160a01b038116610c215760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016102c4565b610c2a81610c87565b50565b6000546001600160a01b0316331461022f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102c4565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5080546000825560030290600052602060002090810190610c2a91905b80821115610d3f57805473ffffffffffffffffffffffffffffffffffffffff191681556000600182015560028101805460ff19169055600301610d01565b5090565b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715610d7c57610d7c610d43565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610dc957610dc9610d43565b604052919050565b80356001600160a01b0381168114610de857600080fd5b919050565b8015158114610c2a57600080fd5b60006020808385031215610e0e57600080fd5b823567ffffffffffffffff80821115610e2657600080fd5b818501915085601f830112610e3a57600080fd5b813581811115610e4c57610e4c610d43565b610e5a848260051b01610d82565b81815284810192506060918202840185019188831115610e7957600080fd5b938501935b82851015610ed35780858a031215610e965760008081fd5b610e9e610d59565b610ea786610dd1565b81528686013587820152604080870135610ec081610ded565b9082015284529384019392850192610e7e565b50979650505050505050565b600060208284031215610ef157600080fd5b5035919050565b600060208284031215610f0a57600080fd5b610f1382610dd1565b9392505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60008219821115610f5957610f59610f30565b500190565b60006000198203610f7157610f71610f30565b5060010190565b602080825282518282018190526000919060409081850190868401855b82811015610fcf57815180516001600160a01b03168552868101518786015285015115158585015260609093019290850190600101610f95565b5091979650505050505050565b6000816000190483118215151615610ff657610ff6610f30565b500290565b60008261101857634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561102f57600080fd5b8151610f1381610ded56fea2646970667358221220a1a575e5b4754c2c900c5b148596dbf8a627972b4bfb71e7b0786f0029266cee64736f6c634300080f003354726561737572795665737465723a3a736574526563697069656e74733a206954726561737572795665737465723a3a436f6e7374727563746f723a20696e76",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100d45760003560e01c80638da5cb5b11610081578063deb36e321161005b578063deb36e32146101fa578063e4fc6b6d14610202578063f2fde38b1461020a57600080fd5b80638da5cb5b146101a6578063c0463711146101b7578063d1bc76a1146101c057600080fd5b8063715018a6116100b2578063715018a61461016557806377b872a81461016f5780637f87bbd61461018257600080fd5b80630d8f82fd146100d9578063452a9320146101135780635de297411461013e575b600080fd5b6101007f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020015b60405180910390f35b600254610126906001600160a01b031681565b6040516001600160a01b03909116815260200161010a565b6101267f000000000000000000000000000000000000000000000000000000000000000081565b61016d61021d565b005b61016d61017d366004610dfb565b610231565b60025461019690600160a01b900460ff1681565b604051901515815260200161010a565b6000546001600160a01b0316610126565b61010060035481565b6101d36101ce366004610edf565b61058c565b604080516001600160a01b039094168452602084019290925215159082015260600161010a565b61016d6105cc565b61016d61073a565b61016d610218366004610ef8565b610b9d565b610225610c2d565b61022f6000610c87565b565b610239610c2d565b61024560016000610ce4565b805180158015906102565750602981105b6102cd5760405162461bcd60e51b815260206004820152603760248201527f54726561737572795665737465723a3a736574526563697069656e74733a206960448201527f6e76616c696420726563697069656e74206e756d62657200000000000000000060648201526084015b60405180910390fd5b6000805b828110156104d85760008482815181106102ed576102ed610f1a565b602090810291909101015180519091506001600160a01b03166103785760405162461bcd60e51b815260206004820152603860248201527f54726561737572795665737465723a3a736574526563697069656e74733a206960448201527f6e76616c696420726563697069656e742061646472657373000000000000000060648201526084016102c4565b80602001516000036103f25760405162461bcd60e51b815260206004820152603b60248201527f54726561737572795665737465723a3a736574526563697069656e74733a206960448201527f6e76616c696420726563697069656e7420616c6c6f636174696f6e000000000060648201526084016102c4565b60018054808201825560009190915281517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf66003909202918201805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208201517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf7820181905560408301517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf8909201805460ff1916921515929092179091556104c49084610f46565b925050806104d190610f5e565b90506102d1565b5061271081146105505760405162461bcd60e51b815260206004820152603760248201527f54726561737572795665737465723a3a736574526563697069656e74733a206960448201527f6e76616c696420746f74616c20616c6c6f636174696f6e00000000000000000060648201526084016102c4565b7f460ea22cf0e4fc57af938b5999c20c34746291ba7c678329289ca316290b88f28360405161057f9190610f78565b60405180910390a1505050565b6001818154811061059c57600080fd5b60009182526020909120600390910201805460018201546002909201546001600160a01b03909116925060ff1683565b6002546001600160a01b03163314806105ef57506000546001600160a01b031633145b6106615760405162461bcd60e51b815260206004820152603960248201527f54726561737572795665737465723a3a737461727456657374696e673a20756e60448201527f617574686f72697a6564206d6573736167652073656e6465720000000000000060648201526084016102c4565b600254600160a01b900460ff16156106e15760405162461bcd60e51b815260206004820152603860248201527f54726561737572795665737465723a3a737461727456657374696e673a20766560448201527f7374696e6720697320616c726561647920656e61626c6564000000000000000060648201526084016102c4565b600280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16600160a01b1790556040517ff78a71daf05bb8e3a2ef9c526b1bb785285cdb83a6130cd12a3bbd5c99c15fa390600090a1565b600254600160a01b900460ff166107b95760405162461bcd60e51b815260206004820152603260248201527f54726561737572795665737465723a3a646973747269627574653a207665737460448201527f696e67206973206e6f7420656e61626c6564000000000000000000000000000060648201526084016102c4565b620151806003546107ca9190610f46565b42101561083f5760405162461bcd60e51b815260206004820152603960248201527f54726561737572795665737465723a3a646973747269627574653a206974206960448201527f7320746f6f206561726c7920746f20646973747269627574650000000000000060648201526084016102c4565b4260035560015460005b81811015610b705760006001828154811061086657610866610f1a565b6000918252602080832060408051606081018252600390940290910180546001600160a01b0316845260018101549284018390526002015460ff16151590830152909250612710906108d9907f000000000000000000000000000000000000000000000000000000000000000090610fdc565b6108e39190610ffb565b9050816040015115610abd576040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906340c10f1990604401600060405180830381600087803b15801561097057600080fd5b505af1158015610984573d6000803e3d6000fd5b505083516040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b039182166004820152602481018590527f0000000000000000000000000000000000000000000000000000000000000000909116925063095ea7b391506044016020604051808303816000875af1158015610a14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a38919061101d565b5081516040517f28662551000000000000000000000000000000000000000000000000000000008152600481018390526201518060248201526001600160a01b0390911690632866255190604401600060405180830381600087803b158015610aa057600080fd5b505af1158015610ab4573d6000803e3d6000fd5b50505050610b5d565b81516040517f40c10f190000000000000000000000000000000000000000000000000000000081526001600160a01b039182166004820152602481018390527f0000000000000000000000000000000000000000000000000000000000000000909116906340c10f1990604401600060405180830381600087803b158015610b4457600080fd5b505af1158015610b58573d6000803e3d6000fd5b505050505b505080610b6990610f5e565b9050610849565b506040517f4f4344ade909ddfd3bcfa062e00ca65e85fd886222cb4b0c3689037aa5bd5d6890600090a150565b610ba5610c2d565b6001600160a01b038116610c215760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016102c4565b610c2a81610c87565b50565b6000546001600160a01b0316331461022f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102c4565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5080546000825560030290600052602060002090810190610c2a91905b80821115610d3f57805473ffffffffffffffffffffffffffffffffffffffff191681556000600182015560028101805460ff19169055600301610d01565b5090565b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715610d7c57610d7c610d43565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610dc957610dc9610d43565b604052919050565b80356001600160a01b0381168114610de857600080fd5b919050565b8015158114610c2a57600080fd5b60006020808385031215610e0e57600080fd5b823567ffffffffffffffff80821115610e2657600080fd5b818501915085601f830112610e3a57600080fd5b813581811115610e4c57610e4c610d43565b610e5a848260051b01610d82565b81815284810192506060918202840185019188831115610e7957600080fd5b938501935b82851015610ed35780858a031215610e965760008081fd5b610e9e610d59565b610ea786610dd1565b81528686013587820152604080870135610ec081610ded565b9082015284529384019392850192610e7e565b50979650505050505050565b600060208284031215610ef157600080fd5b5035919050565b600060208284031215610f0a57600080fd5b610f1382610dd1565b9392505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60008219821115610f5957610f59610f30565b500190565b60006000198203610f7157610f71610f30565b5060010190565b602080825282518282018190526000919060409081850190868401855b82811015610fcf57815180516001600160a01b03168552868101518786015285015115158585015260609093019290850190600101610f95565b5091979650505050505050565b6000816000190483118215151615610ff657610ff6610f30565b500290565b60008261101857634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561102f57600080fd5b8151610f1381610ded56fea2646970667358221220a1a575e5b4754c2c900c5b148596dbf8a627972b4bfb71e7b0786f0029266cee64736f6c634300080f0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
