{
  "_format": "hh-sol-artifact-1",
  "contractName": "RoundVotesCountingUtils",
  "sourceName": "contracts/x-allocation-voting-governance/libraries/RoundVotesCountingUtils.sol",
  "abi": [
    {
      "inputs": [],
      "name": "DuplicateAppVote",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "voter",
          "type": "address"
        }
      ],
      "name": "GovernorAlreadyCastVote",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "appId",
          "type": "bytes32"
        }
      ],
      "name": "GovernorAppNotAvailableForVoting",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "GovernorInsufficientVotingPower",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "threshold",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "votes",
          "type": "uint256"
        }
      ],
      "name": "GovernorVotingThresholdNotMet",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "voter",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "roundId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "bytes32[]",
          "name": "appsIds",
          "type": "bytes32[]"
        },
        {
          "indexed": false,
          "internalType": "uint256[]",
          "name": "voteWeights",
          "type": "uint256[]"
        }
      ],
      "name": "AllocationVoteCast",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "oldVotingThreshold",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "newVotingThreshold",
          "type": "uint256"
        }
      ],
      "name": "VotingThresholdSet",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "roundId",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "app",
          "type": "bytes32"
        }
      ],
      "name": "getAppVotes",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "roundId",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "app",
          "type": "bytes32"
        }
      ],
      "name": "getAppVotesQF",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "roundId",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "appId",
          "type": "bytes32"
        }
      ],
      "name": "hasUserVotedForApp",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "roundId",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        }
      ],
      "name": "hasVoted",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        }
      ],
      "name": "hasVotedOnce",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "roundId",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "quorumValue",
          "type": "uint256"
        }
      ],
      "name": "quorumReached",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "roundId",
          "type": "uint256"
        }
      ],
      "name": "totalVoters",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "roundId",
          "type": "uint256"
        }
      ],
      "name": "totalVotes",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "roundId",
          "type": "uint256"
        }
      ],
      "name": "totalVotesQF",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "roundId",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "quorumValue",
          "type": "uint256"
        }
      ],
      "name": "voteSucceeded",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "votingThreshold",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x61114361003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100cf5760003560e01c806319e6e158146100d457806342707a43146100fa578063438596321461011d578063498d91bf146101305780634bb5181a1461014357806362827733146101565780636eafa5f61461015e578063754ba25d14610180578063836761e0146101935780639aeb962b146101b3578063adf8652314610180578063bed73010146101c6578063cdc6ac0c146101d9578063fb03ec6f146101f9578063fe4b84df1461020c575b600080fd5b6100e76100e2366004610c9d565b61022c565b6040519081526020015b60405180910390f35b61010d610108366004610cd2565b61024f565b60405190151581526020016100f1565b61010d61012b366004610d07565b610296565b6100e761013e366004610c9d565b6102d7565b6100e7610151366004610d33565b6102fa565b6100e7610325565b81801561016a57600080fd5b5061017e610179366004610d07565b61033a565b005b61010d61018e366004610d33565b610376565b81801561019f57600080fd5b5061017e6101ae366004610c9d565b61039c565b61010d6101c1366004610d55565b6103ed565b6100e76101d4366004610d33565b61041b565b8180156101e557600080fd5b5061017e6101f4366004610e44565b61044b565b6100e7610207366004610c9d565b6109e3565b81801561021857600080fd5b5061017e610227366004610c9d565b610a06565b600080610237610a1a565b60009384526001016020525050604090206002015490565b60008061025a610a1a565b6000958652600101602090815260408087206001600160a01b039690961687526006909501815284862093865292909252505090205460ff1690565b6000806102a1610a1a565b60008581526001909101602090815260408083206001600160a01b038716845260040190915290205460ff169150505b92915050565b6000806102e2610a1a565b60009384526001016020525050604090206005015490565b600080610305610a1a565b600094855260010160209081526040808620948652939052505090205490565b600080610330610a1a565b6002015492915050565b6000610344610a1a565b6000938452600501602090815260408085206001600160a01b039094168552929052509020805460ff19166001179055565b600080610381610a1a565b60009485526001016020525050604090912060020154101590565b60006103a6610a1a565b600281015460408051918252602082018590529192507fa5b41e1bd59a5a33422f0b660829ff7686aed2198167061e3c6c21fdcc259f05910160405180910390a160020155565b6000806103f8610a1a565b6001600160a01b0390931660009081526020939093525050604090205460ff1690565b600080610426610a1a565b6000948552600190810160209081526040808720958752949091019052505090205490565b6000610455610a1a565b600088815260018201602090815260408083206001600160a01b038b1684526004019091529020549091507f1da8cbbb2b12987a437595605432a6bbe84c08e9685afaaee593f05659f50d009060ff16156104d3576040516371c6af4960e01b81526001600160a01b03881660048201526024015b60405180910390fd5b60008060005b88518110156107405760005b81811015610551578981815181106104ff576104ff610f2a565b60200260200101518a838151811061051957610519610f2a565b60200260200101510361053f57604051632367acf760e21b815260040160405180910390fd5b8061054981610f56565b9150506104e5565b5087818151811061056457610564610f2a565b6020026020010151836105779190610f6f565b92508683111561059a57604051630cc9baf760e01b815260040160405180910390fd5b306001600160a01b031663d68b4c368a83815181106105bb576105bb610f2a565b60200260200101518d6040518363ffffffff1660e01b81526004016105ea929190918252602082015260400190565b602060405180830381865afa158015610607573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062b9190610f82565b6106655788818151811061064157610641610f2a565b60200260200101516040516325c5391960e11b81526004016104ca91815260200190565b6106a3858c8b848151811061067c5761067c610f2a565b60200260200101518b858151811061069657610696610f2a565b6020026020010151610a3e565b6106ad9083610f6f565b915060018560010160008d815260200190815260200160002060060160008c6001600160a01b03166001600160a01b0316815260200190815260200160002060008b848151811061070057610700610f2a565b6020026020010151815260200190815260200160002060006101000a81548160ff021916908315150217905550808061073890610f56565b9150506104d9565b50836002015482101561077657600284015460405163742f62c360e01b81526004810191909152602481018390526044016104ca565b60008a815260018501602052604081206003018054839290610799908490610f6f565b909155505060008a8152600185016020526040812060020180548492906107c1908490610f6f565b909155505060008a81526001858101602081815260408085206001600160a01b038f168652600481018352908520805460ff19169094179093558d84525260050180549161080e83610f56565b90915550506001600160a01b03891660009081526020859052604090205460ff16610857576001600160a01b0389166000908152602085905260409020805460ff191660011790555b600073__$2638067425a8b07bf64aace0db8ed9d633$__63bd5d18278b8d8c8a8960020160009054906101000a90046001600160a01b03166040518663ffffffff1660e01b81526004016108af959493929190610fa4565b602060405180830381865af41580156108cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f09190611017565b905060006127106109018386611030565b61090b919061105d565b9050600061091882610b04565b6002870154604051632f18339d60e01b8152600481018b90526001600160a01b038f811660248301526044820186905260648201849052929350911690632f18339d90608401600060405180830381600087803b15801561097857600080fd5b505af115801561098c573d6000803e3d6000fd5b505050508c8c6001600160a01b03167fe2d0d542af9cdd3e0ef4ace292fc5e9dd654164e63920ea9b58c435492af84e28d8d6040516109cc92919061107f565b60405180910390a350505050505050505050505050565b6000806109ee610a1a565b60009384526001016020525050604090206003015490565b6000610a10610a1a565b6002019190915550565b7fa760c041d4a9fa3a2c67d0d325f3592ba2c7e4330f7ba2283ebf9fe63913d50090565b6000838152600180860160209081526040808420868552909201905281205481670de0b6b3a76400008411610a8057610a7b633b9aca008561105d565b610a89565b610a8984610b04565b90506000610a978284610f6f565b9050610aa38380611030565b610aad8280611030565b610ab791906110fa565b600088815260018a8101602090815260408084208b85529283018252808420869055919052812080549296508792909190610af3908490610f6f565b909155509398975050505050505050565b600081600003610b1657506000919050565b60006001610b2384610bf3565b901c6001901b90506001818481610b3c57610b3c611047565b048201901c90506001818481610b5457610b54611047565b048201901c90506001818481610b6c57610b6c611047565b048201901c90506001818481610b8457610b84611047565b048201901c90506001818481610b9c57610b9c611047565b048201901c90506001818481610bb457610bb4611047565b048201901c90506001818481610bcc57610bcc611047565b048201901c9050610bec81828581610be657610be6611047565b04610c87565b9392505050565b600080608083901c15610c0857608092831c92015b604083901c15610c1a57604092831c92015b602083901c15610c2c57602092831c92015b601083901c15610c3e57601092831c92015b600883901c15610c5057600892831c92015b600483901c15610c6257600492831c92015b600283901c15610c7457600292831c92015b600183901c156102d15760010192915050565b6000818310610c965781610bec565b5090919050565b600060208284031215610caf57600080fd5b5035919050565b80356001600160a01b0381168114610ccd57600080fd5b919050565b600080600060608486031215610ce757600080fd5b83359250610cf760208501610cb6565b9150604084013590509250925092565b60008060408385031215610d1a57600080fd5b82359150610d2a60208401610cb6565b90509250929050565b60008060408385031215610d4657600080fd5b50508035926020909101359150565b600060208284031215610d6757600080fd5b610bec82610cb6565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715610dae57610dae610d70565b604052919050565b60006001600160401b03821115610dcf57610dcf610d70565b5060051b60200190565b600082601f830112610dea57600080fd5b81356020610dff610dfa83610db6565b610d86565b82815260059290921b84018101918181019086841115610e1e57600080fd5b8286015b84811015610e395780358352918301918301610e22565b509695505050505050565b60008060008060008060c08789031215610e5d57600080fd5b863595506020610e6e818901610cb6565b955060408801356001600160401b0380821115610e8a57600080fd5b818a0191508a601f830112610e9e57600080fd5b8135610eac610dfa82610db6565b81815260059190911b8301840190848101908d831115610ecb57600080fd5b938501935b82851015610ee957843582529385019390850190610ed0565b9850505060608a0135925080831115610f0157600080fd5b5050610f0f89828a01610dd9565b9350506080870135915060a087013590509295509295509295565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201610f6857610f68610f40565b5060010190565b808201808211156102d1576102d1610f40565b600060208284031215610f9457600080fd5b81518015158114610bec57600080fd5b6001600160a01b038681168252602080830187905260a060408401819052865190840181905260009287830192909160c0860190855b81811015610ff657855183529483019491830191600101610fda565b50508094505050856060850152808516608085015250509695505050505050565b60006020828403121561102957600080fd5b5051919050565b80820281158282048414176102d1576102d1610f40565b634e487b7160e01b600052601260045260246000fd5b60008261107a57634e487b7160e01b600052601260045260246000fd5b500490565b604080825283519082018190526000906020906060840190828701845b828110156110b85781518452928401929084019060010161109c565b5050508381038285015284518082528583019183019060005b818110156110ed578351835292840192918401916001016110d1565b5090979650505050505050565b818103818111156102d1576102d1610f4056fea2646970667358221220974410784d659e9fc21d684ad52a466d09b8528f72eb48873eb7678e90191b8964736f6c63430008140033",
  "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100cf5760003560e01c806319e6e158146100d457806342707a43146100fa578063438596321461011d578063498d91bf146101305780634bb5181a1461014357806362827733146101565780636eafa5f61461015e578063754ba25d14610180578063836761e0146101935780639aeb962b146101b3578063adf8652314610180578063bed73010146101c6578063cdc6ac0c146101d9578063fb03ec6f146101f9578063fe4b84df1461020c575b600080fd5b6100e76100e2366004610c9d565b61022c565b6040519081526020015b60405180910390f35b61010d610108366004610cd2565b61024f565b60405190151581526020016100f1565b61010d61012b366004610d07565b610296565b6100e761013e366004610c9d565b6102d7565b6100e7610151366004610d33565b6102fa565b6100e7610325565b81801561016a57600080fd5b5061017e610179366004610d07565b61033a565b005b61010d61018e366004610d33565b610376565b81801561019f57600080fd5b5061017e6101ae366004610c9d565b61039c565b61010d6101c1366004610d55565b6103ed565b6100e76101d4366004610d33565b61041b565b8180156101e557600080fd5b5061017e6101f4366004610e44565b61044b565b6100e7610207366004610c9d565b6109e3565b81801561021857600080fd5b5061017e610227366004610c9d565b610a06565b600080610237610a1a565b60009384526001016020525050604090206002015490565b60008061025a610a1a565b6000958652600101602090815260408087206001600160a01b039690961687526006909501815284862093865292909252505090205460ff1690565b6000806102a1610a1a565b60008581526001909101602090815260408083206001600160a01b038716845260040190915290205460ff169150505b92915050565b6000806102e2610a1a565b60009384526001016020525050604090206005015490565b600080610305610a1a565b600094855260010160209081526040808620948652939052505090205490565b600080610330610a1a565b6002015492915050565b6000610344610a1a565b6000938452600501602090815260408085206001600160a01b039094168552929052509020805460ff19166001179055565b600080610381610a1a565b60009485526001016020525050604090912060020154101590565b60006103a6610a1a565b600281015460408051918252602082018590529192507fa5b41e1bd59a5a33422f0b660829ff7686aed2198167061e3c6c21fdcc259f05910160405180910390a160020155565b6000806103f8610a1a565b6001600160a01b0390931660009081526020939093525050604090205460ff1690565b600080610426610a1a565b6000948552600190810160209081526040808720958752949091019052505090205490565b6000610455610a1a565b600088815260018201602090815260408083206001600160a01b038b1684526004019091529020549091507f1da8cbbb2b12987a437595605432a6bbe84c08e9685afaaee593f05659f50d009060ff16156104d3576040516371c6af4960e01b81526001600160a01b03881660048201526024015b60405180910390fd5b60008060005b88518110156107405760005b81811015610551578981815181106104ff576104ff610f2a565b60200260200101518a838151811061051957610519610f2a565b60200260200101510361053f57604051632367acf760e21b815260040160405180910390fd5b8061054981610f56565b9150506104e5565b5087818151811061056457610564610f2a565b6020026020010151836105779190610f6f565b92508683111561059a57604051630cc9baf760e01b815260040160405180910390fd5b306001600160a01b031663d68b4c368a83815181106105bb576105bb610f2a565b60200260200101518d6040518363ffffffff1660e01b81526004016105ea929190918252602082015260400190565b602060405180830381865afa158015610607573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062b9190610f82565b6106655788818151811061064157610641610f2a565b60200260200101516040516325c5391960e11b81526004016104ca91815260200190565b6106a3858c8b848151811061067c5761067c610f2a565b60200260200101518b858151811061069657610696610f2a565b6020026020010151610a3e565b6106ad9083610f6f565b915060018560010160008d815260200190815260200160002060060160008c6001600160a01b03166001600160a01b0316815260200190815260200160002060008b848151811061070057610700610f2a565b6020026020010151815260200190815260200160002060006101000a81548160ff021916908315150217905550808061073890610f56565b9150506104d9565b50836002015482101561077657600284015460405163742f62c360e01b81526004810191909152602481018390526044016104ca565b60008a815260018501602052604081206003018054839290610799908490610f6f565b909155505060008a8152600185016020526040812060020180548492906107c1908490610f6f565b909155505060008a81526001858101602081815260408085206001600160a01b038f168652600481018352908520805460ff19169094179093558d84525260050180549161080e83610f56565b90915550506001600160a01b03891660009081526020859052604090205460ff16610857576001600160a01b0389166000908152602085905260409020805460ff191660011790555b600073__$2638067425a8b07bf64aace0db8ed9d633$__63bd5d18278b8d8c8a8960020160009054906101000a90046001600160a01b03166040518663ffffffff1660e01b81526004016108af959493929190610fa4565b602060405180830381865af41580156108cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f09190611017565b905060006127106109018386611030565b61090b919061105d565b9050600061091882610b04565b6002870154604051632f18339d60e01b8152600481018b90526001600160a01b038f811660248301526044820186905260648201849052929350911690632f18339d90608401600060405180830381600087803b15801561097857600080fd5b505af115801561098c573d6000803e3d6000fd5b505050508c8c6001600160a01b03167fe2d0d542af9cdd3e0ef4ace292fc5e9dd654164e63920ea9b58c435492af84e28d8d6040516109cc92919061107f565b60405180910390a350505050505050505050505050565b6000806109ee610a1a565b60009384526001016020525050604090206003015490565b6000610a10610a1a565b6002019190915550565b7fa760c041d4a9fa3a2c67d0d325f3592ba2c7e4330f7ba2283ebf9fe63913d50090565b6000838152600180860160209081526040808420868552909201905281205481670de0b6b3a76400008411610a8057610a7b633b9aca008561105d565b610a89565b610a8984610b04565b90506000610a978284610f6f565b9050610aa38380611030565b610aad8280611030565b610ab791906110fa565b600088815260018a8101602090815260408084208b85529283018252808420869055919052812080549296508792909190610af3908490610f6f565b909155509398975050505050505050565b600081600003610b1657506000919050565b60006001610b2384610bf3565b901c6001901b90506001818481610b3c57610b3c611047565b048201901c90506001818481610b5457610b54611047565b048201901c90506001818481610b6c57610b6c611047565b048201901c90506001818481610b8457610b84611047565b048201901c90506001818481610b9c57610b9c611047565b048201901c90506001818481610bb457610bb4611047565b048201901c90506001818481610bcc57610bcc611047565b048201901c9050610bec81828581610be657610be6611047565b04610c87565b9392505050565b600080608083901c15610c0857608092831c92015b604083901c15610c1a57604092831c92015b602083901c15610c2c57602092831c92015b601083901c15610c3e57601092831c92015b600883901c15610c5057600892831c92015b600483901c15610c6257600492831c92015b600283901c15610c7457600292831c92015b600183901c156102d15760010192915050565b6000818310610c965781610bec565b5090919050565b600060208284031215610caf57600080fd5b5035919050565b80356001600160a01b0381168114610ccd57600080fd5b919050565b600080600060608486031215610ce757600080fd5b83359250610cf760208501610cb6565b9150604084013590509250925092565b60008060408385031215610d1a57600080fd5b82359150610d2a60208401610cb6565b90509250929050565b60008060408385031215610d4657600080fd5b50508035926020909101359150565b600060208284031215610d6757600080fd5b610bec82610cb6565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715610dae57610dae610d70565b604052919050565b60006001600160401b03821115610dcf57610dcf610d70565b5060051b60200190565b600082601f830112610dea57600080fd5b81356020610dff610dfa83610db6565b610d86565b82815260059290921b84018101918181019086841115610e1e57600080fd5b8286015b84811015610e395780358352918301918301610e22565b509695505050505050565b60008060008060008060c08789031215610e5d57600080fd5b863595506020610e6e818901610cb6565b955060408801356001600160401b0380821115610e8a57600080fd5b818a0191508a601f830112610e9e57600080fd5b8135610eac610dfa82610db6565b81815260059190911b8301840190848101908d831115610ecb57600080fd5b938501935b82851015610ee957843582529385019390850190610ed0565b9850505060608a0135925080831115610f0157600080fd5b5050610f0f89828a01610dd9565b9350506080870135915060a087013590509295509295509295565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201610f6857610f68610f40565b5060010190565b808201808211156102d1576102d1610f40565b600060208284031215610f9457600080fd5b81518015158114610bec57600080fd5b6001600160a01b038681168252602080830187905260a060408401819052865190840181905260009287830192909160c0860190855b81811015610ff657855183529483019491830191600101610fda565b50508094505050856060850152808516608085015250509695505050505050565b60006020828403121561102957600080fd5b5051919050565b80820281158282048414176102d1576102d1610f40565b634e487b7160e01b600052601260045260246000fd5b60008261107a57634e487b7160e01b600052601260045260246000fd5b500490565b604080825283519082018190526000906020906060840190828701845b828110156110b85781518452928401929084019060010161109c565b5050508381038285015284518082528583019183019060005b818110156110ed578351835292840192918401916001016110d1565b5090979650505050505050565b818103818111156102d1576102d1610f4056fea2646970667358221220974410784d659e9fc21d684ad52a466d09b8528f72eb48873eb7678e90191b8964736f6c63430008140033",
  "linkReferences": {
    "contracts/x-allocation-voting-governance/libraries/FreshnessUtils.sol": {
      "FreshnessUtils": [
        {
          "length": 20,
          "start": 2197
        }
      ]
    }
  },
  "deployedLinkReferences": {
    "contracts/x-allocation-voting-governance/libraries/FreshnessUtils.sol": {
      "FreshnessUtils": [
        {
          "length": 20,
          "start": 2139
        }
      ]
    }
  }
}
