{
  "_format": "hh-sol-artifact-1",
  "contractName": "MasterChef",
  "sourceName": "contracts/MasterChef.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract Mora",
          "name": "_mora",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_moraPerSecond",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_burnPercent",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_startTime",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "allocPoint",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "lpToken",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "rewarder",
          "type": "address"
        }
      ],
      "name": "AddPool",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "pid",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "Deposit",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "pid",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "EmergencyWithdraw",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "pid",
          "type": "uint256"
        }
      ],
      "name": "FailedToNotifyRewarder",
      "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": true,
          "internalType": "uint256",
          "name": "pid",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "rewardPerSecond",
          "type": "uint256"
        }
      ],
      "name": "SetBonusEmissionRate",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "moraPerSecond",
          "type": "uint256"
        }
      ],
      "name": "SetEmissionRate",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "burnPercent",
          "type": "uint256"
        }
      ],
      "name": "SetPercent",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "pid",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "allocPoint",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "rewarder",
          "type": "address"
        }
      ],
      "name": "SetPool",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "pid",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "Withdraw",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_allocPoint",
          "type": "uint256"
        },
        {
          "internalType": "contract IERC20",
          "name": "_lpToken",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_rewarder",
          "type": "address"
        }
      ],
      "name": "addPool",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "burnAddress",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "burnPercent",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "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": "mora",
      "outputs": [
        {
          "internalType": "contract Mora",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "moraPerSecond",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "name",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_pid",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "_user",
          "type": "address"
        }
      ],
      "name": "pendingReward",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "pendingMora",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "pendingBonus",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "poolInfo",
      "outputs": [
        {
          "internalType": "contract IERC20",
          "name": "lpToken",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "allocPoint",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "lastRewardTime",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "accMoraPerShare",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "totalLp",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "rewarder",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "poolLength",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_pid",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_rewardPerSecond",
          "type": "uint256"
        }
      ],
      "name": "setBonusEmissionRate",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_moraPerSecond",
          "type": "uint256"
        }
      ],
      "name": "setEmissionRate",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_burnPercent",
          "type": "uint256"
        }
      ],
      "name": "setPercent",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_pid",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_allocPoint",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "_rewarder",
          "type": "address"
        }
      ],
      "name": "setPool",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "startTime",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "totalAllocPoint",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "updateAllPools",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256[]",
          "name": "pids",
          "type": "uint256[]"
        }
      ],
      "name": "updateMultiplePools",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_pid",
          "type": "uint256"
        }
      ],
      "name": "updatePool",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "userInfo",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "rewardDebt",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_pid",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        }
      ],
      "name": "withdraw",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60c06040523480156200001157600080fd5b5060405162002358380380620023588339810160408190526200003491620000b7565b600062000040620000b3565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506001805560609390931b6001600160601b03191660805260039190915560025560a05262000102565b3390565b60008060008060808587031215620000cd578384fd5b84516001600160a01b0381168114620000e4578485fd5b60208601516040870151606090970151919890975090945092505050565b60805160601c60a0516122076200015160003980610c7152806113ad52806113d45250806104a25280610612528061082552806108c4528061102d52806116b1528061174652506122076000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80637154b8b5116100de57806398969e8211610097578063e2bbb15811610071578063e2bbb158146102e0578063e846ee59146102f3578063f2fde38b14610306578063f624d2c51461031957610173565b806398969e82146102b2578063a1bdb15e146102c5578063b9ec7d74146102d857610173565b80637154b8b51461025357806378e9792514610266578063864720331461026e5780638da5cb5b1461027657806393f1a40b1461027e57806396c8c4b51461029f57610173565b806317caf6f11161013057806317caf6f114610202578063441a3e701461020a57806351eb05a61461021d5780635312ea8e1461023057806370d5ae0514610243578063715018a61461024b57610173565b806303807ee51461017857806306fdde0314610196578063081e3eda146101ab5780630d969044146101b35780630e3e22df146101c85780631526fe27146101dd575b600080fd5b61018061032c565b60405161018d91906120fc565b60405180910390f35b61019e610332565b60405161018d9190611c84565b610180610358565b6101c66101c1366004611b91565b61035e565b005b6101d06104a0565b60405161018d9190611bfb565b6101f06101eb366004611af1565b6104c4565b60405161018d96959493929190611c4c565b610180610514565b6101c6610218366004611b91565b61051a565b6101c661022b366004611af1565b610751565b6101c661023e366004611af1565b61098e565b6101d0610b31565b6101c6610b37565b6101c6610261366004611af1565b610bc0565b610180610c6f565b610180610c93565b6101d0610c99565b61029161028c366004611b21565b610ca8565b60405161018d92919061213b565b6101c66102ad366004611a3c565b610ccc565b6102916102c0366004611b21565b610d00565b6101c66102d3366004611af1565b610ec6565b6101c6610f42565b6101c66102ee366004611b91565b610f61565b6101c6610301366004611bb2565b611158565b6101c6610314366004611a20565b6112a2565b6101c6610327366004611b50565b611362565b60025481565b6040518060400160405280600a81526020016926b0b9ba32b921b432b360b11b81525081565b60045490565b6103666115a2565b6001600160a01b0316610377610c99565b6001600160a01b0316146103a65760405162461bcd60e51b815260040161039d90611f26565b60405180910390fd5b60045482106103c75760405162461bcd60e51b815260040161039d90611de6565b6000600483815481106103d657fe5b906000526020600020906006020190506103ef83610751565b60058101546001600160a01b03168015610462576040516366da581560e01b81526001600160a01b038216906366da58159061042f9086906004016120fc565b600060405180830381600087803b15801561044957600080fd5b505af115801561045d573d6000803e3d6000fd5b505050505b837f2dae3718fe1b15657fc93de399148a4d8a76dec0acaf7165b38de1468ac2e6028460405161049291906120fc565b60405180910390a250505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600481815481106104d157fe5b60009182526020909120600690910201805460018201546002830154600384015460048501546005909501546001600160a01b0394851696509294919390921686565b60065481565b6002600154141561053d5760405162461bcd60e51b815260040161039d9061203d565b600260015560045482106105635760405162461bcd60e51b815260040161039d90611f5b565b60006004838154811061057257fe5b600091825260208083208684526005825260408085203386529092529220805460069092029092019250838110156105bc5760405162461bcd60e51b815260040161039d90611eb0565b6105c585610751565b60038301546004840154821561063b576001840154600090610603906105fd670de0b6b3a76400006105f788886115a6565b906115e9565b9061161b565b90506106396001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163383611643565b505b85156106725761064b838761161b565b8455610657818761161b565b60048601558454610672906001600160a01b03163388611643565b835460058601549093506001600160a01b031680156106ec5760405163186e465160e31b81526001600160a01b0382169063c3723288906106b99033908890600401611c33565b600060405180830381600087803b1580156106d357600080fd5b505af11580156106e7573d6000803e3d6000fd5b505050505b610702670de0b6b3a76400006105f786866115a6565b6001860155604051889033907ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b5689061073b908b906120fc565b60405180910390a3505060018055505050505050565b60045481106107725760405162461bcd60e51b815260040161039d906120b9565b60006004828154811061078157fe5b906000526020600020906006020190506000816002015490508042116107a857505061098b565b60048201548015806107bc57506001830154155b156107cf5750504260029091015561098b565b60006107db834261169e565b905060006108086006546105f78760010154610802600354876115a690919063ffffffff16565b906115a6565b9050600080610816836116aa565b90925090506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166340c10f1930610855858561182c565b6040518363ffffffff1660e01b8152600401610872929190611c33565b600060405180830381600087803b15801561088c57600080fd5b505af11580156108a0573d6000803e3d6000fd5b5050505060008211156109515760405163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906108fd9061dead908690600401611c33565b602060405180830381600087803b15801561091757600080fd5b505af115801561092b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094f9190611ad1565b505b61097561096a866105f784670de0b6b3a76400006115a6565b60038901549061182c565b6003880155505042600290950194909455505050505b50565b600260015414156109b15760405162461bcd60e51b815260040161039d9061203d565b60026001819055506000600482815481106109c857fe5b600091825260208083208584526005808352604080862033875290935291842080549481556006909302019081015460048201549194509192916001600160a01b031690610a16908361161b565b6004850155600060018401558354610a38906001600160a01b03163384611643565b84336001600160a01b03167fbb757047c2b5f3974fe26b7c10f732e7bce710b0952a71082702781e62ae059584604051610a7291906120fc565b60405180910390a3803b6001600160a01b03821615801590610a945750600081115b15610b255760405163186e465160e31b81526001600160a01b0383169063c372328890610ac8903390600090600401611c33565b600060405180830381600087803b158015610ae257600080fd5b505af1925050508015610af3575060015b610b2557604051869033907f685110d884797977c24f43db4f8721134c9414c01c0b57a5384802b573bfc81e90600090a35b50506001805550505050565b61dead81565b610b3f6115a2565b6001600160a01b0316610b50610c99565b6001600160a01b031614610b765760405162461bcd60e51b815260040161039d90611f26565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b610bc86115a2565b6001600160a01b0316610bd9610c99565b6001600160a01b031614610bff5760405162461bcd60e51b815260040161039d90611f26565b68056bc75e2d631000008110610c275760405162461bcd60e51b815260040161039d90612074565b610c2f610f42565b60028190556040517f0287d8f6090bf7e554411e129912f733c4ed418a656b56c01cb61c54890109d690610c649083906120fc565b60405180910390a150565b7f000000000000000000000000000000000000000000000000000000000000000081565b60035481565b6000546001600160a01b031690565b60056020908152600092835260408084209091529082529020805460019091015482565b60005b8151811015610cfc57610cf4828281518110610ce757fe5b6020026020010151610751565b600101610ccf565b5050565b60045460009081908410610d265760405162461bcd60e51b815260040161039d90611cec565b600060048581548110610d3557fe5b600091825260208083208884526005825260408085206001600160a01b038a168652909252922060036006909202909201908101546004820154600283015492945090914281108015610d8757508115155b15610df6576000610d98824261169e565b90506000610dbf6006546105f78960010154610802600354876115a690919063ffffffff16565b90506000610dcc826116aa565b9150610df09050610de9866105f784670de0b6b3a76400006115a6565b879061182c565b95505050505b610e2184600101546105fd670de0b6b3a76400006105f78789600001546115a690919063ffffffff16565b60058601549097506001600160a01b03168015610eb957845460405163f430cf0d60e01b81526001600160a01b0383169163f430cf0d91610e66918d91600401611c33565b60206040518083038186803b158015610e7e57600080fd5b505afa158015610e92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb69190611b09565b96505b5050505050509250929050565b610ece6115a2565b6001600160a01b0316610edf610c99565b6001600160a01b031614610f055760405162461bcd60e51b815260040161039d90611f26565b610f0d610f42565b60038190556040517fbe8bc964758fb9bdff90ab397e91e1c2edd1bac024f40bfa335a5a57170d987c90610c649083906120fc565b60045460005b81811015610cfc57610f5981610751565b600101610f48565b60026001541415610f845760405162461bcd60e51b815260040161039d9061203d565b60026001556004548210610faa5760405162461bcd60e51b815260040161039d90611fbe565b600060048381548110610fb957fe5b60009182526020808320868452600582526040808520338652909252922060069091029091019150610fea84610751565b805460038301546004840154821561105657600184015460009061101e906105fd670de0b6b3a76400006105f788886115a6565b90506110546001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163383611643565b505b851561108f578454611073906001600160a01b0316333089611851565b61107d838761182c565b8455611089818761182c565b60048601555b835460058601549093506001600160a01b031680156111095760405163186e465160e31b81526001600160a01b0382169063c3723288906110d69033908890600401611c33565b600060405180830381600087803b1580156110f057600080fd5b505af1158015611104573d6000803e3d6000fd5b505050505b61111f670de0b6b3a76400006105f786866115a6565b6001860155604051889033907f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159061073b908b906120fc565b6111606115a2565b6001600160a01b0316611171610c99565b6001600160a01b0316146111975760405162461bcd60e51b815260040161039d90611f26565b60045483106111b85760405162461bcd60e51b815260040161039d90611cb7565b6111c0610f42565b6111f7600484815481106111d057fe5b9060005260206000209060060201600101546105fd8460065461182c90919063ffffffff16565b600681905550816004848154811061120b57fe5b906000526020600020906006020160010181905550806004848154811061122e57fe5b906000526020600020906006020160050160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550827fd2737cc1f8a3945197fccdabf17f907b8e22ee474654fd0f656fc4dcf1d6a6248383604051611295929190612105565b60405180910390a2505050565b6112aa6115a2565b6001600160a01b03166112bb610c99565b6001600160a01b0316146112e15760405162461bcd60e51b815260040161039d90611f26565b6001600160a01b0381166113075760405162461bcd60e51b815260040161039d90611d32565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b61136a6115a2565b6001600160a01b031661137b610c99565b6001600160a01b0316146113a15760405162461bcd60e51b815260040161039d90611f26565b6113a9610f42565b60007f000000000000000000000000000000000000000000000000000000000000000042116113f8577f00000000000000000000000000000000000000000000000000000000000000006113fa565b425b60065490915061140a908561182c565b60069081556040805160c0810182526001600160a01b03808716825260208201888152828401868152600060608501818152608086018281528a861660a088019081526004805460018101825594529651929098027f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b810180549387166001600160a01b031994851617905593517f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19c85015591517f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19d84015590517f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19e83015594517f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19f82015591517f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd1a09092018054929091169190931617909155517f1a43e4121268b689e564f3ca4b347e76e6a182afbd688a8ae883a62d09396428906115949086908690869061211c565b60405180910390a150505050565b3390565b6000826115b5575060006115e3565b828202828482816115c257fe5b04146115e05760405162461bcd60e51b815260040161039d90611ee5565b90505b92915050565b600080821161160a5760405162461bcd60e51b815260040161039d90611e79565b81838161161357fe5b049392505050565b60008282111561163d5760405162461bcd60e51b815260040161039d90611daf565b50900390565b6116998363a9059cbb60e01b8484604051602401611662929190611c33565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611878565b505050565b60006115e0828461161b565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561170857600080fd5b505afa15801561171c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117409190611b09565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d5abeb016040518163ffffffff1660e01b815260040160206040518083038186803b15801561179d57600080fd5b505afa1580156117b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d59190611b09565b90506117e1828661182c565b8110156117f5576117f2818361161b565b94505b61181768056bc75e2d631000006105f7600254886115a690919063ffffffff16565b9350611823858561161b565b92505050915091565b6000828201838110156115e05760405162461bcd60e51b815260040161039d90611d78565b611872846323b872dd60e01b85858560405160240161166293929190611c0f565b50505050565b60606118cd826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166119079092919063ffffffff16565b80519091501561169957808060200190518101906118eb9190611ad1565b6116995760405162461bcd60e51b815260040161039d90611ff3565b60606119168484600085611920565b90505b9392505050565b6060824710156119425760405162461bcd60e51b815260040161039d90611e33565b61194b856119e1565b6119675760405162461bcd60e51b815260040161039d90611f87565b60006060866001600160a01b031685876040516119849190611bdf565b60006040518083038185875af1925050503d80600081146119c1576040519150601f19603f3d011682016040523d82523d6000602084013e6119c6565b606091505b50915091506119d68282866119e7565b979650505050505050565b3b151590565b606083156119f6575081611919565b825115611a065782518084602001fd5b8160405162461bcd60e51b815260040161039d9190611c84565b600060208284031215611a31578081fd5b81356115e0816121bc565b60006020808385031215611a4e578182fd5b823567ffffffffffffffff811115611a64578283fd5b8301601f81018513611a74578283fd5b8035611a87611a8282612170565b612149565b8181528381019083850185840285018601891015611aa3578687fd5b8694505b83851015611ac5578035835260019490940193918501918501611aa7565b50979650505050505050565b600060208284031215611ae2578081fd5b815180151581146115e0578182fd5b600060208284031215611b02578081fd5b5035919050565b600060208284031215611b1a578081fd5b5051919050565b60008060408385031215611b33578081fd5b823591506020830135611b45816121bc565b809150509250929050565b600080600060608486031215611b64578081fd5b833592506020840135611b76816121bc565b91506040840135611b86816121bc565b809150509250925092565b60008060408385031215611ba3578182fd5b50508035926020909101359150565b600080600060608486031215611bc6578283fd5b83359250602084013591506040840135611b86816121bc565b60008251611bf1818460208701612190565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152608083015290911660a082015260c00190565b6000602082528251806020840152611ca3816040850160208701612190565b601f01601f19169190910160400192915050565b6020808252818101527f736574506f6f6c3a2054686520706f6f6c20646f6573206e6f74206578697374604082015260600190565b60208082526026908201527f70656e64696e675265776172643a2054686520706f6f6c20646f6573206e6f7460408201526508195e1a5cdd60d21b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601e908201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604082015260600190565b6020808252602d908201527f736574426f6e7573456d697373696f6e526174653a2054686520706f6f6c206460408201526c1bd95cc81b9bdd08195e1a5cdd609a1b606082015260800190565b60208082526026908201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6040820152651c8818d85b1b60d21b606082015260800190565b6020808252601a908201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604082015260600190565b6020808252818101527f77697468647261773a2045786365656465642075736572277320616d6f756e74604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601290820152711dda5d1a191c985dce88109051081413d3d360721b604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252818101527f6465706f7369743a2054686520706f6f6c20646f6573206e6f74206578697374604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60208082526025908201527f73657450657263656e743a2050657263656e742063616e6e6f74206578636565604082015264064203130360dc1b606082015260800190565b60208082526023908201527f757064617465506f6f6c3a2054686520706f6f6c20646f6573206e6f742065786040820152621a5cdd60ea1b606082015260800190565b90815260200190565b9182526001600160a01b0316602082015260400190565b9283526001600160a01b03918216602084015216604082015260600190565b918252602082015260400190565b60405181810167ffffffffffffffff8111828210171561216857600080fd5b604052919050565b600067ffffffffffffffff821115612186578081fd5b5060209081020190565b60005b838110156121ab578181015183820152602001612193565b838111156118725750506000910152565b6001600160a01b038116811461098b57600080fdfea26469706673582212208d697662cc8afa267f064ab6be6181193241e11725b55c19389141c230b337ff64736f6c634300060c0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101735760003560e01c80637154b8b5116100de57806398969e8211610097578063e2bbb15811610071578063e2bbb158146102e0578063e846ee59146102f3578063f2fde38b14610306578063f624d2c51461031957610173565b806398969e82146102b2578063a1bdb15e146102c5578063b9ec7d74146102d857610173565b80637154b8b51461025357806378e9792514610266578063864720331461026e5780638da5cb5b1461027657806393f1a40b1461027e57806396c8c4b51461029f57610173565b806317caf6f11161013057806317caf6f114610202578063441a3e701461020a57806351eb05a61461021d5780635312ea8e1461023057806370d5ae0514610243578063715018a61461024b57610173565b806303807ee51461017857806306fdde0314610196578063081e3eda146101ab5780630d969044146101b35780630e3e22df146101c85780631526fe27146101dd575b600080fd5b61018061032c565b60405161018d91906120fc565b60405180910390f35b61019e610332565b60405161018d9190611c84565b610180610358565b6101c66101c1366004611b91565b61035e565b005b6101d06104a0565b60405161018d9190611bfb565b6101f06101eb366004611af1565b6104c4565b60405161018d96959493929190611c4c565b610180610514565b6101c6610218366004611b91565b61051a565b6101c661022b366004611af1565b610751565b6101c661023e366004611af1565b61098e565b6101d0610b31565b6101c6610b37565b6101c6610261366004611af1565b610bc0565b610180610c6f565b610180610c93565b6101d0610c99565b61029161028c366004611b21565b610ca8565b60405161018d92919061213b565b6101c66102ad366004611a3c565b610ccc565b6102916102c0366004611b21565b610d00565b6101c66102d3366004611af1565b610ec6565b6101c6610f42565b6101c66102ee366004611b91565b610f61565b6101c6610301366004611bb2565b611158565b6101c6610314366004611a20565b6112a2565b6101c6610327366004611b50565b611362565b60025481565b6040518060400160405280600a81526020016926b0b9ba32b921b432b360b11b81525081565b60045490565b6103666115a2565b6001600160a01b0316610377610c99565b6001600160a01b0316146103a65760405162461bcd60e51b815260040161039d90611f26565b60405180910390fd5b60045482106103c75760405162461bcd60e51b815260040161039d90611de6565b6000600483815481106103d657fe5b906000526020600020906006020190506103ef83610751565b60058101546001600160a01b03168015610462576040516366da581560e01b81526001600160a01b038216906366da58159061042f9086906004016120fc565b600060405180830381600087803b15801561044957600080fd5b505af115801561045d573d6000803e3d6000fd5b505050505b837f2dae3718fe1b15657fc93de399148a4d8a76dec0acaf7165b38de1468ac2e6028460405161049291906120fc565b60405180910390a250505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600481815481106104d157fe5b60009182526020909120600690910201805460018201546002830154600384015460048501546005909501546001600160a01b0394851696509294919390921686565b60065481565b6002600154141561053d5760405162461bcd60e51b815260040161039d9061203d565b600260015560045482106105635760405162461bcd60e51b815260040161039d90611f5b565b60006004838154811061057257fe5b600091825260208083208684526005825260408085203386529092529220805460069092029092019250838110156105bc5760405162461bcd60e51b815260040161039d90611eb0565b6105c585610751565b60038301546004840154821561063b576001840154600090610603906105fd670de0b6b3a76400006105f788886115a6565b906115e9565b9061161b565b90506106396001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163383611643565b505b85156106725761064b838761161b565b8455610657818761161b565b60048601558454610672906001600160a01b03163388611643565b835460058601549093506001600160a01b031680156106ec5760405163186e465160e31b81526001600160a01b0382169063c3723288906106b99033908890600401611c33565b600060405180830381600087803b1580156106d357600080fd5b505af11580156106e7573d6000803e3d6000fd5b505050505b610702670de0b6b3a76400006105f786866115a6565b6001860155604051889033907ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b5689061073b908b906120fc565b60405180910390a3505060018055505050505050565b60045481106107725760405162461bcd60e51b815260040161039d906120b9565b60006004828154811061078157fe5b906000526020600020906006020190506000816002015490508042116107a857505061098b565b60048201548015806107bc57506001830154155b156107cf5750504260029091015561098b565b60006107db834261169e565b905060006108086006546105f78760010154610802600354876115a690919063ffffffff16565b906115a6565b9050600080610816836116aa565b90925090506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166340c10f1930610855858561182c565b6040518363ffffffff1660e01b8152600401610872929190611c33565b600060405180830381600087803b15801561088c57600080fd5b505af11580156108a0573d6000803e3d6000fd5b5050505060008211156109515760405163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906108fd9061dead908690600401611c33565b602060405180830381600087803b15801561091757600080fd5b505af115801561092b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094f9190611ad1565b505b61097561096a866105f784670de0b6b3a76400006115a6565b60038901549061182c565b6003880155505042600290950194909455505050505b50565b600260015414156109b15760405162461bcd60e51b815260040161039d9061203d565b60026001819055506000600482815481106109c857fe5b600091825260208083208584526005808352604080862033875290935291842080549481556006909302019081015460048201549194509192916001600160a01b031690610a16908361161b565b6004850155600060018401558354610a38906001600160a01b03163384611643565b84336001600160a01b03167fbb757047c2b5f3974fe26b7c10f732e7bce710b0952a71082702781e62ae059584604051610a7291906120fc565b60405180910390a3803b6001600160a01b03821615801590610a945750600081115b15610b255760405163186e465160e31b81526001600160a01b0383169063c372328890610ac8903390600090600401611c33565b600060405180830381600087803b158015610ae257600080fd5b505af1925050508015610af3575060015b610b2557604051869033907f685110d884797977c24f43db4f8721134c9414c01c0b57a5384802b573bfc81e90600090a35b50506001805550505050565b61dead81565b610b3f6115a2565b6001600160a01b0316610b50610c99565b6001600160a01b031614610b765760405162461bcd60e51b815260040161039d90611f26565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b610bc86115a2565b6001600160a01b0316610bd9610c99565b6001600160a01b031614610bff5760405162461bcd60e51b815260040161039d90611f26565b68056bc75e2d631000008110610c275760405162461bcd60e51b815260040161039d90612074565b610c2f610f42565b60028190556040517f0287d8f6090bf7e554411e129912f733c4ed418a656b56c01cb61c54890109d690610c649083906120fc565b60405180910390a150565b7f000000000000000000000000000000000000000000000000000000000000000081565b60035481565b6000546001600160a01b031690565b60056020908152600092835260408084209091529082529020805460019091015482565b60005b8151811015610cfc57610cf4828281518110610ce757fe5b6020026020010151610751565b600101610ccf565b5050565b60045460009081908410610d265760405162461bcd60e51b815260040161039d90611cec565b600060048581548110610d3557fe5b600091825260208083208884526005825260408085206001600160a01b038a168652909252922060036006909202909201908101546004820154600283015492945090914281108015610d8757508115155b15610df6576000610d98824261169e565b90506000610dbf6006546105f78960010154610802600354876115a690919063ffffffff16565b90506000610dcc826116aa565b9150610df09050610de9866105f784670de0b6b3a76400006115a6565b879061182c565b95505050505b610e2184600101546105fd670de0b6b3a76400006105f78789600001546115a690919063ffffffff16565b60058601549097506001600160a01b03168015610eb957845460405163f430cf0d60e01b81526001600160a01b0383169163f430cf0d91610e66918d91600401611c33565b60206040518083038186803b158015610e7e57600080fd5b505afa158015610e92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb69190611b09565b96505b5050505050509250929050565b610ece6115a2565b6001600160a01b0316610edf610c99565b6001600160a01b031614610f055760405162461bcd60e51b815260040161039d90611f26565b610f0d610f42565b60038190556040517fbe8bc964758fb9bdff90ab397e91e1c2edd1bac024f40bfa335a5a57170d987c90610c649083906120fc565b60045460005b81811015610cfc57610f5981610751565b600101610f48565b60026001541415610f845760405162461bcd60e51b815260040161039d9061203d565b60026001556004548210610faa5760405162461bcd60e51b815260040161039d90611fbe565b600060048381548110610fb957fe5b60009182526020808320868452600582526040808520338652909252922060069091029091019150610fea84610751565b805460038301546004840154821561105657600184015460009061101e906105fd670de0b6b3a76400006105f788886115a6565b90506110546001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163383611643565b505b851561108f578454611073906001600160a01b0316333089611851565b61107d838761182c565b8455611089818761182c565b60048601555b835460058601549093506001600160a01b031680156111095760405163186e465160e31b81526001600160a01b0382169063c3723288906110d69033908890600401611c33565b600060405180830381600087803b1580156110f057600080fd5b505af1158015611104573d6000803e3d6000fd5b505050505b61111f670de0b6b3a76400006105f786866115a6565b6001860155604051889033907f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159061073b908b906120fc565b6111606115a2565b6001600160a01b0316611171610c99565b6001600160a01b0316146111975760405162461bcd60e51b815260040161039d90611f26565b60045483106111b85760405162461bcd60e51b815260040161039d90611cb7565b6111c0610f42565b6111f7600484815481106111d057fe5b9060005260206000209060060201600101546105fd8460065461182c90919063ffffffff16565b600681905550816004848154811061120b57fe5b906000526020600020906006020160010181905550806004848154811061122e57fe5b906000526020600020906006020160050160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550827fd2737cc1f8a3945197fccdabf17f907b8e22ee474654fd0f656fc4dcf1d6a6248383604051611295929190612105565b60405180910390a2505050565b6112aa6115a2565b6001600160a01b03166112bb610c99565b6001600160a01b0316146112e15760405162461bcd60e51b815260040161039d90611f26565b6001600160a01b0381166113075760405162461bcd60e51b815260040161039d90611d32565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b61136a6115a2565b6001600160a01b031661137b610c99565b6001600160a01b0316146113a15760405162461bcd60e51b815260040161039d90611f26565b6113a9610f42565b60007f000000000000000000000000000000000000000000000000000000000000000042116113f8577f00000000000000000000000000000000000000000000000000000000000000006113fa565b425b60065490915061140a908561182c565b60069081556040805160c0810182526001600160a01b03808716825260208201888152828401868152600060608501818152608086018281528a861660a088019081526004805460018101825594529651929098027f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b810180549387166001600160a01b031994851617905593517f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19c85015591517f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19d84015590517f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19e83015594517f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19f82015591517f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd1a09092018054929091169190931617909155517f1a43e4121268b689e564f3ca4b347e76e6a182afbd688a8ae883a62d09396428906115949086908690869061211c565b60405180910390a150505050565b3390565b6000826115b5575060006115e3565b828202828482816115c257fe5b04146115e05760405162461bcd60e51b815260040161039d90611ee5565b90505b92915050565b600080821161160a5760405162461bcd60e51b815260040161039d90611e79565b81838161161357fe5b049392505050565b60008282111561163d5760405162461bcd60e51b815260040161039d90611daf565b50900390565b6116998363a9059cbb60e01b8484604051602401611662929190611c33565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611878565b505050565b60006115e0828461161b565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561170857600080fd5b505afa15801561171c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117409190611b09565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d5abeb016040518163ffffffff1660e01b815260040160206040518083038186803b15801561179d57600080fd5b505afa1580156117b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d59190611b09565b90506117e1828661182c565b8110156117f5576117f2818361161b565b94505b61181768056bc75e2d631000006105f7600254886115a690919063ffffffff16565b9350611823858561161b565b92505050915091565b6000828201838110156115e05760405162461bcd60e51b815260040161039d90611d78565b611872846323b872dd60e01b85858560405160240161166293929190611c0f565b50505050565b60606118cd826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166119079092919063ffffffff16565b80519091501561169957808060200190518101906118eb9190611ad1565b6116995760405162461bcd60e51b815260040161039d90611ff3565b60606119168484600085611920565b90505b9392505050565b6060824710156119425760405162461bcd60e51b815260040161039d90611e33565b61194b856119e1565b6119675760405162461bcd60e51b815260040161039d90611f87565b60006060866001600160a01b031685876040516119849190611bdf565b60006040518083038185875af1925050503d80600081146119c1576040519150601f19603f3d011682016040523d82523d6000602084013e6119c6565b606091505b50915091506119d68282866119e7565b979650505050505050565b3b151590565b606083156119f6575081611919565b825115611a065782518084602001fd5b8160405162461bcd60e51b815260040161039d9190611c84565b600060208284031215611a31578081fd5b81356115e0816121bc565b60006020808385031215611a4e578182fd5b823567ffffffffffffffff811115611a64578283fd5b8301601f81018513611a74578283fd5b8035611a87611a8282612170565b612149565b8181528381019083850185840285018601891015611aa3578687fd5b8694505b83851015611ac5578035835260019490940193918501918501611aa7565b50979650505050505050565b600060208284031215611ae2578081fd5b815180151581146115e0578182fd5b600060208284031215611b02578081fd5b5035919050565b600060208284031215611b1a578081fd5b5051919050565b60008060408385031215611b33578081fd5b823591506020830135611b45816121bc565b809150509250929050565b600080600060608486031215611b64578081fd5b833592506020840135611b76816121bc565b91506040840135611b86816121bc565b809150509250925092565b60008060408385031215611ba3578182fd5b50508035926020909101359150565b600080600060608486031215611bc6578283fd5b83359250602084013591506040840135611b86816121bc565b60008251611bf1818460208701612190565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039687168152602081019590955260408501939093526060840191909152608083015290911660a082015260c00190565b6000602082528251806020840152611ca3816040850160208701612190565b601f01601f19169190910160400192915050565b6020808252818101527f736574506f6f6c3a2054686520706f6f6c20646f6573206e6f74206578697374604082015260600190565b60208082526026908201527f70656e64696e675265776172643a2054686520706f6f6c20646f6573206e6f7460408201526508195e1a5cdd60d21b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601e908201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604082015260600190565b6020808252602d908201527f736574426f6e7573456d697373696f6e526174653a2054686520706f6f6c206460408201526c1bd95cc81b9bdd08195e1a5cdd609a1b606082015260800190565b60208082526026908201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6040820152651c8818d85b1b60d21b606082015260800190565b6020808252601a908201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604082015260600190565b6020808252818101527f77697468647261773a2045786365656465642075736572277320616d6f756e74604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601290820152711dda5d1a191c985dce88109051081413d3d360721b604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252818101527f6465706f7369743a2054686520706f6f6c20646f6573206e6f74206578697374604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60208082526025908201527f73657450657263656e743a2050657263656e742063616e6e6f74206578636565604082015264064203130360dc1b606082015260800190565b60208082526023908201527f757064617465506f6f6c3a2054686520706f6f6c20646f6573206e6f742065786040820152621a5cdd60ea1b606082015260800190565b90815260200190565b9182526001600160a01b0316602082015260400190565b9283526001600160a01b03918216602084015216604082015260600190565b918252602082015260400190565b60405181810167ffffffffffffffff8111828210171561216857600080fd5b604052919050565b600067ffffffffffffffff821115612186578081fd5b5060209081020190565b60005b838110156121ab578181015183820152602001612193565b838111156118725750506000910152565b6001600160a01b038116811461098b57600080fdfea26469706673582212208d697662cc8afa267f064ab6be6181193241e11725b55c19389141c230b337ff64736f6c634300060c0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
