{
  "contractName": "DepositAllocater",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Approval",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "checkpointId",
          "type": "uint256"
        }
      ],
      "name": "CheckpointCreated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Transfer",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        }
      ],
      "name": "allowance",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "approve",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "balanceOf",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "holder",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "timestamp",
          "type": "uint256"
        }
      ],
      "name": "balanceOfAt",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "payee",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "depositId",
          "type": "bytes32"
        }
      ],
      "name": "calculateClaimOnDeposit",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "depositId",
          "type": "bytes32"
        }
      ],
      "name": "claimDeposit",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "depositId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "scheduledFor",
          "type": "uint256"
        },
        {
          "internalType": "bool",
          "name": "onlySignaled",
          "type": "bool"
        },
        {
          "internalType": "address",
          "name": "token",
          "type": "address"
        }
      ],
      "name": "createDeposit",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "decimals",
      "outputs": [
        {
          "internalType": "uint8",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "subtractedValue",
          "type": "uint256"
        }
      ],
      "name": "decreaseAllowance",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "deposits",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "scheduledFor",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "claimedAmount",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "totalAmountSignaled",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "token",
          "type": "address"
        },
        {
          "internalType": "bool",
          "name": "onlySignaled",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "depositId",
          "type": "bytes32"
        }
      ],
      "name": "getDeposit",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "scheduledFor",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "claimedAmount",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "totalAmountSignaled",
          "type": "uint256"
        },
        {
          "internalType": "bool",
          "name": "onlySignaled",
          "type": "bool"
        },
        {
          "internalType": "address",
          "name": "token",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "checkpointId",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "start",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "end",
          "type": "uint256"
        }
      ],
      "name": "getHolderSubsetAt",
      "outputs": [
        {
          "internalType": "address[]",
          "name": "",
          "type": "address[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "checkpointId",
          "type": "uint256"
        }
      ],
      "name": "getHoldersAt",
      "outputs": [
        {
          "internalType": "address[]",
          "name": "",
          "type": "address[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getNumberOfHolders",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "holder",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "depositId",
          "type": "bytes32"
        }
      ],
      "name": "hasClaimedDeposit",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "holderCount",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "addedValue",
          "type": "uint256"
        }
      ],
      "name": "increaseAllowance",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "name",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "symbol",
          "type": "string"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "name",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "depositId",
          "type": "bytes32"
        },
        {
          "internalType": "address payable[]",
          "name": "payees",
          "type": "address[]"
        }
      ],
      "name": "pushFundsToAddresses",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "depositId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "signalAmount",
          "type": "uint256"
        }
      ],
      "name": "signalAmountForDeposit",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "symbol",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "totalAmountSignaledByHolder",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "totalSupply",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "timestamp",
          "type": "uint256"
        }
      ],
      "name": "totalSupplyAt",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "recipient",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "transfer",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "sender",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "recipient",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "transferFrom",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "depositId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "updateDepositAmount",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b506125b6806100206000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c80634ee2cd7e116100f957806395d89b4111610097578063a9059cbb11610071578063a9059cbb146103bf578063a999b73f146103d2578063c20662c3146103e5578063dd62ed3e146103f8576101c4565b806395d89b4114610391578063981b24d014610399578063a457c2d7146103ac576101c4565b806370a08231116100d357806370a082311461033357806376fa0e46146103465780637a22402c146103595780637a86983f1461036c576101c4565b80634ee2cd7e146102fa578063520fdd221461030d5780635e58588914610320576101c4565b8063302424ea116101665780633180192511610140578063318019251461028f57806339509351146102af5780633d4dff7b146102c25780634cd88b76146102e7576101c4565b8063302424ea1461025f578063308feec314610272578063313ce5671461027a576101c4565b806318160ddd116101a257806318160ddd1461021c5780631aab9a9f1461023157806323b872dd146102395780632839a1841461024c576101c4565b806303952a7a146101c957806306fdde03146101de578063095ea7b3146101fc575b600080fd5b6101dc6101d7366004611db2565b61040b565b005b6101e6610633565b6040516101f39190611f19565b60405180910390f35b61020f61020a366004611c9c565b6106ca565b6040516101f39190611f0e565b6102246106e8565b6040516101f39190612426565b6102246106ee565b61020f610247366004611c5c565b6106f4565b61022461025a366004611c08565b610781565b6101dc61026d366004611dd3565b610793565b6102246107ff565b610282610805565b6040516101f39190612495565b6102a261029d366004611e7d565b61080e565b6040516101f39190611ec1565b61020f6102bd366004611c9c565b610a25565b6102d56102d0366004611ce3565b610a79565b6040516101f39695949392919061242f565b6101dc6102f5366004611e1c565b610abd565b610224610308366004611c9c565b610b4c565b6102a261031b366004611ce3565b610b75565b6101dc61032e366004611ce3565b610d29565b610224610341366004611c08565b610d77565b61020f610354366004611c9c565b610d92565b610224610367366004611c9c565b610dc0565b61037f61037a366004611ce3565b610ea6565b6040516101f396959493929190612462565b6101e6610eea565b6102246103a7366004611ce3565b610f4b565b61020f6103ba366004611c9c565b610f58565b61020f6103cd366004611c9c565b610fc6565b6101dc6103e0366004611db2565b610fda565b6101dc6103f3366004611cfb565b61102f565b610224610406366004611c24565b6110b1565b600082815260a66020526040902080546104405760405162461bcd60e51b8152600401610437906121a3565b60405180910390fd5b6004810154600160a01b900460ff1615156001146104705760405162461bcd60e51b815260040161043790611faf565b805442106104905760405162461bcd60e51b815260040161043790612311565b61049a3342610b4c565b33600090815260a7602052604090205411156104c85760405162461bcd60e51b81526004016104379061235c565b8161050f5733600090815260068201602090815260408083205460a7909252909120546104fa9163ffffffff6110dc16565b33600090815260a760205260409020556105db565b3360009081526006820160205260409020548210156105835733600090815260068201602052604081205461054a908463ffffffff6110dc16565b33600090815260a7602052604090205490915061056d908263ffffffff6110dc16565b33600090815260a76020526040902055506105db565b3360009081526006820160205260408120546105a690849063ffffffff6110dc16565b33600090815260a760205260409020549091506105c9908263ffffffff61111e16565b33600090815260a76020526040902055505b33600090815260068201602052604090205460038201546106019163ffffffff6110dc16565b60038201819055610618908363ffffffff61111e16565b60038201553360009081526006909101602052604090205550565b60688054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106bf5780601f10610694576101008083540402835291602001916106bf565b820191906000526020600020905b8154815290600101906020018083116106a257829003601f168201915b505050505090505b90565b60006106de6106d7611143565b8484611147565b5060015b92915050565b60675490565b609b5481565b60006107018484846111fb565b6107778461070d611143565b61077285604051806060016040528060288152602001612534602891396001600160a01b038a1660009081526066602052604081209061074b611143565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61121116565b611147565b5060019392505050565b60a76020526000908152604090205481565b600084815260a6602052604090208054156107c05760405162461bcd60e51b8152600401610437906120c8565b9283556004909201805460ff60a01b1916600160a01b92151592909202919091176001600160a01b0319166001600160a01b0390921691909117905550565b60995490565b606a5460ff1690565b6099546060908083106108235783900361082b565b506001838303015b60608167ffffffffffffffff8111801561084457600080fd5b5060405190808252806020026020018201604052801561086e578160200160208202803683370190505b50905060005b828110156108d55760998682018154811061088b57fe5b9060005260206000200160009054906101000a90046001600160a01b03168282815181106108b557fe5b6001600160a01b0390921660209283029190910190910152600101610874565b506000805b825181101561094a5760006109028483815181106108f457fe5b60200260200101518a610b4c565b111561091357600190910190610942565b600083828151811061092157fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b6001016108da565b60608267ffffffffffffffff8111801561096357600080fd5b5060405190808252806020026020018201604052801561098d578160200160208202803683370190505b50905060009250600091505b8351821015610a195760006001600160a01b03168483815181106109b957fe5b60200260200101516001600160a01b031614610a0e578382815181106109db57fe5b60200260200101518184815181106109ef57fe5b6001600160a01b03909216602092830291909101909101526001909201915b600190910190610999565b98975050505050505050565b60006106de610a32611143565b846107728560666000610a43611143565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff61111e16565b60a66020526000908152604090208054600182015460028301546003840154600490940154929391929091906001600160a01b03811690600160a01b900460ff1686565b600054610100900460ff1680610ad65750610ad661123d565b80610ae4575060005460ff16155b610b005760405162461bcd60e51b8152600401610437906121e7565b600054610100900460ff16158015610b2b576000805460ff1961ff0019909116610100171660011790555b610b358383611243565b8015610b47576000805461ff00191690555b505050565b6001600160a01b0382166000908152609860205260408120610b6e90836112c3565b9392505050565b606060008060606099805480602002602001604051908101604052809291908181526020018280548015610bd257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610bb4575b50505050509050600091505b8051821015610c51576000610c06828481518110610bf857fe5b602002602001015187610b4c565b1115610c1757600190920191610c46565b6000818381518110610c2557fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b600190910190610bde565b60608367ffffffffffffffff81118015610c6a57600080fd5b50604051908082528060200260200182016040528015610c94578160200160208202803683370190505b50905060009350600092505b8151831015610d205760006001600160a01b0316828481518110610cc057fe5b60200260200101516001600160a01b031614610d1557818381518110610ce257fe5b6020026020010151818581518110610cf657fe5b6001600160a01b03909216602092830291909101909101526001909301925b600190920191610ca0565b95945050505050565b600081815260a660209081526040808320338452600581019092529091205460ff1615610d685760405162461bcd60e51b815260040161043790612115565b610d733382846113ef565b5050565b6001600160a01b031660009081526065602052604090205490565b600090815260a6602090815260408083206001600160a01b0394909416835260059093019052205460ff1690565b600081815260a6602090815260408083206001600160a01b03861684526005810190925282205460ff1615610df95760009150506106e2565b6000610e088260000154610f4b565b6004830154909150600090600160a01b900460ff16610e3457610e2f868460000154610b4c565b610e50565b6001600160a01b03861660009081526006840160205260409020545b90506000610e9b8460040160149054906101000a900460ff16610e735783610e79565b84600301545b6001860154610e8f90859063ffffffff61157316565b9063ffffffff6115ad16565b979650505050505050565b600090815260a6602052604090208054600182015460028301546003840154600490940154929491939092909160ff600160a01b830416916001600160a01b031690565b60698054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106bf5780601f10610694576101008083540402835291602001916106bf565b60006106e26097836112c3565b60006106de610f65611143565b846107728560405180606001604052806025815260200161255c6025913960666000610f8f611143565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61121116565b60006106de610fd3611143565b84846111fb565b600082815260a66020526040902080546110065760405162461bcd60e51b815260040161043790612235565b6001810154156110285760405162461bcd60e51b815260040161043790611ff2565b6001015550565b600082815260a660205260408120905b82518110156110ab5781600501600084838151811061105a57fe5b6020908102919091018101516001600160a01b031682528101919091526040016000205460ff166110a3576110a383828151811061109457fe5b602002602001015183866113ef565b60010161103f565b50505050565b6001600160a01b03918216600090815260666020908152604080832093909416825291909152205490565b6000610b6e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611211565b600082820183811015610b6e5760405162461bcd60e51b815260040161043790612091565b3390565b6001600160a01b03831661116d5760405162461bcd60e51b8152600401610437906122cd565b6001600160a01b0382166111935760405162461bcd60e51b81526004016104379061204f565b6001600160a01b0380841660008181526066602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906111ee908590612426565b60405180910390a3505050565b6112068383836115ef565b610b47838383611710565b600081848411156112355760405162461bcd60e51b81526004016104379190611f19565b505050900390565b303b1590565b600054610100900460ff168061125c575061125c61123d565b8061126a575060005460ff16155b6112865760405162461bcd60e51b8152600401610437906121e7565b600054610100900460ff161580156112b1576000805460ff1961ff0019909116610100171660011790555b6112b9611735565b610b3583836117b8565b81546000906112d4575060006106e2565b8254839060001981019081106112e657fe5b60009182526020909120600290910201546001600160801b031682106113315782548390600019810190811061131857fe5b90600052602060002090600202016001015490506106e2565b8260008154811061133e57fe5b60009182526020909120600290910201546001600160801b0316821015611367575060006106e2565b8254600090600019015b818111156113c757600060026001838501010490508486828154811061139357fe5b60009182526020909120600290910201546001600160801b0316116113ba578092506113c1565b6001810391505b50611371565b8482815481106113d357fe5b9060005260206000209060020201600101549250505092915050565b60b25460ff166114115760405162461bcd60e51b8152600401610437906123a7565b60b2805460ff1916905560006114278483610dc0565b6001600160a01b03851660009081526005850160205260409020805460ff19166001179055600284015490915061146590829063ffffffff61111e16565b60028401556001600160a01b038416600090815260068401602090815260408083205460a7909252909120546114a09163ffffffff6110dc16565b6001600160a01b038516600090815260a7602052604090205580156115605760048084015460405163a9059cbb60e01b81526001600160a01b039091169163a9059cbb916114f2918891869101611ea8565b602060405180830381600087803b15801561150c57600080fd5b505af1158015611520573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115449190611cc7565b6115605760405162461bcd60e51b8152600401610437906123de565b505060b2805460ff191660011790555050565b600082611582575060006106e2565b8282028284828161158f57fe5b0414610b6e5760405162461bcd60e51b815260040161043790612162565b6000610b6e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611871565b6001600160a01b0383166116155760405162461bcd60e51b815260040161043790612288565b6001600160a01b03821661163b5760405162461bcd60e51b815260040161043790611f6c565b611646838383610b47565b6116898160405180606001604052806026815260200161250e602691396001600160a01b038616600090815260656020526040902054919063ffffffff61121116565b6001600160a01b0380851660009081526065602052604080822093909355908416815220546116be908263ffffffff61111e16565b6001600160a01b0380841660008181526065602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111ee908590612426565b61171b8383836118a8565b6117236119a7565b61172c836119bb565b610b47826119bb565b600054610100900460ff168061174e575061174e61123d565b8061175c575060005460ff16155b6117785760405162461bcd60e51b8152600401610437906121e7565b600054610100900460ff161580156117a3576000805460ff1961ff0019909116610100171660011790555b80156117b5576000805461ff00191690555b50565b600054610100900460ff16806117d157506117d161123d565b806117df575060005460ff16155b6117fb5760405162461bcd60e51b8152600401610437906121e7565b600054610100900460ff16158015611826576000805460ff1961ff0019909116610100171660011790555b8251611839906068906020860190611afc565b50815161184d906069906020850190611afc565b50606a805460ff191660121790558015610b47576000805461ff0019169055505050565b600081836118925760405162461bcd60e51b81526004016104379190611f19565b50600083858161189e57fe5b0495945050505050565b8015806118c65750816001600160a01b0316836001600160a01b0316145b156118d057610b47565b6118d982610d77565b1580156118ee57506001600160a01b03821615155b1561197b57609b5461190790600163ffffffff61111e16565b609b55611913826119e0565b61197b576099805460018082019092557f72a152ddfb8e864297c917af52ea6c1c68aead0fee1a62673fcc7e0c94979d000180546001600160a01b0319166001600160a01b0385169081179091556000908152609a60205260409020805460ff191690911790555b61198483610d77565b811415610b4757609b5461199f90600163ffffffff6110dc16565b609b55505050565b6119b960976119b46106e8565b6119fe565b565b6001600160a01b03811660009081526098602052604090206117b5906119b483610d77565b6001600160a01b03166000908152609a602052604090205460ff1690565b81541580611a365750815482906000198101908110611a1957fe5b60009182526020909120600290910201546001600160801b031642115b15611acc57604080518082018252426001600160801b039081168252602080830185815286546001808201895560008981529384209551600290920290950180546fffffffffffffffffffffffffffffffff1916919094161783555191909201558354915160001992909201917f76735e462dae5480c552f970568dc60e35cc3c4c06eb818f77bbb357593bf7fa9190a2610d73565b815460009083906000198101908110611ae157fe5b60009182526020909120600160029092020101829055505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611b3d57805160ff1916838001178555611b6a565b82800160010185558215611b6a579182015b82811115611b6a578251825591602001919060010190611b4f565b50611b76929150611b7a565b5090565b6106c791905b80821115611b765760008155600101611b80565b80356106e2816124ca565b600082601f830112611baf578081fd5b813567ffffffffffffffff811115611bc5578182fd5b611bd8601f8201601f19166020016124a3565b9150808252836020828501011115611bef57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611c19578081fd5b8135610b6e816124ca565b60008060408385031215611c36578081fd5b8235611c41816124ca565b91506020830135611c51816124ca565b809150509250929050565b600080600060608486031215611c70578081fd5b8335611c7b816124ca565b92506020840135611c8b816124ca565b929592945050506040919091013590565b60008060408385031215611cae578182fd5b8235611cb9816124ca565b946020939093013593505050565b600060208284031215611cd8578081fd5b8151610b6e816124df565b600060208284031215611cf4578081fd5b5035919050565b60008060408385031215611d0d578182fd5b8235915060208084013567ffffffffffffffff80821115611d2c578384fd5b81860187601f820112611d3d578485fd5b8035925081831115611d4d578485fd5b8383029150611d5d8483016124a3565b8381528481019082860184840187018b1015611d77578788fd5b8794505b85851015611da157611d8d8b82611b94565b835260019490940193918601918601611d7b565b508096505050505050509250929050565b60008060408385031215611dc4578182fd5b50508035926020909101359150565b60008060008060808587031215611de8578081fd5b84359350602085013592506040850135611e01816124df565b91506060850135611e11816124ca565b939692955090935050565b60008060408385031215611e2e578182fd5b823567ffffffffffffffff80821115611e45578384fd5b611e5186838701611b9f565b93506020850135915080821115611e66578283fd5b50611e7385828601611b9f565b9150509250929050565b600080600060608486031215611e91578283fd5b505081359360208301359350604090920135919050565b6001600160a01b03929092168252602082015260400190565b6020808252825182820181905260009190848201906040850190845b81811015611f025783516001600160a01b031683529284019291840191600101611edd565b50909695505050505050565b901515815260200190565b6000602080835283518082850152825b81811015611f4557858101830151858201604001528201611f29565b81811115611f565783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526035908201526000805160206124ee83398151915260408201527414d251d39053125391d7d393d517d1539050931151605a1b606082015260800190565b60208082526037908201527f4465706f7369742e7570646174654465706f736974416d6f756e743a2044455060408201527f4f5349545f414d4f554e545f414c52454144595f534554000000000000000000606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252602d908201527f4465706f7369742e6372656174654465706f7369743a204445504f5349545f4160408201526c4c52454144595f45584953545360981b606082015260800190565b6020808252602d908201527f4465706f7369742e636c61696d4465706f7369743a204445504f5349545f414c60408201526c149150511657d0d31052535151609a1b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526036908201526000805160206124ee83398151915260408201527511115413d4d25517d113d154d7d393d517d1561254d560521b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526033908201527f4465706f7369742e7570646174654465706f736974416d6f756e743a2044455060408201527213d4d25517d113d154d7d393d517d1561254d5606a1b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252603c908201526000805160206124ee83398151915260408201527f4445504f5349545f49535f414c52454144595f50524f43455353454400000000606082015260800190565b6020808252603d908201526000805160206124ee83398151915260408201527f5349474e414c5f414d4f554e545f455843454544535f42414c414e4345000000606082015260800190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60208082526028908201527f4465706f7369742e7472616e736665724465706f7369743a205452414e5346456040820152671497d1905253115160c21b606082015260800190565b90815260200190565b9586526020860194909452604085019290925260608401526001600160a01b03166080830152151560a082015260c00190565b958652602086019490945260408501929092526060840152151560808301526001600160a01b031660a082015260c00190565b60ff91909116815260200190565b60405181810167ffffffffffffffff811182821017156124c257600080fd5b604052919050565b6001600160a01b03811681146117b557600080fd5b80151581146117b557600080fdfe4465706f7369742e7369676e616c416d6f756e74466f724465706f7369743a2045524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212205e0d5fc89b7e711e668589cff5d8380f46fd095a5f70b9b4063ca31a9e15b7b264736f6c634300060b0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101c45760003560e01c80634ee2cd7e116100f957806395d89b4111610097578063a9059cbb11610071578063a9059cbb146103bf578063a999b73f146103d2578063c20662c3146103e5578063dd62ed3e146103f8576101c4565b806395d89b4114610391578063981b24d014610399578063a457c2d7146103ac576101c4565b806370a08231116100d357806370a082311461033357806376fa0e46146103465780637a22402c146103595780637a86983f1461036c576101c4565b80634ee2cd7e146102fa578063520fdd221461030d5780635e58588914610320576101c4565b8063302424ea116101665780633180192511610140578063318019251461028f57806339509351146102af5780633d4dff7b146102c25780634cd88b76146102e7576101c4565b8063302424ea1461025f578063308feec314610272578063313ce5671461027a576101c4565b806318160ddd116101a257806318160ddd1461021c5780631aab9a9f1461023157806323b872dd146102395780632839a1841461024c576101c4565b806303952a7a146101c957806306fdde03146101de578063095ea7b3146101fc575b600080fd5b6101dc6101d7366004611db2565b61040b565b005b6101e6610633565b6040516101f39190611f19565b60405180910390f35b61020f61020a366004611c9c565b6106ca565b6040516101f39190611f0e565b6102246106e8565b6040516101f39190612426565b6102246106ee565b61020f610247366004611c5c565b6106f4565b61022461025a366004611c08565b610781565b6101dc61026d366004611dd3565b610793565b6102246107ff565b610282610805565b6040516101f39190612495565b6102a261029d366004611e7d565b61080e565b6040516101f39190611ec1565b61020f6102bd366004611c9c565b610a25565b6102d56102d0366004611ce3565b610a79565b6040516101f39695949392919061242f565b6101dc6102f5366004611e1c565b610abd565b610224610308366004611c9c565b610b4c565b6102a261031b366004611ce3565b610b75565b6101dc61032e366004611ce3565b610d29565b610224610341366004611c08565b610d77565b61020f610354366004611c9c565b610d92565b610224610367366004611c9c565b610dc0565b61037f61037a366004611ce3565b610ea6565b6040516101f396959493929190612462565b6101e6610eea565b6102246103a7366004611ce3565b610f4b565b61020f6103ba366004611c9c565b610f58565b61020f6103cd366004611c9c565b610fc6565b6101dc6103e0366004611db2565b610fda565b6101dc6103f3366004611cfb565b61102f565b610224610406366004611c24565b6110b1565b600082815260a66020526040902080546104405760405162461bcd60e51b8152600401610437906121a3565b60405180910390fd5b6004810154600160a01b900460ff1615156001146104705760405162461bcd60e51b815260040161043790611faf565b805442106104905760405162461bcd60e51b815260040161043790612311565b61049a3342610b4c565b33600090815260a7602052604090205411156104c85760405162461bcd60e51b81526004016104379061235c565b8161050f5733600090815260068201602090815260408083205460a7909252909120546104fa9163ffffffff6110dc16565b33600090815260a760205260409020556105db565b3360009081526006820160205260409020548210156105835733600090815260068201602052604081205461054a908463ffffffff6110dc16565b33600090815260a7602052604090205490915061056d908263ffffffff6110dc16565b33600090815260a76020526040902055506105db565b3360009081526006820160205260408120546105a690849063ffffffff6110dc16565b33600090815260a760205260409020549091506105c9908263ffffffff61111e16565b33600090815260a76020526040902055505b33600090815260068201602052604090205460038201546106019163ffffffff6110dc16565b60038201819055610618908363ffffffff61111e16565b60038201553360009081526006909101602052604090205550565b60688054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106bf5780601f10610694576101008083540402835291602001916106bf565b820191906000526020600020905b8154815290600101906020018083116106a257829003601f168201915b505050505090505b90565b60006106de6106d7611143565b8484611147565b5060015b92915050565b60675490565b609b5481565b60006107018484846111fb565b6107778461070d611143565b61077285604051806060016040528060288152602001612534602891396001600160a01b038a1660009081526066602052604081209061074b611143565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61121116565b611147565b5060019392505050565b60a76020526000908152604090205481565b600084815260a6602052604090208054156107c05760405162461bcd60e51b8152600401610437906120c8565b9283556004909201805460ff60a01b1916600160a01b92151592909202919091176001600160a01b0319166001600160a01b0390921691909117905550565b60995490565b606a5460ff1690565b6099546060908083106108235783900361082b565b506001838303015b60608167ffffffffffffffff8111801561084457600080fd5b5060405190808252806020026020018201604052801561086e578160200160208202803683370190505b50905060005b828110156108d55760998682018154811061088b57fe5b9060005260206000200160009054906101000a90046001600160a01b03168282815181106108b557fe5b6001600160a01b0390921660209283029190910190910152600101610874565b506000805b825181101561094a5760006109028483815181106108f457fe5b60200260200101518a610b4c565b111561091357600190910190610942565b600083828151811061092157fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b6001016108da565b60608267ffffffffffffffff8111801561096357600080fd5b5060405190808252806020026020018201604052801561098d578160200160208202803683370190505b50905060009250600091505b8351821015610a195760006001600160a01b03168483815181106109b957fe5b60200260200101516001600160a01b031614610a0e578382815181106109db57fe5b60200260200101518184815181106109ef57fe5b6001600160a01b03909216602092830291909101909101526001909201915b600190910190610999565b98975050505050505050565b60006106de610a32611143565b846107728560666000610a43611143565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff61111e16565b60a66020526000908152604090208054600182015460028301546003840154600490940154929391929091906001600160a01b03811690600160a01b900460ff1686565b600054610100900460ff1680610ad65750610ad661123d565b80610ae4575060005460ff16155b610b005760405162461bcd60e51b8152600401610437906121e7565b600054610100900460ff16158015610b2b576000805460ff1961ff0019909116610100171660011790555b610b358383611243565b8015610b47576000805461ff00191690555b505050565b6001600160a01b0382166000908152609860205260408120610b6e90836112c3565b9392505050565b606060008060606099805480602002602001604051908101604052809291908181526020018280548015610bd257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610bb4575b50505050509050600091505b8051821015610c51576000610c06828481518110610bf857fe5b602002602001015187610b4c565b1115610c1757600190920191610c46565b6000818381518110610c2557fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b600190910190610bde565b60608367ffffffffffffffff81118015610c6a57600080fd5b50604051908082528060200260200182016040528015610c94578160200160208202803683370190505b50905060009350600092505b8151831015610d205760006001600160a01b0316828481518110610cc057fe5b60200260200101516001600160a01b031614610d1557818381518110610ce257fe5b6020026020010151818581518110610cf657fe5b6001600160a01b03909216602092830291909101909101526001909301925b600190920191610ca0565b95945050505050565b600081815260a660209081526040808320338452600581019092529091205460ff1615610d685760405162461bcd60e51b815260040161043790612115565b610d733382846113ef565b5050565b6001600160a01b031660009081526065602052604090205490565b600090815260a6602090815260408083206001600160a01b0394909416835260059093019052205460ff1690565b600081815260a6602090815260408083206001600160a01b03861684526005810190925282205460ff1615610df95760009150506106e2565b6000610e088260000154610f4b565b6004830154909150600090600160a01b900460ff16610e3457610e2f868460000154610b4c565b610e50565b6001600160a01b03861660009081526006840160205260409020545b90506000610e9b8460040160149054906101000a900460ff16610e735783610e79565b84600301545b6001860154610e8f90859063ffffffff61157316565b9063ffffffff6115ad16565b979650505050505050565b600090815260a6602052604090208054600182015460028301546003840154600490940154929491939092909160ff600160a01b830416916001600160a01b031690565b60698054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106bf5780601f10610694576101008083540402835291602001916106bf565b60006106e26097836112c3565b60006106de610f65611143565b846107728560405180606001604052806025815260200161255c6025913960666000610f8f611143565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61121116565b60006106de610fd3611143565b84846111fb565b600082815260a66020526040902080546110065760405162461bcd60e51b815260040161043790612235565b6001810154156110285760405162461bcd60e51b815260040161043790611ff2565b6001015550565b600082815260a660205260408120905b82518110156110ab5781600501600084838151811061105a57fe5b6020908102919091018101516001600160a01b031682528101919091526040016000205460ff166110a3576110a383828151811061109457fe5b602002602001015183866113ef565b60010161103f565b50505050565b6001600160a01b03918216600090815260666020908152604080832093909416825291909152205490565b6000610b6e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611211565b600082820183811015610b6e5760405162461bcd60e51b815260040161043790612091565b3390565b6001600160a01b03831661116d5760405162461bcd60e51b8152600401610437906122cd565b6001600160a01b0382166111935760405162461bcd60e51b81526004016104379061204f565b6001600160a01b0380841660008181526066602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906111ee908590612426565b60405180910390a3505050565b6112068383836115ef565b610b47838383611710565b600081848411156112355760405162461bcd60e51b81526004016104379190611f19565b505050900390565b303b1590565b600054610100900460ff168061125c575061125c61123d565b8061126a575060005460ff16155b6112865760405162461bcd60e51b8152600401610437906121e7565b600054610100900460ff161580156112b1576000805460ff1961ff0019909116610100171660011790555b6112b9611735565b610b3583836117b8565b81546000906112d4575060006106e2565b8254839060001981019081106112e657fe5b60009182526020909120600290910201546001600160801b031682106113315782548390600019810190811061131857fe5b90600052602060002090600202016001015490506106e2565b8260008154811061133e57fe5b60009182526020909120600290910201546001600160801b0316821015611367575060006106e2565b8254600090600019015b818111156113c757600060026001838501010490508486828154811061139357fe5b60009182526020909120600290910201546001600160801b0316116113ba578092506113c1565b6001810391505b50611371565b8482815481106113d357fe5b9060005260206000209060020201600101549250505092915050565b60b25460ff166114115760405162461bcd60e51b8152600401610437906123a7565b60b2805460ff1916905560006114278483610dc0565b6001600160a01b03851660009081526005850160205260409020805460ff19166001179055600284015490915061146590829063ffffffff61111e16565b60028401556001600160a01b038416600090815260068401602090815260408083205460a7909252909120546114a09163ffffffff6110dc16565b6001600160a01b038516600090815260a7602052604090205580156115605760048084015460405163a9059cbb60e01b81526001600160a01b039091169163a9059cbb916114f2918891869101611ea8565b602060405180830381600087803b15801561150c57600080fd5b505af1158015611520573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115449190611cc7565b6115605760405162461bcd60e51b8152600401610437906123de565b505060b2805460ff191660011790555050565b600082611582575060006106e2565b8282028284828161158f57fe5b0414610b6e5760405162461bcd60e51b815260040161043790612162565b6000610b6e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611871565b6001600160a01b0383166116155760405162461bcd60e51b815260040161043790612288565b6001600160a01b03821661163b5760405162461bcd60e51b815260040161043790611f6c565b611646838383610b47565b6116898160405180606001604052806026815260200161250e602691396001600160a01b038616600090815260656020526040902054919063ffffffff61121116565b6001600160a01b0380851660009081526065602052604080822093909355908416815220546116be908263ffffffff61111e16565b6001600160a01b0380841660008181526065602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111ee908590612426565b61171b8383836118a8565b6117236119a7565b61172c836119bb565b610b47826119bb565b600054610100900460ff168061174e575061174e61123d565b8061175c575060005460ff16155b6117785760405162461bcd60e51b8152600401610437906121e7565b600054610100900460ff161580156117a3576000805460ff1961ff0019909116610100171660011790555b80156117b5576000805461ff00191690555b50565b600054610100900460ff16806117d157506117d161123d565b806117df575060005460ff16155b6117fb5760405162461bcd60e51b8152600401610437906121e7565b600054610100900460ff16158015611826576000805460ff1961ff0019909116610100171660011790555b8251611839906068906020860190611afc565b50815161184d906069906020850190611afc565b50606a805460ff191660121790558015610b47576000805461ff0019169055505050565b600081836118925760405162461bcd60e51b81526004016104379190611f19565b50600083858161189e57fe5b0495945050505050565b8015806118c65750816001600160a01b0316836001600160a01b0316145b156118d057610b47565b6118d982610d77565b1580156118ee57506001600160a01b03821615155b1561197b57609b5461190790600163ffffffff61111e16565b609b55611913826119e0565b61197b576099805460018082019092557f72a152ddfb8e864297c917af52ea6c1c68aead0fee1a62673fcc7e0c94979d000180546001600160a01b0319166001600160a01b0385169081179091556000908152609a60205260409020805460ff191690911790555b61198483610d77565b811415610b4757609b5461199f90600163ffffffff6110dc16565b609b55505050565b6119b960976119b46106e8565b6119fe565b565b6001600160a01b03811660009081526098602052604090206117b5906119b483610d77565b6001600160a01b03166000908152609a602052604090205460ff1690565b81541580611a365750815482906000198101908110611a1957fe5b60009182526020909120600290910201546001600160801b031642115b15611acc57604080518082018252426001600160801b039081168252602080830185815286546001808201895560008981529384209551600290920290950180546fffffffffffffffffffffffffffffffff1916919094161783555191909201558354915160001992909201917f76735e462dae5480c552f970568dc60e35cc3c4c06eb818f77bbb357593bf7fa9190a2610d73565b815460009083906000198101908110611ae157fe5b60009182526020909120600160029092020101829055505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611b3d57805160ff1916838001178555611b6a565b82800160010185558215611b6a579182015b82811115611b6a578251825591602001919060010190611b4f565b50611b76929150611b7a565b5090565b6106c791905b80821115611b765760008155600101611b80565b80356106e2816124ca565b600082601f830112611baf578081fd5b813567ffffffffffffffff811115611bc5578182fd5b611bd8601f8201601f19166020016124a3565b9150808252836020828501011115611bef57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611c19578081fd5b8135610b6e816124ca565b60008060408385031215611c36578081fd5b8235611c41816124ca565b91506020830135611c51816124ca565b809150509250929050565b600080600060608486031215611c70578081fd5b8335611c7b816124ca565b92506020840135611c8b816124ca565b929592945050506040919091013590565b60008060408385031215611cae578182fd5b8235611cb9816124ca565b946020939093013593505050565b600060208284031215611cd8578081fd5b8151610b6e816124df565b600060208284031215611cf4578081fd5b5035919050565b60008060408385031215611d0d578182fd5b8235915060208084013567ffffffffffffffff80821115611d2c578384fd5b81860187601f820112611d3d578485fd5b8035925081831115611d4d578485fd5b8383029150611d5d8483016124a3565b8381528481019082860184840187018b1015611d77578788fd5b8794505b85851015611da157611d8d8b82611b94565b835260019490940193918601918601611d7b565b508096505050505050509250929050565b60008060408385031215611dc4578182fd5b50508035926020909101359150565b60008060008060808587031215611de8578081fd5b84359350602085013592506040850135611e01816124df565b91506060850135611e11816124ca565b939692955090935050565b60008060408385031215611e2e578182fd5b823567ffffffffffffffff80821115611e45578384fd5b611e5186838701611b9f565b93506020850135915080821115611e66578283fd5b50611e7385828601611b9f565b9150509250929050565b600080600060608486031215611e91578283fd5b505081359360208301359350604090920135919050565b6001600160a01b03929092168252602082015260400190565b6020808252825182820181905260009190848201906040850190845b81811015611f025783516001600160a01b031683529284019291840191600101611edd565b50909695505050505050565b901515815260200190565b6000602080835283518082850152825b81811015611f4557858101830151858201604001528201611f29565b81811115611f565783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526035908201526000805160206124ee83398151915260408201527414d251d39053125391d7d393d517d1539050931151605a1b606082015260800190565b60208082526037908201527f4465706f7369742e7570646174654465706f736974416d6f756e743a2044455060408201527f4f5349545f414d4f554e545f414c52454144595f534554000000000000000000606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252602d908201527f4465706f7369742e6372656174654465706f7369743a204445504f5349545f4160408201526c4c52454144595f45584953545360981b606082015260800190565b6020808252602d908201527f4465706f7369742e636c61696d4465706f7369743a204445504f5349545f414c60408201526c149150511657d0d31052535151609a1b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526036908201526000805160206124ee83398151915260408201527511115413d4d25517d113d154d7d393d517d1561254d560521b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526033908201527f4465706f7369742e7570646174654465706f736974416d6f756e743a2044455060408201527213d4d25517d113d154d7d393d517d1561254d5606a1b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252603c908201526000805160206124ee83398151915260408201527f4445504f5349545f49535f414c52454144595f50524f43455353454400000000606082015260800190565b6020808252603d908201526000805160206124ee83398151915260408201527f5349474e414c5f414d4f554e545f455843454544535f42414c414e4345000000606082015260800190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60208082526028908201527f4465706f7369742e7472616e736665724465706f7369743a205452414e5346456040820152671497d1905253115160c21b606082015260800190565b90815260200190565b9586526020860194909452604085019290925260608401526001600160a01b03166080830152151560a082015260c00190565b958652602086019490945260408501929092526060840152151560808301526001600160a01b031660a082015260c00190565b60ff91909116815260200190565b60405181810167ffffffffffffffff811182821017156124c257600080fd5b604052919050565b6001600160a01b03811681146117b557600080fd5b80151581146117b557600080fdfe4465706f7369742e7369676e616c416d6f756e74466f724465706f7369743a2045524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212205e0d5fc89b7e711e668589cff5d8380f46fd095a5f70b9b4063ca31a9e15b7b264736f6c634300060b0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
