{
  "_format": "hh3-artifact-1",
  "contractName": "ZKTranscriptLib",
  "sourceName": "contracts/verifiers/bfv/honk/DecryptionAggregatorVerifier.sol",
  "abi": [
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "Fr[16]",
              "name": "pairingPointObject",
              "type": "uint256[16]"
            },
            {
              "components": [
                {
                  "internalType": "uint256",
                  "name": "x",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "y",
                  "type": "uint256"
                }
              ],
              "internalType": "struct Honk.G1Point",
              "name": "geminiMaskingPoly",
              "type": "tuple"
            },
            {
              "components": [
                {
                  "internalType": "uint256",
                  "name": "x",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "y",
                  "type": "uint256"
                }
              ],
              "internalType": "struct Honk.G1Point",
              "name": "w1",
              "type": "tuple"
            },
            {
              "components": [
                {
                  "internalType": "uint256",
                  "name": "x",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "y",
                  "type": "uint256"
                }
              ],
              "internalType": "struct Honk.G1Point",
              "name": "w2",
              "type": "tuple"
            },
            {
              "components": [
                {
                  "internalType": "uint256",
                  "name": "x",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "y",
                  "type": "uint256"
                }
              ],
              "internalType": "struct Honk.G1Point",
              "name": "w3",
              "type": "tuple"
            },
            {
              "components": [
                {
                  "internalType": "uint256",
                  "name": "x",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "y",
                  "type": "uint256"
                }
              ],
              "internalType": "struct Honk.G1Point",
              "name": "w4",
              "type": "tuple"
            },
            {
              "components": [
                {
                  "internalType": "uint256",
                  "name": "x",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "y",
                  "type": "uint256"
                }
              ],
              "internalType": "struct Honk.G1Point",
              "name": "lookupReadCounts",
              "type": "tuple"
            },
            {
              "components": [
                {
                  "internalType": "uint256",
                  "name": "x",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "y",
                  "type": "uint256"
                }
              ],
              "internalType": "struct Honk.G1Point",
              "name": "lookupReadTags",
              "type": "tuple"
            },
            {
              "components": [
                {
                  "internalType": "uint256",
                  "name": "x",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "y",
                  "type": "uint256"
                }
              ],
              "internalType": "struct Honk.G1Point",
              "name": "lookupInverses",
              "type": "tuple"
            },
            {
              "components": [
                {
                  "internalType": "uint256",
                  "name": "x",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "y",
                  "type": "uint256"
                }
              ],
              "internalType": "struct Honk.G1Point",
              "name": "zPerm",
              "type": "tuple"
            },
            {
              "components": [
                {
                  "internalType": "uint256",
                  "name": "x",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "y",
                  "type": "uint256"
                }
              ],
              "internalType": "struct Honk.G1Point[3]",
              "name": "libraCommitments",
              "type": "tuple[3]"
            },
            {
              "internalType": "Fr",
              "name": "libraSum",
              "type": "uint256"
            },
            {
              "internalType": "Fr[9][28]",
              "name": "sumcheckUnivariates",
              "type": "uint256[9][28]"
            },
            {
              "internalType": "Fr",
              "name": "libraEvaluation",
              "type": "uint256"
            },
            {
              "internalType": "Fr[42]",
              "name": "sumcheckEvaluations",
              "type": "uint256[42]"
            },
            {
              "components": [
                {
                  "internalType": "uint256",
                  "name": "x",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "y",
                  "type": "uint256"
                }
              ],
              "internalType": "struct Honk.G1Point[27]",
              "name": "geminiFoldComms",
              "type": "tuple[27]"
            },
            {
              "internalType": "Fr[28]",
              "name": "geminiAEvaluations",
              "type": "uint256[28]"
            },
            {
              "internalType": "Fr[4]",
              "name": "libraPolyEvals",
              "type": "uint256[4]"
            },
            {
              "components": [
                {
                  "internalType": "uint256",
                  "name": "x",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "y",
                  "type": "uint256"
                }
              ],
              "internalType": "struct Honk.G1Point",
              "name": "shplonkQ",
              "type": "tuple"
            },
            {
              "components": [
                {
                  "internalType": "uint256",
                  "name": "x",
                  "type": "uint256"
                },
                {
                  "internalType": "uint256",
                  "name": "y",
                  "type": "uint256"
                }
              ],
              "internalType": "struct Honk.G1Point",
              "name": "kzgQuotient",
              "type": "tuple"
            }
          ],
          "internalType": "struct Honk.ZKProof",
          "name": "proof",
          "type": "tuple"
        },
        {
          "internalType": "bytes32[]",
          "name": "publicInputs",
          "type": "bytes32[]"
        },
        {
          "internalType": "uint256",
          "name": "vkHash",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "publicInputsSize",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "logN",
          "type": "uint256"
        }
      ],
      "name": "generateTranscript",
      "outputs": [
        {
          "components": [
            {
              "components": [
                {
                  "internalType": "Fr",
                  "name": "eta",
                  "type": "uint256"
                },
                {
                  "internalType": "Fr",
                  "name": "etaTwo",
                  "type": "uint256"
                },
                {
                  "internalType": "Fr",
                  "name": "etaThree",
                  "type": "uint256"
                },
                {
                  "internalType": "Fr",
                  "name": "beta",
                  "type": "uint256"
                },
                {
                  "internalType": "Fr",
                  "name": "gamma",
                  "type": "uint256"
                },
                {
                  "internalType": "Fr",
                  "name": "publicInputsDelta",
                  "type": "uint256"
                }
              ],
              "internalType": "struct Honk.RelationParameters",
              "name": "relationParameters",
              "type": "tuple"
            },
            {
              "internalType": "Fr[27]",
              "name": "alphas",
              "type": "uint256[27]"
            },
            {
              "internalType": "Fr[28]",
              "name": "gateChallenges",
              "type": "uint256[28]"
            },
            {
              "internalType": "Fr",
              "name": "libraChallenge",
              "type": "uint256"
            },
            {
              "internalType": "Fr[28]",
              "name": "sumCheckUChallenges",
              "type": "uint256[28]"
            },
            {
              "internalType": "Fr",
              "name": "rho",
              "type": "uint256"
            },
            {
              "internalType": "Fr",
              "name": "geminiR",
              "type": "uint256"
            },
            {
              "internalType": "Fr",
              "name": "shplonkNu",
              "type": "uint256"
            },
            {
              "internalType": "Fr",
              "name": "shplonkZ",
              "type": "uint256"
            },
            {
              "internalType": "Fr",
              "name": "publicInputsDelta",
              "type": "uint256"
            }
          ],
          "internalType": "struct ZKTranscript",
          "name": "t",
          "type": "tuple"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    }
  ],
  "bytecode": "0x611750610039600b82828239805160001a607314602c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063995bf4571461003a575b600080fd5b61004d61004836600461123d565b610063565b60405161005a919061147b565b60405180910390f35b61006b610d6f565b600061007b88888888888661012b565b908352905061008a8189610180565b6020840191909152905061009e8184610272565b604084019190915290506100b2818961031c565b606084019190915290506100c788828561037e565b608084019190915290506100db888261044f565b60a084019190915290506100f08882856105d6565b60c0840191909152905061010588828561074c565b60e0840191909152905061011988826108d1565b50610100830152509695505050505050565b610133610dda565b6000610142888888888861090f565b6040860191909152602085019190915290835292506101618389610c83565b6080850191909152606084019190915291989197509095505050505050565b610188610e10565b6000610192610e2f565b8481526101008401805151602080840191909152905181015160408084019190915261012086018051516060850152518201516080840152516101f6916101db91849101611552565b60405160208183030381529060405280519060200120610d0d565b9150600061020383610d21565b50808552905060015b6102186001601c61159c565b811015610268576102498561022e60018461159c565b601b811061023e5761023e61153c565b602002015183610d52565b8582601b811061025b5761025b61153c565b602002015260010161020c565b5050509250929050565b61027a610e4d565b6000610292846040516020016101db91815260200190565b935061029d84610d21565b50825260015b83811015610314576102f5836102ba60018461159c565b601c81106102ca576102ca61153c565b6020020151846102db60018561159c565b601c81106102eb576102eb61153c565b6020020151610d52565b8382601c81106103075761030761153c565b60200201526001016102a3565b509093915050565b600080610327610e6c565b848152610140840180515151602080840191909152905151810151604080840191909152610160860151606084015251610367916101db918491016115af565b915061037282610d21565b50959194509092505050565b610386610e4d565b6000805b838110156104455761039a610e8a565b85815260005b60098110156104045787610180015183601c81106103c0576103c061153c565b602002015181600981106103d6576103d661153c565b6020020151826103e78360016115e3565b600a81106103f7576103f761153c565b60200201526001016103a0565b50610419816040516020016101db91906115f6565b955061042486610d21565b508483601c81106104375761043761153c565b60200201525060010161038a565b5090949293505050565b60008061045a610ea9565b83815260015b61046c600160296115e3565b81116104c1576101c086015161048360018361159c565b602a81106104935761049361153c565b60200201518282603081106104aa576104aa61153c565b6020020152806104b98161162b565b915050610460565b856101a001518282603081106104d9576104d961153c565b60200201526104e96001826115e3565b61014087015160200151519091508282603081106105095761050961153c565b602002015261014086015160016020020151602001518282600161052d91906115e3565b6030811061053d5761053d61153c565b602002015261054d6002826115e3565b610140870151604001515190915082826030811061056d5761056d61153c565b602002015261014086015160026020020151602001518282600161059191906115e3565b603081106105a1576105a161153c565b6020020181815250506105be826040516020016101db9190611644565b92506105c983610d21565b5096929550919350505050565b600080806105e560018561159c565b6105f0906002611679565b6105fb9060016115e3565b6001600160401b0381111561061257610612610f04565b60405190808252806020026020018201604052801561063b578160200160208202803683370190505b50905084816000815181106106525761065261153c565b60200260200101818152505060005b61066c60018661159c565b81101561071f57866101e0015181601b811061068a5761068a61153c565b6020020151518261069c836002611679565b6106a79060016115e3565b815181106106b7576106b761153c565b602002602001018181525050866101e0015181601b81106106da576106da61153c565b602002015160200151828260026106f19190611679565b6106fc9060026115e3565b8151811061070c5761070c61153c565b6020908102919091010152600101610661565b50610734816040516020016101db9190611690565b915061073f82610d21565b5096919550909350505050565b6000808061075b8460016115e3565b6107669060046115e3565b6001600160401b0381111561077d5761077d610f04565b6040519080825280602002602001820160405280156107a6578160200160208202803683370190505b50905084816000815181106107bd576107bd61153c565b602090810291909101015260015b848111610827576102008701516107e360018361159c565b601c81106107f3576107f361153c565b602002015182828151811061080a5761080a61153c565b60209081029190910101528061081f8161162b565b9150506107cb565b506000806108368660016115e3565b90505b6108448660046115e3565b81116108a35787610220015182600481106108615761086161153c565b60200201518382815181106108785761087861153c565b60209081029190910101528161088d8161162b565b925050808061089b9061162b565b915050610839565b506108b8826040516020016101db9190611690565b92506108c383610d21565b509792965091945050505050565b6000806108dc610ec8565b8381526102408501805151602080840191909152905181015160408084019190915251610367916101db918491016116bb565b6000808080806109208660016115e3565b61092b9060086115e3565b6001600160401b0381111561094257610942610f04565b60405190808252806020026020018201604052801561096b578160200160208202803683370190505b5090508660001b816000815181106109855761098561153c565b60200260200101818152505060005b61099f60108861159c565b8110156109f0578989828181106109b8576109b861153c565b90506020020135828260016109cd91906115e3565b815181106109dd576109dd61153c565b6020908102919091010152600101610994565b5060005b6010811015610a62578a51610a1c908260108110610a1457610a1461153c565b602002015190565b82826010610a2b8b60016115e3565b610a35919061159c565b610a3f91906115e3565b81518110610a4f57610a4f61153c565b60209081029190910101526001016109f4565b5060208a01515181610a758860016115e3565b81518110610a8557610a8561153c565b6020908102919091018101919091528a810151015181610aa68860016115e3565b610ab19060016115e3565b81518110610ac157610ac161153c565b602090810291909101015260408a01515181610ade8860016115e3565b610ae99060026115e3565b81518110610af957610af961153c565b60209081029190910181019190915260408b0151015181610b1b8860016115e3565b610b269060036115e3565b81518110610b3657610b3661153c565b602090810291909101015260608a01515181610b538860016115e3565b610b5e9060046115e3565b81518110610b6e57610b6e61153c565b60209081029190910181019190915260608b0151015181610b908860016115e3565b610b9b9060056115e3565b81518110610bab57610bab61153c565b602090810291909101015260808a01515181610bc88860016115e3565b610bd39060066115e3565b81518110610be357610be361153c565b60209081029190910181019190915260808b0151015181610c058860016115e3565b610c109060076115e3565b81518110610c2057610c2061153c565b602002602001018181525050610c40816040516020016101db9190611690565b9150610c4b82610d21565b6040805160208101869052929750909550610c6691016101db565b9150610c7182610d21565b50809350505095509550955095915050565b6000806000610c90610ee6565b85815260c0858101805151602080850191909152905181015160408085019190915260e08801805151606086015251820151608085015260a08089018051519186019190915251820151928401929092529051610cf3916101db918491016116ef565b9150610cfe82610d21565b90979096509194509092505050565b600080516020611724833981519152900690565b6000808260016001607f1b038116607f82901c610d3d82610d0d565b9450610d4881610d0d565b9350505050915091565b600060008051602061172483398151915282840990505b92915050565b604051806101400160405280610d83610dda565b8152602001610d90610e10565b8152602001610d9d610e4d565b815260200160008152602001610db1610e4d565b815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051806103600160405280601b906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b60405180608001604052806004906020820280368337509192915050565b604051806101400160405280600a906020820280368337509192915050565b6040518061060001604052806030906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b634e487b7160e01b600052604160045260246000fd5b60405161028081016001600160401b0381118282101715610f3d57610f3d610f04565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610f6b57610f6b610f04565b604052919050565b600082601f830112610f8457600080fd5b6000610200610f9281610f43565b915083018185821115610fa457600080fd5b845b82811015610fbe578035825260209182019101610fa6565b509195945050505050565b600060408284031215610fdb57600080fd5b604080519081016001600160401b0381118282101715610ffd57610ffd610f04565b604052823581526020928301359281019290925250919050565b600082601f83011261102857600080fd5b60006110346060610f43565b90508060c084018581111561104857600080fd5b845b81811015610fbe5761105c8782610fc9565b835260209092019160400161104a565b600082601f83011261107d57600080fd5b61038061108981610f43565b905080611f8084018581111561109e57600080fd5b845b818110156111055786601f8201126110b757600080fd5b60006101206110c581610f43565b9150820181898211156110d757600080fd5b835b828110156110f15780358252602091820191016110d9565b5050508452602090930192610120016110a0565b509095945050505050565b600082601f83011261112157600080fd5b6000610540610f9281610f43565b600082601f83011261114057600080fd5b600061036061114e81610f43565b915050806106c084018581111561116457600080fd5b845b81811015610fbe576111788782610fc9565b8352602090920191604001611166565b600082601f83011261119957600080fd5b6000610380610f9281610f43565b600082601f8301126111b857600080fd5b60006111c46080610f43565b90508060808401858111156111d857600080fd5b845b81811015610fbe5780358352602092830192016111da565b60008083601f84011261120457600080fd5b5081356001600160401b0381111561121b57600080fd5b6020830191508360208260051b850101111561123657600080fd5b9250929050565b6000806000806000808688036135c081121561125857600080fd5b61354081121561126757600080fd5b50611270610f1a565b61127a8989610f73565b815261128a896102008a01610fc9565b602082015261129d896102408a01610fc9565b60408201526112b0896102808a01610fc9565b60608201526112c3896102c08a01610fc9565b60808201526112d6896103008a01610fc9565b60a08201526112e9896103408a01610fc9565b60c08201526112fc896103808a01610fc9565b60e082015261130f896103c08a01610fc9565b610100820152611323896104008a01610fc9565b610120820152611337896104408a01611017565b610140820152610500880135610160820152611357896105208a0161106c565b6101808201526124a08801356101a0820152611377896124c08a01611110565b6101c082015261138b89612a008a0161112f565b6101e082015261139f896130c08a01611188565b6102008201526113b3896134408a016111a7565b6102208201526113c7896134c08a01610fc9565b6102408201526113db896135008a01610fc9565b61026082015295506135408701356001600160401b038111156113fd57600080fd5b61140989828a016111f2565b979a90995096976135608101359761358082013597506135a09091013595509350505050565b8060005b601b811015611452578151845260209384019390910190600101611433565b50505050565b8060005b601c81101561145257815184526020938401939091019060010161145c565b8151805182526020808201519083015260408082015190830152606080820151908301526080808201519083015260a09081015190820152610be0810160208301516114ca60c084018261142f565b5060408301516114de610420840182611458565b5060608301516107a083015260808301516114fd6107c0840182611458565b5060a0830151610b4083015260c0830151610b6083015260e0830151610b80830152610100830151610ba083015261012090920151610bc09091015290565b634e487b7160e01b600052603260045260246000fd5b60008183825b6005811015611577578151835260209283019290910190600101611558565b50505060a08201905092915050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610d6957610d69611586565b60008183825b60048110156115d45781518352602092830192909101906001016115b5565b50505060808201905092915050565b80820180821115610d6957610d69611586565b60008183825b600a81101561161b5781518352602092830192909101906001016115fc565b5050506101408201905092915050565b60006001820161163d5761163d611586565b5060010190565b60008183825b603081101561166957815183526020928301929091019060010161164a565b5050506106008201905092915050565b8082028115828204841417610d6957610d69611586565b8151600090829060208501835b82811015610fbe57815184526020938401939091019060010161169d565b60008183825b60038110156116e05781518352602092830192909101906001016116c1565b50505060608201905092915050565b60008183825b60078110156117145781518352602092830192909101906001016116f5565b50505060e0820190509291505056fe30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a164736f6c634300081c000a",
  "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063995bf4571461003a575b600080fd5b61004d61004836600461123d565b610063565b60405161005a919061147b565b60405180910390f35b61006b610d6f565b600061007b88888888888661012b565b908352905061008a8189610180565b6020840191909152905061009e8184610272565b604084019190915290506100b2818961031c565b606084019190915290506100c788828561037e565b608084019190915290506100db888261044f565b60a084019190915290506100f08882856105d6565b60c0840191909152905061010588828561074c565b60e0840191909152905061011988826108d1565b50610100830152509695505050505050565b610133610dda565b6000610142888888888861090f565b6040860191909152602085019190915290835292506101618389610c83565b6080850191909152606084019190915291989197509095505050505050565b610188610e10565b6000610192610e2f565b8481526101008401805151602080840191909152905181015160408084019190915261012086018051516060850152518201516080840152516101f6916101db91849101611552565b60405160208183030381529060405280519060200120610d0d565b9150600061020383610d21565b50808552905060015b6102186001601c61159c565b811015610268576102498561022e60018461159c565b601b811061023e5761023e61153c565b602002015183610d52565b8582601b811061025b5761025b61153c565b602002015260010161020c565b5050509250929050565b61027a610e4d565b6000610292846040516020016101db91815260200190565b935061029d84610d21565b50825260015b83811015610314576102f5836102ba60018461159c565b601c81106102ca576102ca61153c565b6020020151846102db60018561159c565b601c81106102eb576102eb61153c565b6020020151610d52565b8382601c81106103075761030761153c565b60200201526001016102a3565b509093915050565b600080610327610e6c565b848152610140840180515151602080840191909152905151810151604080840191909152610160860151606084015251610367916101db918491016115af565b915061037282610d21565b50959194509092505050565b610386610e4d565b6000805b838110156104455761039a610e8a565b85815260005b60098110156104045787610180015183601c81106103c0576103c061153c565b602002015181600981106103d6576103d661153c565b6020020151826103e78360016115e3565b600a81106103f7576103f761153c565b60200201526001016103a0565b50610419816040516020016101db91906115f6565b955061042486610d21565b508483601c81106104375761043761153c565b60200201525060010161038a565b5090949293505050565b60008061045a610ea9565b83815260015b61046c600160296115e3565b81116104c1576101c086015161048360018361159c565b602a81106104935761049361153c565b60200201518282603081106104aa576104aa61153c565b6020020152806104b98161162b565b915050610460565b856101a001518282603081106104d9576104d961153c565b60200201526104e96001826115e3565b61014087015160200151519091508282603081106105095761050961153c565b602002015261014086015160016020020151602001518282600161052d91906115e3565b6030811061053d5761053d61153c565b602002015261054d6002826115e3565b610140870151604001515190915082826030811061056d5761056d61153c565b602002015261014086015160026020020151602001518282600161059191906115e3565b603081106105a1576105a161153c565b6020020181815250506105be826040516020016101db9190611644565b92506105c983610d21565b5096929550919350505050565b600080806105e560018561159c565b6105f0906002611679565b6105fb9060016115e3565b6001600160401b0381111561061257610612610f04565b60405190808252806020026020018201604052801561063b578160200160208202803683370190505b50905084816000815181106106525761065261153c565b60200260200101818152505060005b61066c60018661159c565b81101561071f57866101e0015181601b811061068a5761068a61153c565b6020020151518261069c836002611679565b6106a79060016115e3565b815181106106b7576106b761153c565b602002602001018181525050866101e0015181601b81106106da576106da61153c565b602002015160200151828260026106f19190611679565b6106fc9060026115e3565b8151811061070c5761070c61153c565b6020908102919091010152600101610661565b50610734816040516020016101db9190611690565b915061073f82610d21565b5096919550909350505050565b6000808061075b8460016115e3565b6107669060046115e3565b6001600160401b0381111561077d5761077d610f04565b6040519080825280602002602001820160405280156107a6578160200160208202803683370190505b50905084816000815181106107bd576107bd61153c565b602090810291909101015260015b848111610827576102008701516107e360018361159c565b601c81106107f3576107f361153c565b602002015182828151811061080a5761080a61153c565b60209081029190910101528061081f8161162b565b9150506107cb565b506000806108368660016115e3565b90505b6108448660046115e3565b81116108a35787610220015182600481106108615761086161153c565b60200201518382815181106108785761087861153c565b60209081029190910101528161088d8161162b565b925050808061089b9061162b565b915050610839565b506108b8826040516020016101db9190611690565b92506108c383610d21565b509792965091945050505050565b6000806108dc610ec8565b8381526102408501805151602080840191909152905181015160408084019190915251610367916101db918491016116bb565b6000808080806109208660016115e3565b61092b9060086115e3565b6001600160401b0381111561094257610942610f04565b60405190808252806020026020018201604052801561096b578160200160208202803683370190505b5090508660001b816000815181106109855761098561153c565b60200260200101818152505060005b61099f60108861159c565b8110156109f0578989828181106109b8576109b861153c565b90506020020135828260016109cd91906115e3565b815181106109dd576109dd61153c565b6020908102919091010152600101610994565b5060005b6010811015610a62578a51610a1c908260108110610a1457610a1461153c565b602002015190565b82826010610a2b8b60016115e3565b610a35919061159c565b610a3f91906115e3565b81518110610a4f57610a4f61153c565b60209081029190910101526001016109f4565b5060208a01515181610a758860016115e3565b81518110610a8557610a8561153c565b6020908102919091018101919091528a810151015181610aa68860016115e3565b610ab19060016115e3565b81518110610ac157610ac161153c565b602090810291909101015260408a01515181610ade8860016115e3565b610ae99060026115e3565b81518110610af957610af961153c565b60209081029190910181019190915260408b0151015181610b1b8860016115e3565b610b269060036115e3565b81518110610b3657610b3661153c565b602090810291909101015260608a01515181610b538860016115e3565b610b5e9060046115e3565b81518110610b6e57610b6e61153c565b60209081029190910181019190915260608b0151015181610b908860016115e3565b610b9b9060056115e3565b81518110610bab57610bab61153c565b602090810291909101015260808a01515181610bc88860016115e3565b610bd39060066115e3565b81518110610be357610be361153c565b60209081029190910181019190915260808b0151015181610c058860016115e3565b610c109060076115e3565b81518110610c2057610c2061153c565b602002602001018181525050610c40816040516020016101db9190611690565b9150610c4b82610d21565b6040805160208101869052929750909550610c6691016101db565b9150610c7182610d21565b50809350505095509550955095915050565b6000806000610c90610ee6565b85815260c0858101805151602080850191909152905181015160408085019190915260e08801805151606086015251820151608085015260a08089018051519186019190915251820151928401929092529051610cf3916101db918491016116ef565b9150610cfe82610d21565b90979096509194509092505050565b600080516020611724833981519152900690565b6000808260016001607f1b038116607f82901c610d3d82610d0d565b9450610d4881610d0d565b9350505050915091565b600060008051602061172483398151915282840990505b92915050565b604051806101400160405280610d83610dda565b8152602001610d90610e10565b8152602001610d9d610e4d565b815260200160008152602001610db1610e4d565b815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051806103600160405280601b906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b60405180608001604052806004906020820280368337509192915050565b604051806101400160405280600a906020820280368337509192915050565b6040518061060001604052806030906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b634e487b7160e01b600052604160045260246000fd5b60405161028081016001600160401b0381118282101715610f3d57610f3d610f04565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610f6b57610f6b610f04565b604052919050565b600082601f830112610f8457600080fd5b6000610200610f9281610f43565b915083018185821115610fa457600080fd5b845b82811015610fbe578035825260209182019101610fa6565b509195945050505050565b600060408284031215610fdb57600080fd5b604080519081016001600160401b0381118282101715610ffd57610ffd610f04565b604052823581526020928301359281019290925250919050565b600082601f83011261102857600080fd5b60006110346060610f43565b90508060c084018581111561104857600080fd5b845b81811015610fbe5761105c8782610fc9565b835260209092019160400161104a565b600082601f83011261107d57600080fd5b61038061108981610f43565b905080611f8084018581111561109e57600080fd5b845b818110156111055786601f8201126110b757600080fd5b60006101206110c581610f43565b9150820181898211156110d757600080fd5b835b828110156110f15780358252602091820191016110d9565b5050508452602090930192610120016110a0565b509095945050505050565b600082601f83011261112157600080fd5b6000610540610f9281610f43565b600082601f83011261114057600080fd5b600061036061114e81610f43565b915050806106c084018581111561116457600080fd5b845b81811015610fbe576111788782610fc9565b8352602090920191604001611166565b600082601f83011261119957600080fd5b6000610380610f9281610f43565b600082601f8301126111b857600080fd5b60006111c46080610f43565b90508060808401858111156111d857600080fd5b845b81811015610fbe5780358352602092830192016111da565b60008083601f84011261120457600080fd5b5081356001600160401b0381111561121b57600080fd5b6020830191508360208260051b850101111561123657600080fd5b9250929050565b6000806000806000808688036135c081121561125857600080fd5b61354081121561126757600080fd5b50611270610f1a565b61127a8989610f73565b815261128a896102008a01610fc9565b602082015261129d896102408a01610fc9565b60408201526112b0896102808a01610fc9565b60608201526112c3896102c08a01610fc9565b60808201526112d6896103008a01610fc9565b60a08201526112e9896103408a01610fc9565b60c08201526112fc896103808a01610fc9565b60e082015261130f896103c08a01610fc9565b610100820152611323896104008a01610fc9565b610120820152611337896104408a01611017565b610140820152610500880135610160820152611357896105208a0161106c565b6101808201526124a08801356101a0820152611377896124c08a01611110565b6101c082015261138b89612a008a0161112f565b6101e082015261139f896130c08a01611188565b6102008201526113b3896134408a016111a7565b6102208201526113c7896134c08a01610fc9565b6102408201526113db896135008a01610fc9565b61026082015295506135408701356001600160401b038111156113fd57600080fd5b61140989828a016111f2565b979a90995096976135608101359761358082013597506135a09091013595509350505050565b8060005b601b811015611452578151845260209384019390910190600101611433565b50505050565b8060005b601c81101561145257815184526020938401939091019060010161145c565b8151805182526020808201519083015260408082015190830152606080820151908301526080808201519083015260a09081015190820152610be0810160208301516114ca60c084018261142f565b5060408301516114de610420840182611458565b5060608301516107a083015260808301516114fd6107c0840182611458565b5060a0830151610b4083015260c0830151610b6083015260e0830151610b80830152610100830151610ba083015261012090920151610bc09091015290565b634e487b7160e01b600052603260045260246000fd5b60008183825b6005811015611577578151835260209283019290910190600101611558565b50505060a08201905092915050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610d6957610d69611586565b60008183825b60048110156115d45781518352602092830192909101906001016115b5565b50505060808201905092915050565b80820180821115610d6957610d69611586565b60008183825b600a81101561161b5781518352602092830192909101906001016115fc565b5050506101408201905092915050565b60006001820161163d5761163d611586565b5060010190565b60008183825b603081101561166957815183526020928301929091019060010161164a565b5050506106008201905092915050565b8082028115828204841417610d6957610d69611586565b8151600090829060208501835b82811015610fbe57815184526020938401939091019060010161169d565b60008183825b60038110156116e05781518352602092830192909101906001016116c1565b50505060608201905092915050565b60008183825b60078110156117145781518352602092830192909101906001016116f5565b50505060e0820190509291505056fe30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a164736f6c634300081c000a",
  "linkReferences": {},
  "deployedLinkReferences": {},
  "immutableReferences": {},
  "inputSourceName": "project/contracts/verifiers/bfv/honk/DecryptionAggregatorVerifier.sol",
  "buildInfoId": "solc-0_8_28-58b894a0ac77a2d784be77b69288a062b8f6f518"
}