"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.XKlerosLiquidV2__factory = void 0;
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
const ethers_1 = require("ethers");
const _abi = [
    {
        inputs: [],
        name: "InvalidInitialization",
        type: "error",
    },
    {
        inputs: [],
        name: "NotInitializing",
        type: "error",
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: "contract IERC20",
                name: "_token",
                type: "address",
            },
            {
                indexed: true,
                internalType: "bool",
                name: "_accepted",
                type: "bool",
            },
        ],
        name: "AcceptedFeeToken",
        type: "event",
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: "uint256",
                name: "_disputeID",
                type: "uint256",
            },
            {
                indexed: true,
                internalType: "contract IArbitrableV2",
                name: "_arbitrable",
                type: "address",
            },
        ],
        name: "DisputeCreation",
        type: "event",
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: "address",
                name: "_address",
                type: "address",
            },
            {
                indexed: true,
                internalType: "uint256",
                name: "_disputeID",
                type: "uint256",
            },
            {
                indexed: false,
                internalType: "uint256",
                name: "_appeal",
                type: "uint256",
            },
            {
                indexed: false,
                internalType: "uint256",
                name: "_voteID",
                type: "uint256",
            },
        ],
        name: "Draw",
        type: "event",
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: "uint64",
                name: "version",
                type: "uint64",
            },
        ],
        name: "Initialized",
        type: "event",
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: "contract IERC20",
                name: "_feeToken",
                type: "address",
            },
            {
                indexed: false,
                internalType: "uint64",
                name: "_rateInEth",
                type: "uint64",
            },
            {
                indexed: false,
                internalType: "uint8",
                name: "_rateDecimals",
                type: "uint8",
            },
        ],
        name: "NewCurrencyRate",
        type: "event",
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: "uint256",
                name: "_disputeID",
                type: "uint256",
            },
            {
                indexed: false,
                internalType: "enum xKlerosLiquidV2.Period",
                name: "_period",
                type: "uint8",
            },
        ],
        name: "NewPeriod",
        type: "event",
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: "enum xKlerosLiquidV2.Phase",
                name: "_phase",
                type: "uint8",
            },
        ],
        name: "NewPhase",
        type: "event",
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: "contract IArbitrableV2",
                name: "_arbitrable",
                type: "address",
            },
            {
                indexed: true,
                internalType: "uint256",
                name: "_disputeID",
                type: "uint256",
            },
            {
                indexed: false,
                internalType: "uint256",
                name: "_ruling",
                type: "uint256",
            },
        ],
        name: "Ruling",
        type: "event",
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: "address",
                name: "_address",
                type: "address",
            },
            {
                indexed: false,
                internalType: "uint256",
                name: "_subcourtID",
                type: "uint256",
            },
            {
                indexed: false,
                internalType: "uint128",
                name: "_stake",
                type: "uint128",
            },
            {
                indexed: false,
                internalType: "uint256",
                name: "_newTotalStake",
                type: "uint256",
            },
        ],
        name: "StakeSet",
        type: "event",
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: "address",
                name: "_address",
                type: "address",
            },
            {
                indexed: true,
                internalType: "uint256",
                name: "_disputeID",
                type: "uint256",
            },
            {
                indexed: false,
                internalType: "int256",
                name: "_tokenAmount",
                type: "int256",
            },
            {
                indexed: false,
                internalType: "int256",
                name: "_ETHAmount",
                type: "int256",
            },
        ],
        name: "TokenAndETHShift",
        type: "event",
    },
    {
        inputs: [],
        name: "ALPHA_DIVISOR",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "DEFAULT_NB_OF_JURORS",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "MAX_STAKE_PATHS",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "NON_PAYABLE_AMOUNT",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "RN",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "RNBlock",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "RNGenerator",
        outputs: [
            {
                internalType: "contract IRandomAuRa",
                name: "",
                type: "address",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "bytes",
                name: "",
                type: "bytes",
            },
            {
                internalType: "contract IERC20",
                name: "",
                type: "address",
            },
        ],
        name: "arbitrationCost",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "pure",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "bytes",
                name: "_extraData",
                type: "bytes",
            },
        ],
        name: "arbitrationCost",
        outputs: [
            {
                internalType: "uint256",
                name: "cost",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "contract IForeignGateway",
                name: "_foreignGateway",
                type: "address",
            },
        ],
        name: "changeForeignGateway",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "_governor",
                type: "address",
            },
        ],
        name: "changeGovernor",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "uint256",
                name: "_maxDrawingTime",
                type: "uint256",
            },
        ],
        name: "changeMaxDrawingTime",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "uint256",
                name: "_minStakingTime",
                type: "uint256",
            },
        ],
        name: "changeMinStakingTime",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "contract WrappedPinakion",
                name: "_pinakion",
                type: "address",
            },
        ],
        name: "changePinakion",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "contract IRandomAuRa",
                name: "_RNGenerator",
                type: "address",
            },
        ],
        name: "changeRNGenerator",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "uint96",
                name: "_subcourtID",
                type: "uint96",
            },
            {
                internalType: "uint256",
                name: "_alpha",
                type: "uint256",
            },
        ],
        name: "changeSubcourtAlpha",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "uint96",
                name: "_subcourtID",
                type: "uint96",
            },
            {
                internalType: "uint256",
                name: "_feeForJuror",
                type: "uint256",
            },
        ],
        name: "changeSubcourtJurorFee",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "uint96",
                name: "_subcourtID",
                type: "uint96",
            },
            {
                internalType: "uint256",
                name: "_jurorsForCourtJump",
                type: "uint256",
            },
        ],
        name: "changeSubcourtJurorsForJump",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "uint96",
                name: "_subcourtID",
                type: "uint96",
            },
            {
                internalType: "uint256",
                name: "_minStake",
                type: "uint256",
            },
        ],
        name: "changeSubcourtMinStake",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "uint96",
                name: "_subcourtID",
                type: "uint96",
            },
            {
                internalType: "uint256[4]",
                name: "_timesPerPeriod",
                type: "uint256[4]",
            },
        ],
        name: "changeSubcourtTimesPerPeriod",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        name: "courts",
        outputs: [
            {
                internalType: "uint96",
                name: "parent",
                type: "uint96",
            },
            {
                internalType: "bool",
                name: "hiddenVotes",
                type: "bool",
            },
            {
                internalType: "uint256",
                name: "minStake",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "alpha",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "feeForJuror",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "jurorsForCourtJump",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "uint256",
                name: "_numberOfChoices",
                type: "uint256",
            },
            {
                internalType: "bytes",
                name: "_extraData",
                type: "bytes",
            },
        ],
        name: "createDispute",
        outputs: [
            {
                internalType: "uint256",
                name: "disputeID",
                type: "uint256",
            },
        ],
        stateMutability: "payable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
            {
                internalType: "bytes",
                name: "",
                type: "bytes",
            },
            {
                internalType: "contract IERC20",
                name: "",
                type: "address",
            },
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        name: "createDispute",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "uint96",
                name: "_parent",
                type: "uint96",
            },
            {
                internalType: "bool",
                name: "_hiddenVotes",
                type: "bool",
            },
            {
                internalType: "uint256",
                name: "_minStake",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "_alpha",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "_feeForJuror",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "_jurorsForCourtJump",
                type: "uint256",
            },
            {
                internalType: "uint256[4]",
                name: "_timesPerPeriod",
                type: "uint256[4]",
            },
            {
                internalType: "uint256",
                name: "_sortitionSumTreeK",
                type: "uint256",
            },
        ],
        name: "createSubcourt",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "uint256",
                name: "_disputeID",
                type: "uint256",
            },
        ],
        name: "currentRuling",
        outputs: [
            {
                internalType: "uint256",
                name: "ruling",
                type: "uint256",
            },
            {
                internalType: "bool",
                name: "tied",
                type: "bool",
            },
            {
                internalType: "bool",
                name: "",
                type: "bool",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        name: "delayedSetStakes",
        outputs: [
            {
                internalType: "address",
                name: "account",
                type: "address",
            },
            {
                internalType: "uint96",
                name: "subcourtID",
                type: "uint96",
            },
            {
                internalType: "uint128",
                name: "stake",
                type: "uint128",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "uint256",
                name: "disputeId",
                type: "uint256",
            },
        ],
        name: "disputes",
        outputs: [
            {
                internalType: "uint96",
                name: "subcourtID",
                type: "uint96",
            },
            {
                internalType: "contract IArbitrableV2",
                name: "arbitrated",
                type: "address",
            },
            {
                internalType: "uint256",
                name: "numberOfChoices",
                type: "uint256",
            },
            {
                internalType: "enum xKlerosLiquidV2.Period",
                name: "period",
                type: "uint8",
            },
            {
                internalType: "uint256",
                name: "lastPeriodChange",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "drawsInRound",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "commitsInRound",
                type: "uint256",
            },
            {
                internalType: "bool",
                name: "ruled",
                type: "bool",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "uint256",
                name: "disputeId",
                type: "uint256",
            },
        ],
        name: "disputesRuling",
        outputs: [
            {
                internalType: "uint256",
                name: "rulingId",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "disputesWithoutJurors",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "uint256",
                name: "_iterations",
                type: "uint256",
            },
        ],
        name: "executeDelayedSetStakes",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "_destination",
                type: "address",
            },
            {
                internalType: "uint256",
                name: "_amount",
                type: "uint256",
            },
            {
                internalType: "bytes",
                name: "_data",
                type: "bytes",
            },
        ],
        name: "executeGovernorProposal",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [],
        name: "foreignGateway",
        outputs: [
            {
                internalType: "contract IForeignGateway",
                name: "",
                type: "address",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "uint256",
                name: "_disputeID",
                type: "uint256",
            },
        ],
        name: "getDispute",
        outputs: [
            {
                internalType: "uint256[]",
                name: "votesLengths",
                type: "uint256[]",
            },
            {
                internalType: "uint256[]",
                name: "tokensAtStakePerJuror",
                type: "uint256[]",
            },
            {
                internalType: "uint256[]",
                name: "totalFeesForJurors",
                type: "uint256[]",
            },
            {
                internalType: "uint256[]",
                name: "votesInEachRound",
                type: "uint256[]",
            },
            {
                internalType: "uint256[]",
                name: "repartitionsInEachRound",
                type: "uint256[]",
            },
            {
                internalType: "uint256[]",
                name: "penaltiesInEachRound",
                type: "uint256[]",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "_account",
                type: "address",
            },
        ],
        name: "getJuror",
        outputs: [
            {
                internalType: "uint96[]",
                name: "subcourtIDs",
                type: "uint96[]",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "uint96",
                name: "_subcourtID",
                type: "uint96",
            },
        ],
        name: "getSubcourt",
        outputs: [
            {
                internalType: "uint256[]",
                name: "children",
                type: "uint256[]",
            },
            {
                internalType: "uint256[4]",
                name: "timesPerPeriod",
                type: "uint256[4]",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "uint256",
                name: "_disputeID",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "_appeal",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "_voteID",
                type: "uint256",
            },
        ],
        name: "getVote",
        outputs: [
            {
                internalType: "address",
                name: "account",
                type: "address",
            },
            {
                internalType: "bytes32",
                name: "commit",
                type: "bytes32",
            },
            {
                internalType: "uint256",
                name: "choice",
                type: "uint256",
            },
            {
                internalType: "bool",
                name: "voted",
                type: "bool",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "uint256",
                name: "_disputeID",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "_appeal",
                type: "uint256",
            },
        ],
        name: "getVoteCounter",
        outputs: [
            {
                internalType: "uint256",
                name: "winningChoice",
                type: "uint256",
            },
            {
                internalType: "uint256[]",
                name: "counts",
                type: "uint256[]",
            },
            {
                internalType: "bool",
                name: "tied",
                type: "bool",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "governor",
        outputs: [
            {
                internalType: "address",
                name: "",
                type: "address",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "_governor",
                type: "address",
            },
            {
                internalType: "contract WrappedPinakion",
                name: "_pinakion",
                type: "address",
            },
            {
                internalType: "contract IRandomAuRa",
                name: "_RNGenerator",
                type: "address",
            },
            {
                internalType: "uint256",
                name: "_minStakingTime",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "_maxDrawingTime",
                type: "uint256",
            },
            {
                internalType: "bool",
                name: "_hiddenVotes",
                type: "bool",
            },
            {
                internalType: "uint256[4]",
                name: "_courtParameters",
                type: "uint256[4]",
            },
            {
                internalType: "uint256[4]",
                name: "_timesPerPeriod",
                type: "uint256[4]",
            },
            {
                internalType: "uint256",
                name: "_sortitionSumTreeK",
                type: "uint256",
            },
            {
                internalType: "contract IForeignGateway",
                name: "_foreignGateway",
                type: "address",
            },
        ],
        name: "initialize",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "account",
                type: "address",
            },
        ],
        name: "jurors",
        outputs: [
            {
                internalType: "uint256",
                name: "stakedTokens",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "lockedTokens",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "lastDelayedSetStake",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "lastPhaseChange",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "lockInsolventTransfers",
        outputs: [
            {
                internalType: "bool",
                name: "",
                type: "bool",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "maxDrawingTime",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "minStakingTime",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "nextDelayedSetStake",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "_owner",
                type: "address",
            },
            {
                internalType: "address",
                name: "_spender",
                type: "address",
            },
            {
                internalType: "uint256",
                name: "_amount",
                type: "uint256",
            },
        ],
        name: "onApprove",
        outputs: [
            {
                internalType: "bool",
                name: "allowed",
                type: "bool",
            },
        ],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "_from",
                type: "address",
            },
            {
                internalType: "address",
                name: "_to",
                type: "address",
            },
            {
                internalType: "uint256",
                name: "_amount",
                type: "uint256",
            },
        ],
        name: "onTransfer",
        outputs: [
            {
                internalType: "bool",
                name: "allowed",
                type: "bool",
            },
        ],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [],
        name: "phase",
        outputs: [
            {
                internalType: "enum xKlerosLiquidV2.Phase",
                name: "",
                type: "uint8",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "pinakion",
        outputs: [
            {
                internalType: "contract WrappedPinakion",
                name: "",
                type: "address",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "_owner",
                type: "address",
            },
        ],
        name: "proxyPayment",
        outputs: [
            {
                internalType: "bool",
                name: "allowed",
                type: "bool",
            },
        ],
        stateMutability: "payable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "uint256",
                name: "_disputeID",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "_ruling",
                type: "uint256",
            },
        ],
        name: "rule",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "uint96",
                name: "_subcourtID",
                type: "uint96",
            },
            {
                internalType: "uint128",
                name: "_stake",
                type: "uint128",
            },
        ],
        name: "setStake",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "_account",
                type: "address",
            },
            {
                internalType: "uint96",
                name: "_subcourtID",
                type: "uint96",
            },
        ],
        name: "stakeOf",
        outputs: [
            {
                internalType: "uint256",
                name: "stake",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "totalDisputes",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
];
const _bytecode = " $9b1aa2a5defb7a13dc220b13d2e6a83a6b$ $9b1aa2a5defb7a13dc220b13d2e6a83a6b$__637521ccb1600b6001600160601b038516611b0e87876129c2565b6040516001600160e01b031960e086901b168152600481019390935260248301919091526044820152606401602060405180830381865af4158015611b57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b7b9190613366565b90505b92915050565b6000546001600160a01b03163314611b9b57600080fd5b80600a836001600160601b031681548110611bb857611bb8613350565b90600052602060002090600b0201600601819055505050565b6000611bdc82612452565b341015611c2b5760405162461bcd60e51b815260206004820152601c60248201527f4172626974726174696f6e20666565733a206e6f7420656e6f756768000000006044820152606401610cc4565b60108054906000611c3b836133d2565b909155506000818152600f6020526040812080546001600160601b031633600160601b0217815591925080611c6f85612a0a565b90925090506000611c818360016133eb565b604080516001600160601b03929092166020830152810183905260600160408051601f198184030181529082905260125463c13517e160e01b83529092506001600160a01b03169063c13517e1903490611ce1908b90869060040161343e565b60206040518083038185885af1158015611cff573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611d249190613366565b50604051339086907f141dfc18aa6a56fc816f44f0e9e2f1ebc92b15ab167770e17db5b084c10ed99590600090a35050505092915050565b6000546001600160a01b03163314611d7357600080fd5b85600a896001600160601b031681548110611d9057611d90613350565b90600052602060002090600b0201600301541115611e265760405162461bcd60e51b815260206004820152604760248201527f4120737562636f7572742063616e6e6f742062652061206368696c64206f662060448201527f6120737562636f7572742077697468206120686967686572206d696e696d756d6064820152661039ba30b5b29760c91b608482015260a401610cc4565b600a805460018101825560009182527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8600b82020180546001600160601b0319166001600160601b038c161781559091604051908082528060200260200182016040528015611e9f578160200160208202803683370190505b508051611eb6916001840191602090910190612a56565b5060028101805460ff19168a15151790556003810188905560048082018890556005820187905560068201869055611ef49060078301908690612aa1565b5060405163483abc4f60e11b8152600b6004820152602481018390526044810184905273__$9b1aa2a5defb7a13dc220b13d2e6a83a6b$__90639075789e9060640160006040518083038186803b158015611f4e57600080fd5b505af4158015611f62573d6000803e3d6000fd5b50505050600a8a6001600160601b031681548110611f8257611f82613350565b600091825260208083206001600b9093020182018054928301815583529091200191909155505050505050505050565b6001600160a01b0381166000908152601160209081526040918290208054835181840281018401909452808452606093919283919083018282801561204857602002820191906000526020600020906000905b82829054906101000a90046001600160601b03166001600160601b0316815260200190600c0190602082600b010492830192600103820291508084116120055790505b5050505050915050919050565b60405162461bcd60e51b815260206004820152600d60248201526c139bdd081cdd5c1c1bdc9d1959609a1b6044820152600090606401610cc4565b6000546001600160a01b031633146120a757600080fd5b600855565b6000818152600f602052604090206004810154606091829182918291829182916001600160401b038111156120e3576120e3612b97565b60405190808252806020026020018201604052801561210c578160200160208202803683370190505b50965060005b60048201548110156121665781600401818154811061213357612133613350565b906000526020600020018054905088828151811061215357612153613350565b6020908102919091010152600101612112565b50806006018054806020026020016040519081016040528092919081815260200182805480156121b557602002820191906000526020600020905b8154815260200190600101908083116121a1575b505050505095508060070180548060200260200160405190810160405280929190818152602001828054801561220a57602002820191906000526020600020905b8154815260200190600101908083116121f6575b5050505050945080600a0180548060200260200160405190810160405280929190818152602001828054801561225f57602002820191906000526020600020905b81548152602001906001019080831161224b575b5050505050935080600b018054806020026020016040519081016040528092919081815260200182805480156122b457602002820191906000526020600020905b8154815260200190600101908083116122a0575b5050505050925080600c0180548060200260200160405190810160405280929190818152602001828054801561230957602002820191906000526020600020905b8154815260200190600101908083116122f5575b505050505091505091939550919395565b6000828152600f60205260408120600581018054606092849290918391908790811061234857612348613350565b90600052602060002090600302019050806000015494508160010154600161237091906133bf565b6001600160401b0381111561238757612387612b97565b6040519080825280602002602001820160405280156123b0578160200160208202803683370190505b50935060005b8260010154811161240357600081815260018301602052604090205485518690839081106123e6576123e6613350565b6020908102919091010152806123fb816133d2565b9150506123b6565b506002015493969295505060ff90921692509050565b6000546001600160a01b0316331461243057600080fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b60125460405163f7434ea960e01b81526000916001600160a01b03169063f7434ea990612483908590600401613457565b602060405180830381865afa1580156124a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b7e9190613366565b600a546000906001600160601b038416106124e1575060006115be565b6001600160801b038216158061252d5750816001600160801b0316600a846001600160601b03168154811061251857612518613350565b90600052602060002090600b02016003015411155b612539575060006115be565b6001600160a01b03841660009081526011602052604081209061255c86866129c2565b604051637521ccb160e01b8152600b60048201526001600160601b03871660248201526044810182905290915060009073__$9b1aa2a5defb7a13dc220b13d2e6a83a6b$__90637521ccb190606401602060405180830381865af41580156125c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ec9190613366565b90506001600160801b03851615806126045750600081115b80612610575082546004115b61262057600093505050506115be565b6000856001600160801b031682856001015461263c919061333d565b61264691906133bf565b90506001600160801b03861615806126cd57506001546040516370a0823160e01b815282916001600160a01b0316906370a0823190612689908c90600401612b4c565b602060405180830381865afa1580156126a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126ca9190613366565b10155b6126de5760009450505050506115be565b600184018190556001600160801b03861660000361283b5760005b845481101561283557876001600160601b031685600001828154811061272157612721613350565b600091825260209091206002820401546001909116600c026101000a90046001600160601b03160361282d578454859061275d9060019061333d565b8154811061276d5761276d613350565b9060005260206000209060029182820401919006600c029054906101000a90046001600160601b03168560000182815481106127ab576127ab613350565b9060005260206000209060029182820401919006600c026101000a8154816001600160601b0302191690836001600160601b03160217905550846000018054806127f7576127f761346a565b60008281526020902060026000199092019182040180546001600160601b03600c60018516026101000a02191690559055612835565b6001016126f9565b5061287e565b8160000361287e578354600180820186556000868152602090206002830401805491909216600c026101000a6001600160601b0381810219909216918a16021790555b60006001600160601b0388165b8161295557604051631712e1c560e11b8152600b6004820152602481018290526001600160801b03891660448201526064810186905273__$9b1aa2a5defb7a13dc220b13d2e6a83a6b$ ";
const isSuperArgs = (xs) => {
    return (typeof xs[0] === "string" ||
        Array.isArray(xs[0]) ||
        "_isInterface" in xs[0]);
};
class XKlerosLiquidV2__factory extends ethers_1.ContractFactory {
    constructor(...args) {
        if (isSuperArgs(args)) {
            super(...args);
        }
        else {
            const [linkLibraryAddresses, signer] = args;
            super(_abi, XKlerosLiquidV2__factory.linkBytecode(linkLibraryAddresses), signer);
        }
    }
    static linkBytecode(linkLibraryAddresses) {
        let linkedBytecode = _bytecode;
        linkedBytecode = linkedBytecode.replace(new RegExp("__\\$9b1aa2a5defb7a13dc220b13d2e6a83a6b\\$__", "g"), linkLibraryAddresses["src/libraries/SortitionSumTreeFactory.sol:SortitionSumTreeFactory"]
            .replace(/^0x/, "")
            .toLowerCase());
        return linkedBytecode;
    }
    getDeployTransaction(overrides) {
        return super.getDeployTransaction(overrides || {});
    }
    deploy(overrides) {
        return super.deploy(overrides || {});
    }
    connect(runner) {
        return super.connect(runner);
    }
    static bytecode = _bytecode;
    static abi = _abi;
    static createInterface() {
        return new ethers_1.Interface(_abi);
    }
    static connect(address, runner) {
        return new ethers_1.Contract(address, _abi, runner);
    }
}
exports.XKlerosLiquidV2__factory = XKlerosLiquidV2__factory;
