@aztec/l1-artifacts 1.0.0-nightly.20250607 → 1.0.0-nightly.20250610
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/CoinIssuerAbi.d.ts +17 -13
- package/dest/CoinIssuerAbi.d.ts.map +1 -1
- package/dest/CoinIssuerAbi.js +21 -16
- package/dest/EmpireBaseAbi.d.ts +17 -13
- package/dest/EmpireBaseAbi.d.ts.map +1 -1
- package/dest/EmpireBaseAbi.js +21 -16
- package/dest/ErrorsAbi.d.ts +17 -13
- package/dest/ErrorsAbi.d.ts.map +1 -1
- package/dest/ErrorsAbi.js +21 -16
- package/dest/ExtRollupLibAbi.d.ts +20 -16
- package/dest/ExtRollupLibAbi.d.ts.map +1 -1
- package/dest/ExtRollupLibAbi.js +24 -19
- package/dest/ExtRollupLibBytecode.d.ts +1 -1
- package/dest/ExtRollupLibBytecode.d.ts.map +1 -1
- package/dest/ExtRollupLibBytecode.js +1 -1
- package/dest/FeeAssetHandlerAbi.d.ts +17 -13
- package/dest/FeeAssetHandlerAbi.d.ts.map +1 -1
- package/dest/FeeAssetHandlerAbi.js +21 -16
- package/dest/FeeJuicePortalAbi.d.ts +17 -13
- package/dest/FeeJuicePortalAbi.d.ts.map +1 -1
- package/dest/FeeJuicePortalAbi.js +21 -16
- package/dest/FeeJuicePortalBytecode.d.ts +1 -1
- package/dest/FeeJuicePortalBytecode.js +1 -1
- package/dest/ForwarderAbi.d.ts +17 -13
- package/dest/ForwarderAbi.d.ts.map +1 -1
- package/dest/ForwarderAbi.js +21 -16
- package/dest/GSEAbi.d.ts +17 -13
- package/dest/GSEAbi.d.ts.map +1 -1
- package/dest/GSEAbi.js +21 -16
- package/dest/GSEBytecode.d.ts +1 -1
- package/dest/GSEBytecode.js +1 -1
- package/dest/GovernanceAbi.d.ts +17 -13
- package/dest/GovernanceAbi.d.ts.map +1 -1
- package/dest/GovernanceAbi.js +21 -16
- package/dest/GovernanceProposerAbi.d.ts +17 -13
- package/dest/GovernanceProposerAbi.d.ts.map +1 -1
- package/dest/GovernanceProposerAbi.js +21 -16
- package/dest/GovernanceProposerBytecode.d.ts +1 -1
- package/dest/GovernanceProposerBytecode.js +1 -1
- package/dest/HonkVerifierAbi.d.ts +17 -13
- package/dest/HonkVerifierAbi.d.ts.map +1 -1
- package/dest/HonkVerifierAbi.js +21 -16
- package/dest/HonkVerifierBytecode.d.ts +1 -1
- package/dest/HonkVerifierBytecode.d.ts.map +1 -1
- package/dest/HonkVerifierBytecode.js +1 -1
- package/dest/IERC20Abi.d.ts +17 -13
- package/dest/IERC20Abi.d.ts.map +1 -1
- package/dest/IERC20Abi.js +21 -16
- package/dest/IVerifierAbi.d.ts +17 -13
- package/dest/IVerifierAbi.d.ts.map +1 -1
- package/dest/IVerifierAbi.js +21 -16
- package/dest/InboxAbi.d.ts +17 -13
- package/dest/InboxAbi.d.ts.map +1 -1
- package/dest/InboxAbi.js +21 -16
- package/dest/InboxBytecode.d.ts +1 -1
- package/dest/InboxBytecode.js +1 -1
- package/dest/MockVerifierAbi.d.ts +17 -13
- package/dest/MockVerifierAbi.d.ts.map +1 -1
- package/dest/MockVerifierAbi.js +21 -16
- package/dest/MockZKPassportVerifierAbi.d.ts +17 -13
- package/dest/MockZKPassportVerifierAbi.d.ts.map +1 -1
- package/dest/MockZKPassportVerifierAbi.js +21 -16
- package/dest/MultiAdderAbi.d.ts +17 -13
- package/dest/MultiAdderAbi.d.ts.map +1 -1
- package/dest/MultiAdderAbi.js +21 -16
- package/dest/MultiAdderBytecode.d.ts +1 -1
- package/dest/MultiAdderBytecode.js +1 -1
- package/dest/NewGovernanceProposerPayloadAbi.d.ts +17 -13
- package/dest/NewGovernanceProposerPayloadAbi.d.ts.map +1 -1
- package/dest/NewGovernanceProposerPayloadAbi.js +21 -16
- package/dest/NewGovernanceProposerPayloadBytecode.d.ts +1 -1
- package/dest/NewGovernanceProposerPayloadBytecode.js +1 -1
- package/dest/OutboxAbi.d.ts +17 -13
- package/dest/OutboxAbi.d.ts.map +1 -1
- package/dest/OutboxAbi.js +21 -16
- package/dest/OutboxBytecode.d.ts +1 -1
- package/dest/OutboxBytecode.d.ts.map +1 -1
- package/dest/OutboxBytecode.js +1 -1
- package/dest/RegisterNewRollupVersionPayloadAbi.d.ts +17 -13
- package/dest/RegisterNewRollupVersionPayloadAbi.d.ts.map +1 -1
- package/dest/RegisterNewRollupVersionPayloadAbi.js +21 -16
- package/dest/RegisterNewRollupVersionPayloadBytecode.d.ts +1 -1
- package/dest/RegisterNewRollupVersionPayloadBytecode.js +1 -1
- package/dest/RegistryAbi.d.ts +17 -13
- package/dest/RegistryAbi.d.ts.map +1 -1
- package/dest/RegistryAbi.js +21 -16
- package/dest/RegistryBytecode.d.ts +1 -1
- package/dest/RegistryBytecode.js +1 -1
- package/dest/RewardDistributorAbi.d.ts +17 -13
- package/dest/RewardDistributorAbi.d.ts.map +1 -1
- package/dest/RewardDistributorAbi.js +21 -16
- package/dest/RewardDistributorBytecode.d.ts +1 -1
- package/dest/RewardDistributorBytecode.js +1 -1
- package/dest/RollupAbi.d.ts +217 -23
- package/dest/RollupAbi.d.ts.map +1 -1
- package/dest/RollupAbi.js +278 -26
- package/dest/RollupBytecode.d.ts +13 -13
- package/dest/RollupBytecode.d.ts.map +1 -1
- package/dest/RollupBytecode.js +13 -13
- package/dest/RollupStorage.d.ts +3 -3
- package/dest/RollupStorage.js +3 -3
- package/dest/SlashFactoryAbi.d.ts +17 -13
- package/dest/SlashFactoryAbi.d.ts.map +1 -1
- package/dest/SlashFactoryAbi.js +21 -16
- package/dest/SlashFactoryBytecode.d.ts +1 -1
- package/dest/SlashFactoryBytecode.js +1 -1
- package/dest/SlasherAbi.d.ts +17 -13
- package/dest/SlasherAbi.d.ts.map +1 -1
- package/dest/SlasherAbi.js +21 -16
- package/dest/SlasherBytecode.d.ts +1 -1
- package/dest/SlasherBytecode.js +1 -1
- package/dest/SlashingProposerAbi.d.ts +17 -13
- package/dest/SlashingProposerAbi.d.ts.map +1 -1
- package/dest/SlashingProposerAbi.js +21 -16
- package/dest/SlashingProposerBytecode.d.ts +1 -1
- package/dest/SlashingProposerBytecode.js +1 -1
- package/dest/StakingAssetHandlerAbi.d.ts +84 -15
- package/dest/StakingAssetHandlerAbi.d.ts.map +1 -1
- package/dest/StakingAssetHandlerAbi.js +108 -18
- package/dest/StakingAssetHandlerBytecode.d.ts +1 -1
- package/dest/StakingAssetHandlerBytecode.d.ts.map +1 -1
- package/dest/StakingAssetHandlerBytecode.js +1 -1
- package/dest/TestERC20Abi.d.ts +17 -13
- package/dest/TestERC20Abi.d.ts.map +1 -1
- package/dest/TestERC20Abi.js +21 -16
- package/dest/TokenPortalAbi.d.ts +17 -13
- package/dest/TokenPortalAbi.d.ts.map +1 -1
- package/dest/TokenPortalAbi.js +21 -16
- package/dest/TokenPortalBytecode.d.ts +1 -1
- package/dest/TokenPortalBytecode.js +1 -1
- package/dest/UniswapPortalAbi.d.ts +17 -13
- package/dest/UniswapPortalAbi.d.ts.map +1 -1
- package/dest/UniswapPortalAbi.js +21 -16
- package/dest/UniswapPortalBytecode.d.ts +1 -1
- package/dest/UniswapPortalBytecode.js +1 -1
- package/dest/ValidatorSelectionLibAbi.d.ts +17 -13
- package/dest/ValidatorSelectionLibAbi.d.ts.map +1 -1
- package/dest/ValidatorSelectionLibAbi.js +21 -16
- package/dest/ValidatorSelectionLibBytecode.d.ts +1 -1
- package/dest/ValidatorSelectionLibBytecode.js +1 -1
- package/dest/checksum.d.ts +1 -1
- package/dest/checksum.js +1 -1
- package/package.json +1 -1
package/dest/HonkVerifierAbi.js
CHANGED
|
@@ -899,18 +899,12 @@
|
|
|
899
899
|
"name": "Rollup__InvalidBlobHash",
|
|
900
900
|
"inputs": [
|
|
901
901
|
{
|
|
902
|
-
"name": "
|
|
902
|
+
"name": "expected",
|
|
903
903
|
"type": "bytes32",
|
|
904
904
|
"internalType": "bytes32"
|
|
905
|
-
}
|
|
906
|
-
]
|
|
907
|
-
},
|
|
908
|
-
{
|
|
909
|
-
"type": "error",
|
|
910
|
-
"name": "Rollup__InvalidBlobProof",
|
|
911
|
-
"inputs": [
|
|
905
|
+
},
|
|
912
906
|
{
|
|
913
|
-
"name": "
|
|
907
|
+
"name": "actual",
|
|
914
908
|
"type": "bytes32",
|
|
915
909
|
"internalType": "bytes32"
|
|
916
910
|
}
|
|
@@ -918,15 +912,10 @@
|
|
|
918
912
|
},
|
|
919
913
|
{
|
|
920
914
|
"type": "error",
|
|
921
|
-
"name": "
|
|
915
|
+
"name": "Rollup__InvalidBlobProof",
|
|
922
916
|
"inputs": [
|
|
923
917
|
{
|
|
924
|
-
"name": "
|
|
925
|
-
"type": "bytes32",
|
|
926
|
-
"internalType": "bytes32"
|
|
927
|
-
},
|
|
928
|
-
{
|
|
929
|
-
"name": "actual",
|
|
918
|
+
"name": "blobHash",
|
|
930
919
|
"type": "bytes32",
|
|
931
920
|
"internalType": "bytes32"
|
|
932
921
|
}
|
|
@@ -1190,6 +1179,22 @@
|
|
|
1190
1179
|
"name": "Rollup__TimestampTooOld",
|
|
1191
1180
|
"inputs": []
|
|
1192
1181
|
},
|
|
1182
|
+
{
|
|
1183
|
+
"type": "error",
|
|
1184
|
+
"name": "Rollup__TooManyBlocksInEpoch",
|
|
1185
|
+
"inputs": [
|
|
1186
|
+
{
|
|
1187
|
+
"name": "expected",
|
|
1188
|
+
"type": "uint256",
|
|
1189
|
+
"internalType": "uint256"
|
|
1190
|
+
},
|
|
1191
|
+
{
|
|
1192
|
+
"name": "actual",
|
|
1193
|
+
"type": "uint256",
|
|
1194
|
+
"internalType": "uint256"
|
|
1195
|
+
}
|
|
1196
|
+
]
|
|
1197
|
+
},
|
|
1193
1198
|
{
|
|
1194
1199
|
"type": "error",
|
|
1195
1200
|
"name": "Rollup__TryingToProveNonExistingBlock",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* HonkVerifier bytecode.
|
|
3
3
|
*/
|
|
4
|
-
export declare const HonkVerifierBytecode = "0x60e0604052348015600e575f5ffd5b506302000000608052601960a05261040760c05260805160a05160c05161525b61005a5f395f61063401525f818161073f01528181610d210152610dbd01525f6105d8015261525b5ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004614e7d565b610054565b604051901515815260200160405180910390f35b5f6100626101c86020614f55565b8414610081576040516376ba560560e11b815260040160405180910390fd5b5f61008a6101a5565b90505f61009787876101ba565b9050601082604001516100aa9190614f6c565b84146100c95760405163fa06659360e01b815260040160405180910390fd5b5f6100e0828787865f015187604001516001610513565b90506101308686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050855185516060810151608090910151919350915060016105c2565b815160a001525f6101418383610737565b905080610161576040516313f8744360e31b815260040160405180910390fd5b5f61016d848685610838565b90508061018d576040516352ec174560e11b815260040160405180910390fd5b8180156101975750805b9a9950505050505050505050565b6101ad614955565b6101b56110b5565b905090565b6101c2614ad2565b5f805b6010811015610224576101f18583866101df826020614f7f565b926101ec93929190614f92565b61199b565b8351826010811061020457610204614fb9565b60200201818152505060208261021a9190614f7f565b91506001016101c5565b50610248848285610236826080614f7f565b9261024393929190614f92565b6119fc565b6020830152610258608082614f7f565b905061026b848285610236826080614f7f565b604083015261027b608082614f7f565b905061028e848285610236826080614f7f565b606083015261029e608082614f7f565b90506102b1848285610236826080614f7f565b60c08301526102c1608082614f7f565b90506102d4848285610236826080614f7f565b60e08301526102e4608082614f7f565b90506102f7848285610236826080614f7f565b60808084019190915261030a9082614f7f565b905061031d848285610236826080614f7f565b61010083015261032e608082614f7f565b9050610341848285610236826080614f7f565b60a0830152610351608082614f7f565b90505f5b601c8110156103d0575f5b60088110156103c75761037a8684876101df826020614f7f565b84610120015183601c811061039157610391614fb9565b602002015182600881106103a7576103a7614fb9565b6020020181815250506020836103bd9190614f7f565b9250600101610360565b50600101610355565b505f5b6028811015610424576103ed8583866101df826020614f7f565b836101400151826028811061040457610404614fb9565b60200201818152505060208261041a9190614f7f565b91506001016103d3565b505f5b6104336001601c614f6c565b81101561047c5761044b858386610236826080614f7f565b83610160015182601b811061046257610462614fb9565b6020020152610472608083614f7f565b9150600101610427565b505f5b601c8110156104d0576104998583866101df826020614f7f565b83610180015182601c81106104b0576104b0614fb9565b6020020181815250506020826104c69190614f7f565b915060010161047f565b506104e2848285610236826080614f7f565b6101a08301526104f3608082614f7f565b9050610506848285610236826080614f7f565b6101c08301525092915050565b61051b614b9c565b5f61052b88888888888887611acc565b908352905061053a8189611b22565b6020840191909152905061054d81611cbc565b604084019190915290506105618882611d1d565b606084019190915290506105758882611df1565b608084019190915290506105898882611e7c565b60a0840191909152905061059d8882611fea565b60c084019190915290506105b1888261205c565b5060e0830152509695505050505050565b5f6001808261060b86610606896106016105fc8a7f0000000000000000000000000000000000000000000000000000000000000000614f7f565b6120b3565b6120d1565b6120ea565b90505f610629876106248a6106016105fc8b6001614f7f565b612103565b90505f5b61065860107f0000000000000000000000000000000000000000000000000000000000000000614f6c565b8110156106c5575f6106828c838151811061067557610675614fb9565b60200260200101516120b3565b90506106928661060186846120ea565b95506106a28561060185846120ea565b94506106ae848b6120ea565b93506106ba838b612103565b92505060010161062d565b505f5b601081101561072c575f8a82601081106106e4576106e4614fb9565b602002015190506106f98661060186846120ea565b95506107098561060185846120ea565b9450610715848b6120ea565b9350610721838b612103565b9250506001016106c8565b506101978484612132565b5f806001815b7f000000000000000000000000000000000000000000000000000000000000000081101561080e575f86610120015182601c811061077d5761077d614fb9565b602002015190505f61078f8286612140565b9050806107af576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c81106107c6576107c6614fb9565b602002015190506107d7838261215d565b95506107fe886040015185601c81106107f2576107f2614fb9565b6020020151868361230c565b945050505080600101905061073d565b505f610828866101400151865f0151876020015185612337565b90508281145b9695505050505050565b5f61087f6040518061012001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61088d8460a001516123a5565b9050610897614bf5565b61089f614c14565b60e08601516108be906108b990855f5b6020020151612103565b61240a565b60a085015260e08601516108dd906108b990855f5b60200201516120ea565b60c080860182905260a0860151908801516108fc9261060691906120d1565b845260a086015161092a906109109061240a565b6106018660a001516106248a60c001518960c001516120d1565b6020850152600182526101a088015161094290612473565b81526001606085018190525f60808601525b602381116109fa5761097561096b865f01516124b2565b86606001516120d1565b83826046811061098757610987614fb9565b602002015260808501516101408a01516109ca9190610606906109ab600186614f6c565b602881106109bb576109bb614fb9565b602002015188606001516120d1565b8560800181815250506109e5856060015188608001516120d1565b60608601526109f381614fcd565b9050610954565b505f610a0860236001614f7f565b90505b60288111610a8957610a2361096b86602001516124b2565b838260468110610a3557610a35614fb9565b602002015260808501516101408a0151610a599190610606906109ab600186614f6c565b856080018181525050610a74856060015188608001516120d1565b6060860152610a8281614fcd565b9050610a0b565b50606087015181600160200201526080870151816002602002015260a0870151816003602002015260c0870151816004602002015260e0870151816005602002015261010087015181600660200201526101208701518160076020020152610140870151816008602002015261016087015181600960200201526101a087015181600a602002015261018087015181600b60200201526101c087015181600c60200201526101e087015181600d602002015261020087015181600e602002015261022087015181600f60200201526102408701518160106020020152610260870151816011602002015261028087015181601260200201526102a087015181601360200201526102c087015181601460200201526102e08701518160156020020152610300870151816016602002015261032087015181601760200201526103408701518160186020020152610360870151816019602002015261038087015181601a60200201526103a087015181601b6020020181905250610c0f8860200151612473565b6103808201526040880151610c2390612473565b6103a08201526060880151610c3790612473565b6103c08201526080880151610c4b90612473565b6103e082015260a0880151610c5f90612473565b610400820152610100880151610c7490612473565b61042082015260c0880151610c8890612473565b61044082015260e0880151610c9c90612473565b6104608201526020880151610cb090612473565b6104808201526040880151610cc490612473565b6104a08201526060880151610cd890612473565b6104c08201526080880151610cec90612473565b6104e082015260a0880151610d0090612473565b610500820152606086015160808501516101808a01515f92610d45929091877f00000000000000000000000000000000000000000000000000000000000000006124ca565b805160a0870151919250610d58916120d1565b604086018190526101808a01515160c0890151610d88929161060691610d7e91906120d1565b8860c001516120d1565b604086015260c0870151610d9b906125e5565b60608601525f5b610dae6001601c614f6c565b811015610fb0575f610de160017f0000000000000000000000000000000000000000000000000000000000000000614f6c565b821015905080610f5657610e146108b98a60e0015188856001610e049190614f7f565b601c81106108af576108af614fb9565b60a088015260e0890151610e42906108b99088610e32866001614f7f565b601c81106108d3576108d3614fb9565b60c0880152606087015160a0880151610e5b91906120d1565b60e0880152606087015160c08a0151610e7791610d7e916120d1565b6101008801819052610e9990610e8c906124b2565b6106068960e001516124b2565b8583610ea760286001614f7f565b610eb19190614f7f565b60468110610ec157610ec1614fb9565b60200201526101008701516101808c01515f91610efd91610ee3866001614f7f565b601c8110610ef357610ef3614fb9565b60200201516120d1565b9050610f19816106068a60e0015187876001610ee39190614f7f565b9050610f298860400151826120ea565b6040890152606088015160c08b0151610f4f91610f45916120d1565b8b60c001516120d1565b6060890152505b610f7a8b610160015183601b8110610f7057610f70614fb9565b6020020151612473565b8483610f8860286001614f7f565b610f929190614f7f565b60468110610fa257610fa2614fb9565b602002015250600101610da2565b5060408051808201909152600181526002602082015282610fd3601c6028614f7f565b60468110610fe357610fe3614fb9565b6020020152604085015183610ffa601c6028614f7f565b6046811061100a5761100a614fb9565b60200201526101c08901515f9061102090612473565b90508083611030601c6028614f7f565b61103b906001614f7f565b6046811061104b5761104b614fb9565b602002015260e088015184611062601c6028614f7f565b61106d906001614f7f565b6046811061107d5761107d614fb9565b60200201525f61108d84866125f0565b90505f611099836126b6565b90506110a582826126fc565b9c9b505050505050505050505050565b6110bd614955565b50604080516103c08101825263020000008152601960208083019190915261040782840152825180840184527f157e956cae9cd9a046e9cd05cf64defdf4c055710b0669f4c40ad95c4323658d81527f195deb03b8cdfc3064eb2644b77bbba29459f340c3f84615891d8ebb0e15f545818301526060830152825180840184527f29c2314c3fd494edd09592d2e8eea8c12d350ca57593080b24c04fb48a3c5ea581527f1327216dec3efa861c5e8c08c3c92c1dead8b6345b6b1357b7bafae691dfa352818301526080830152825180840184527f1de46c6065134b29b7523ab8740579468cdfa0023614dc39b420bdcda739e6c681527f168ee0e6d8764686d9ed50eeab51145297af7ac0e328c679272a5886ea9b489e8183015260a0830152825180840184527f27481a063d9a31bd8b0c5e0b8d888c3237e5cf1cd5009ec3264592d581b25ec681527f0be328c8db5ddc06417e23343ea30e27c0e0ba43e2bfecb4b13823ceb80f877d8183015260c0830152825180840184527f15696356dcb4686e525bb8aea69eaef95e3eed038fb869d81fb86d7b9edb47a881527f075a3dac9fddd0fbedec2500548bdf0ef19ecee6844a14cc46a8ee953bb78f968183015260e0830152825180840184527f2018e7cda82aeb96f57339649335d8f6221c48a7eb3d1e9a89de73519ebe401681527f1a2b2bf43bae821907d53e4c638300c51b5b80a6bb637f74fcb3f92a5a2e68be81830152610100830152825180840184527f087955563d61e88ef26501161a9b24e8ab0cb742020598057720f42d74d9677a81527f1fc679cdcaa17e5781bc37c40c64103a14730808e1281a0a42f560d62acaa14481830152610120830152825180840184527f2db7e8b6f37f143b6114619334b61e62cc6e4f229b16dbbdd121fe3a0d289eab81527f021893236a4f8c736135430ed2b94d400ebf3fd8254ee651943a6b114f4dc23c81830152610140830152825180840184527f10b67fed19cef4569d86bbf58a81cba74883338a75dfffbe6e2107258465aa7c81527f265e80506f5a2d4517e60f55a0c950765d0552ddc7e8580d11ff69eaa42d0f1581830152610160830152825180840184527f0bf3ac4f0fe05e166b5de5c76cbda46ecb2e168b54e1f8fccb06dfbc11637c9481527f0e4aaf519bb39cbc0c565f2753882cdf01008d0f32d689980ac32a3eae154f9b81830152610180830152825180840184527f0ed3c8f288e6104b0af9fd9b9d4ddbf649d8ad295ef01b5de0501aba48747c1681527f12f4e476371aa3a345216ea17ccec2e5b047169daa63e63df9890baca3370b21818301526101a0830152825180840184527f0353b099b14d6d5a88f7feb354486b0363454017556ec95e3f8e5b95bd0429de81527f10eeee98d849f65203188c32baab4d228796050c33f4f41a48f550d0a23bcb53818301526101c0830152825180840184527f012865857151fa30cb8f81633ecf1bd08126e77781f9a3c817f195a9c352070a81527f0d2c29f7e167ab6ba01c2193483adb6747051201ca60cf26fbb722856845a947818301526101e0830152825180840184527f2f076d257670e05279621ef73d3697fd692d971ab181bd3a55a41e310bc8b95781527f109a5f48bc1678be0880cfbbccb5927ec9710a3663ab4f2322807ac1297ee42181830152610200830152825180840184527f11a96af945cd2271af5f9f51ad52e2e09c9359f2d8620241ebfa55815d76626481527f1f7e3f79f659432a5aa4f2d03f2baac0b9c21cef23482334e2187596c5bd267c81830152610220830152825180840184527f016546674547d019acf1be5aa3d1c836f0ec7b553a000ec257f59cf403bf452781527f29d41a74e8a271319662002bc7a3a3df986f2487193753ad03d504f557c5bb8381830152610240830152825180840184527f043b5d5f9c53cf305d5f03d1bb267eca3bdfc97d1325516edfe135153862479e81527f283cfd0ab6e6b9beee080d02d6d4c88217c0c339e32a927eac8da1ecd20fe5aa81830152610260830152825180840184527f0cdf2a9567d4141977f02b807e5eb0ebce13ccc3b9bebd3074782042101aa45e81527f2b198ba919794c48306e3ff98022b90ee28e290fab654a0291bb00ee677f10f881830152610280830152825180840184527f0f4f24e25a0d7b75e85100d2ccc65c9fff73b7f60b3bc9e3af0bf0058dd425ab81527f2b5f895b00a900f72aa652555cfd52ede6ae2bc22fca09b180a40c837436558a818301526102a0830152825180840184527f0bb3e3548b5428676d837dc0eb95962dcf2c0d8b68dffd3582c84f846ab6ae0481527e194b4345bd6df7d1fa0c6a1b21431990714e385cd7e2c92c01ab5d61be7497818301526102c0830152825180840184527e9d1990f1324ade4d8fabe3dc676cb3cb0a1ac20f87fe8079fff8645fb02de881527f2c14902f27d5b74a607f327a238ff22eeb2fa1568acabf5773c5ed85fb74d8ca818301526102e0830152825180840184527f1af8b94ffa6a7c80c4b5b69acb462ca90ebc779545e40d396da41afa48f7b0c081527f0f056612f4637e746c664df1dc4bc174b093b5d781cba3c5394f935cf49a860781830152610300830152825180840184527f1f33f1cf7c1fc45d18550bc590a8f5bfeea8dd024fb21886e1d7ae0faeeff18c81527f2a2c999df96a270651d3052417878896417f1501f0fc6ec9deca05be85de85f481830152610320830152825180840184527f2b77e4a23fbcbd768001577bf51528b90893610e126a531162fdb04cc01eb85881527f2776b668596aa59e0b8a617ef7116e54105c4016048983b017c663260e98f37b81830152610340830152825180840184527f28f515788786233704e340a1d308ce642ae2b0e6b4d469b06d4d56a2e5fab18d81527f1c4fb06062382bd15ca37c6e55096e8e2a5298f20621892a0daf855559c4a34d81830152610360830152825180840184526001815260028183015261038083015282518084019093527f086fb78033a1b52f2a6f1f2f635025c746492103b87e3c1e90124f0045c4579583527f19b4ba46f56df1d5078e5b3f67ff802ce2fce0cad3fdc95ed7c20ef0bcc84c0b908301526103a081019190915290565b5f602082146119e85760405162461bcd60e51b815260206004820152601460248201527334b73b30b634b210313cba32b99039b1b0b630b960611b60448201526064015b60405180910390fd5b6119f56105fc8385614fe5565b9392505050565b611a04614c42565b60808214611a4a5760405162461bcd60e51b81526020600482015260136024820152721a5b9d985b1a5908189e5d195cc81c1bda5b9d606a1b60448201526064016119df565b604080516080810190915280611a6360205f8688614f92565b611a6c91614fe5565b8152602090810190611a82906040908688614f92565b611a8b91614fe5565b8152602001611a9e606060408688614f92565b611aa791614fe5565b8152602001611aba608060608688614f92565b611ac391614fe5565b90529392505050565b611ad4614c66565b5f611ae3898989898989612900565b604086019190915260208501919091529083529250611b02838a612da6565b608085019190915260608401919091529199919850909650505050505050565b611b2a614c96565b5f611b33614cb5565b848152610100848101805151602080850191909152815181015160408086019190915282518101516060808701919091529251830151608086015260a080890180515191870191909152805183015160c0870152805182015160e087015251909201519284019290925251611bc991611bae91849101615002565b604051602081830303815290604052805190602001206120b3565b9150611bd482612e75565b6020850152835260015b611bea6002601961504a565b811015611c6a57611c0783604051602001611bae91815260200190565b9250611c1283612e75565b85611c1e846002614f55565b60198110611c2e57611c2e614fb9565b6020020186611c3e856002614f55565b611c49906001614f7f565b60198110611c5957611c59614fb9565b602002019190915252600101611bde565b50611c8182604051602001611bae91815260200190565b91505f611c8d83612e75565b85611c9a60016019614f6c565b60198110611caa57611caa614fb9565b60200201919091525050509250929050565b611cc4614cd4565b5f805b601c811015611d1657611ce684604051602001611bae91815260200190565b93505f611cf285612e75565b8584601c8110611d0457611d04614fb9565b60200201919091525050600101611cc7565b5090929050565b611d25614cd4565b5f805b601c811015611de857611d39614cb5565b8481525f5b6008811015611da25786610120015183601c8110611d5e57611d5e614fb9565b60200201518160088110611d7457611d74614fb9565b602002015182611d85836001614f7f565b60098110611d9557611d95614fb9565b6020020152600101611d3e565b50611db781604051602001611bae9190615002565b94505f611dc386612e75565b8685601c8110611dd557611dd5614fb9565b6020020191909152505050600101611d28565b50909391925050565b5f5f611dfb614cf3565b8381525f5b6028811015611e4e578561014001518160288110611e2057611e20614fb9565b602002015182611e31836001614f7f565b60298110611e4157611e41614fb9565b6020020152600101611e00565b50611e6381604051602001611bae919061505d565b91505f611e6f83612e75565b5096929550919350505050565b5f5f611e86614d12565b8381525f5b611e976001601c614f6c565b811015611fd55785610160015181601b8110611eb557611eb5614fb9565b60200201515182611ec7836004614f55565b611ed2906001614f7f565b606d8110611ee257611ee2614fb9565b602002015261016086015181601b8110611efe57611efe614fb9565b60200201516020015182826004611f159190614f55565b611f20906002614f7f565b606d8110611f3057611f30614fb9565b602002015261016086015181601b8110611f4c57611f4c614fb9565b60200201516040015182611f61836004614f55565b611f6c906003614f7f565b606d8110611f7c57611f7c614fb9565b602002015261016086015181601b8110611f9857611f98614fb9565b60200201516060015182611fad836004614f55565b611fb8906004614f7f565b606d8110611fc857611fc8614fb9565b6020020152600101611e8b565b50611e6381604051602001611bae9190615091565b5f5f611ff4614d31565b8381525f5b601c8110156120475785610180015181601c811061201957612019614fb9565b60200201518261202a836001614f7f565b601d811061203a5761203a614fb9565b6020020152600101611ff9565b50611e6381604051602001611bae91906150c5565b5f5f612066614d50565b8381526101a085018051516020808401919091528151810151604080850191909152825181015160608086019190915292519092015160808401529051611e6391611bae918491016150f9565b5f6120cb5f51602061523b5f395f51905f528361512c565b92915050565b5f5f51602061523b5f395f51905f528284099392505050565b5f5f51602061523b5f395f51905f528284089392505050565b5f5f51602061523b5f395f51905f52612129835f51602061523b5f395f51905f52614f6c565b84089392505050565b5f6119f5836106018461240a565b81515f908190612152908560016108d3565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b60088110156122445761223a826106018784612103565b9150600101612223565b5061224d614d6e565b5f5b60088110156122ae575f84826008811061226b5761226b614fb9565b60200201519050612280816106018985612103565b905061228b8161240a565b9050808383600881106122a0576122a0614fb9565b60200201525060010161224f565b505f5b6008811015612301575f8782600881106122cd576122cd614fb9565b602002015190506122ea81848460088110610ef357610ef3614fb9565b90506122f686826120ea565b9550506001016122b1565b5061082e84836120d1565b5f5f612322600161060685610601896001612103565b905061232e84826120d1565b95945050505050565b5f612340614d8d565b61234b868285612ea5565b61235786868386613051565b61236386868386613239565b61236e868285613435565b61237986828561361d565b61238586868386613966565b612390868285614200565b61239b8682856145cb565b61082e81856148c0565b6123ad614cd4565b81815260015b601c811015612404576123e5826123cb600184614f6c565b601c81106123db576123db614fb9565b60200201516125e5565b8282601c81106123f7576123f7614fb9565b60200201526001016123b3565b50919050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f51602061523b5f395f51905f520360808201525f51602061523b5f395f51905f5260a082015260205f60c08360055afa905080612468575f5ffd5b50505f519392505050565b61247b614dac565b604051806040016040528060888460200151901b845f015117815260200160888460600151901b8460400151178152509050919050565b5f6120cb825f51602061523b5f395f51905f52614f6c565b6124d2614cd4565b601c5b80156125db575f846124e8600184614f6c565b601c81106124f8576124f8614fb9565b602002015190505f8861250c600185614f6c565b601c811061251c5761251c614fb9565b602002015190505f61257761253b612534858c6120d1565b60026120d1565b6106248a61254a600189614f6c565b601c811061255a5761255a614fb9565b60200201516106016125718861060160018a612103565b87612103565b9050612598816106016108b961259287610601600189612103565b866120ea565b90508584116125c75797508780856125b1600187614f6c565b601c81106125c1576125c1614fb9565b60200201525b505050806125d49061513f565b90506124d5565b5095945050505050565b5f6120cb82836120d1565b6125f8614dac565b5f612605601c6028614f7f565b612610906002614f7f565b90506001604051855151604082015285516020015160608201528451608082015260408160606040840160075afa8216915060015b8381101561269e5760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612645565b50805184526020810151602085015250505092915050565b6126be614dac565b5f51602061521b5f395f51905f5282602001515f51602061521b5f395f51905f526126e99190614f6c565b6126f3919061512c565b60208301525090565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516128929190615154565b5f60405180830381855afa9150503d805f81146128ca576040519150601f19603f3d011682016040523d82523d5f602084013e6128cf565b606091505b50915091505f818060200190518101906128e9919061516a565b90508280156128f55750805b979650505050505050565b5f80808080612910876003614f7f565b61291b90600c614f7f565b6001600160401b0381111561293257612932615189565b60405190808252806020026020018201604052801561295b578160200160208202803683370190505b509050875f1b815f8151811061297357612973614fb9565b602002602001018181525050865f1b8160018151811061299557612995614fb9565b602002602001018181525050855f1b816002815181106129b7576129b7614fb9565b60209081029190910101525f5b6129cf601089614f6c565b811015612a20578a8a828181106129e8576129e8614fb9565b90506020020135828260036129fd9190614f7f565b81518110612a0d57612a0d614fb9565b60209081029190910101526001016129c4565b505f5b6010811015612a91578b51612a4b908260108110612a4357612a43614fb9565b602002015190565b82826010612a5a8c6003614f7f565b612a649190614f6c565b612a6e9190614f7f565b81518110612a7e57612a7e614fb9565b6020908102919091010152600101612a23565b5060208b01515181612aa4896003614f7f565b81518110612ab457612ab4614fb9565b6020908102919091018101919091528b810151015181612ad5896003614f7f565b612ae0906001614f7f565b81518110612af057612af0614fb9565b6020908102919091018101919091528b01516040015181612b12896003614f7f565b612b1d906002614f7f565b81518110612b2d57612b2d614fb9565b6020908102919091018101919091528b01516060015181612b4f896003614f7f565b612b5a906003614f7f565b81518110612b6a57612b6a614fb9565b602090810291909101015260408b01515181612b87896003614f7f565b612b92906004614f7f565b81518110612ba257612ba2614fb9565b60209081029190910181019190915260408c0151015181612bc4896003614f7f565b612bcf906005614f7f565b81518110612bdf57612bdf614fb9565b60209081029190910101526040808c0151015181612bfe896003614f7f565b612c09906006614f7f565b81518110612c1957612c19614fb9565b602090810291909101015260408b01516060015181612c39896003614f7f565b612c44906007614f7f565b81518110612c5457612c54614fb9565b602090810291909101015260608b01515181612c71896003614f7f565b612c7c906008614f7f565b81518110612c8c57612c8c614fb9565b60209081029190910181019190915260608c0151015181612cae896003614f7f565b612cb9906009614f7f565b81518110612cc957612cc9614fb9565b602090810291909101015260608b01516040015181612ce9896003614f7f565b612cf490600a614f7f565b81518110612d0457612d04614fb9565b60209081029190910101526060808c0151015181612d23896003614f7f565b612d2e90600b614f7f565b81518110612d3e57612d3e614fb9565b602002602001018181525050612d5e81604051602001611bae919061519d565b9150612d6982612e75565b6040805160208101869052929750909550612d849101611bae565b91505f612d9083612e75565b50959c949b509499509097509195505050505050565b5f5f5f612db1614dc4565b85815260c085810180515160208085019190915281518101516040808601919091528251810151606080870191909152925183015160808087019190915260e0808b0180515160a089015280518501519688019690965285518301519087015293518301516101008601529288018051516101208601528051820151610140860152805184015161016086015251909101516101808401529051612e5b91611bae918491016151d2565b9150612e6682612e75565b90979096509194509092505050565b5f80826001600160801b038116608082901c612e90826120b3565b9450612e9b816120b3565b9350505050915091565b5f612eb1846007614925565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f612f12612f0c612ee6856003612103565b610601612f01612ef68b5f614925565b6106018c601c614925565b6106018b601b614925565b836120d1565b9050612f93612f88612f6f612f56612f3d85610606612f328d6002614925565b6106018e601b614925565b610606612f4b8c6003614925565b6106018d601c614925565b610606612f648b6004614925565b6106018c601d614925565b610606612f7d8a6005614925565b6106018b601e614925565b610606886001614925565b9050612fb281610606612fa7866001612103565b6106018a6026614925565b9050612fbe81846120d1565b9050612fca81856120d1565b8552505f9050613004612ffa612fef612fe488601b614925565b61060689601e614925565b610624886023614925565b610606875f614925565b905061301581610601846002612103565b905061302681610601846001612103565b905061303281836120d1565b905061303e81846120d1565b9050808460015b60200201525050505050565b5f5f5f61308761307d61306589601b614925565b6106066130738b6011614925565b8a606001516120d1565b87608001516120ea565b90506130c0816106016130b661309e8b601c614925565b6106066130ac8d6012614925565b8c606001516120d1565b89608001516120ea565b90506130e5816106016130b66130d78b601d614925565b6106066130ac8d6013614925565b905061310a816106016130b66130fc8b601e614925565b6106066130ac8d6014614925565b92505f905061312e61307d61312089601b614925565b6106066130738b600d614925565b9050613153816106016130b66131458b601c614925565b6106066130ac8d600e614925565b9050613178816106016130b661316a8b601d614925565b6106066130ac8d600f614925565b905061319d816106016130b661318f8b601e614925565b6106066130ac8d6010614925565b91505f90506131c46131be6131b389601f614925565b6106068a6019614925565b846120d1565b90506131f9816106246131f36131db8b6027614925565b6106066131e98d601a614925565b8c60a001516120d1565b856120d1565b905061320581856120d1565b6040860152505f6132286131f361321d89601a614925565b6106018a6027614925565b606090950194909452505050505050565b5f5f61329761327f6132676132526130b68a6015614925565b6106066132608b6016614925565b8a516120d1565b6106066132758a6017614925565b89602001516120d1565b61060661328d896018614925565b88604001516120d1565b91505f6132ce6132b56132ab89601b614925565b88608001516120ea565b6106066132c38a6003614925565b6106018b6023614925565b90505f6132f76132df89601c614925565b6106066132ec8b5f614925565b6106018c6024614925565b90505f6133216133088a601d614925565b6106066133168c6001614925565b6106018d6025614925565b905061336061334861333a85610606868d5f01516120d1565b610606848c602001516120d1565b6106066133568c6004614925565b8b604001516120d1565b93505050505f6133746131be886020614925565b90505f6133856131be896020614925565b90505f6133bd6133a46133998b6022614925565b6106068c6006614925565b6106246133b28c6022614925565b6106018d6006614925565b90505f6133e16133db6133d087896120d1565b6106018d6020614925565b83612103565b90506133ed81886120d1565b90505f6134156134076134018d6006614925565b876120d1565b6106246134018e6021614925565b60808a018390529050808960055b60200201525050505050505050505050565b5f6134415f6001612103565b90505f61344f5f6002612103565b90505f61345d5f6003612103565b90505f61347961346e88601c614925565b61062489601b614925565b90505f61349561348a89601d614925565b6106248a601c614925565b90505f6134b16134a68a601e614925565b6106248b601d614925565b90505f6134cd6134c28b6023614925565b6106248c601e614925565b9050836134de81610601818b6120ea565b90506134ee81610601878a6120ea565b90506134fe8161060187896120ea565b905061350f816106018d6008614925565b905061351b818a6120d1565b60c08b0152508261353081610601818b6120ea565b905061354081610601868a6120ea565b90506135508161060186896120ea565b9050613561816106018d6008614925565b905061356d818a6120d1565b60e08b0152508161358281610601818b6120ea565b905061359281610601858a6120ea565b90506135a28161060185896120ea565b90506135b3816106018d6008614925565b90506135bf818a6120d1565b6101008b015250806135d581610601818b6120ea565b90506135e581610601848a6120ea565b90506135f58161060184896120ea565b9050613606816106018d6008614925565b9050613612818a6120d1565b9050808a6009613423565b6136566040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61366184601c614925565b815261366e84601d614925565b602082015261367e846023614925565b604082015261368e846026614925565b606082015261369e846025614925565b60808201526136ae846024614925565b60a08201525f6136bf856002614925565b90505f6136cc865f614925565b90505f6136e08460400151855f0151612103565b90505f6136f5856020015186602001516120d1565b606086015190915086905f9061370b90806120d1565b90505f61372961372389602001518a606001516120d1565b886120d1565b90505f6137486137418a60a001518b604001516120ea565b8a516120ea565b905061375761340182886120d1565b905061377e61377861377261376c8487612103565b88612103565b846120ea565b836120ea565b90506137a661379b61379083876120d1565b6106018f6009614925565b61060160018a612103565b6101408c015250505050602085015160808601515f916137c5916120ea565b90505f6137e36137d98860600151886120d1565b8860200151612103565b90505f6138076137f384876120d1565b6106066131f38b60a001518c5f0151612103565b905061382f613824613819838c6120d1565b6106018e6009614925565b610601600189612103565b6101608b0152505f915061385090506138498360116120ea565b87516120d1565b90505f61385d83846120ea565b905061386981826120ea565b90505f6138778360096120d1565b90506138a061389a6131be6138938b60a001518c5f01516120ea565b8b516120ea565b82612103565b60c089018190525f906138bb9061372390613790908d6120d1565b90506138ce8b600a6020020151826120ea565b6101408c0152505086515f92506138f59150613849906138ee90806120ea565b88516120ea565b90505f613935613910836106018a5f01518b60a00151612103565b60208901516106249061392390806120ea565b6106018b602001518c608001516120ea565b905061395289600b6020020151610606613723613790858d6120d1565b89600b602002015250505050505050505050565b6139fa604051806102c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613a2f613a16613a0b87601b614925565b610601886024614925565b610606613a24886023614925565b61060189601c614925565b8152613a74613a69613a50613a4588601b614925565b61060189601e614925565b610606613a5e89601c614925565b6106018a601d614925565b610624876025614925565b60408201819052613a8990600160441b6120d1565b60408201819052613a9f90610624876026614925565b604082018190528151613ab291906120ea565b60408201819052613ac890610601876005614925565b60408201528051613add90600160441b6120d1565b808252613afd90610606613af2886023614925565b610601896024614925565b80825260208201819052613b1990610624612fe488601d614925565b60208201819052613b2f90610601876004614925565b6020820152805160608201819052613b4c9061060687601e614925565b60608201819052613b7090610624613b65886025614925565b610606896026614925565b60608201819052613b8590610601875f614925565b8160600181815250505f613bae613ba4836020015184604001516120ea565b83606001516120ea565b9050613bbf81610601886003614925565b9050613bd7613bcf876024614925565b6140006120d1565b60808301819052613bed90610606886023614925565b60808301819052613c00906140006120d1565b60808301819052613c169061060688601d614925565b60808301819052613c29906140006120d1565b60808301819052613c3f9061060688601c614925565b60808301819052613c52906140006120d1565b60808301819052613c689061060688601b614925565b60808301819052613c7e9061062488601e614925565b60808301819052613c9490610601886005614925565b6080830152613ca7613bcf876025614925565b60a08301819052613cbd90610606886024614925565b60a08301819052613cd0906140006120d1565b60a08301819052613ce690610606886023614925565b60a08301819052613cf9906140006120d1565b60a08301819052613d0f9061060688601e614925565b60a08301819052613d22906140006120d1565b60a08301819052613d389061060688601d614925565b60a08301819052613d4e90610624886026614925565b60a08301819052613d6390610601885f614925565b60a0830181905260808301515f91613d7b91906120ea565b9050613d8c81610601896004614925565b9050613da6613d9c88601d614925565b87604001516120d1565b60c08401819052613dbf906106066132758a601c614925565b60c08401819052613ddf90610606613dd88a601b614925565b89516120d1565b60c08401819052613df590610606896001614925565b60c0840181905260e08401819052613e129061062489601e614925565b60c0840152613e2561346e886023614925565b610140840152613e44613e39886026614925565b61062489601e614925565b610120840152610140830151613e6990613e5e90806120d1565b846101400151612103565b610280840152610140830151613eab90613ea090613e999061060160015f51602061523b5f395f51905f52614f6c565b60016120ea565b8461012001516120d1565b6101608401819052613ee290613ed490610601613ec98b6002614925565b6106018c6003614925565b6106016134018a600a614925565b6101a0860152610280830151613f0490613ed490610601613ec98b6002614925565b6101c086015260c0830151613f2c90610601613f218a6002614925565b6106018b6003614925565b6101e08401525f613f4b613f4189601e614925565b8560e00151612103565b9050613f5a61389a82836120d1565b6101a0850152613f6e61328d896025614925565b6101008501819052613f9290610606613f888b6024614925565b8a602001516120d1565b6101008501819052613fac906106066132608b6023614925565b610100850152613fcb613fc0896026614925565b856101000151612103565b6101008501525f613fe06134a68a6025614925565b905061403461400e612f0c613e9988610140015160015f51602061523b5f395f51905f526106019190614f6c565b610601613e9988610100015160015f51602061523b5f395f51905f526106019190614f6c565b6101808601526101008501516140599061404e90806120d1565b866101000151612103565b6101c086015261018085015161408c90614078906106018c6007614925565b6106016140868c600a614925565b896120d1565b6101e08801526102808501516140ab90614078906106018c6007614925565b6102008801526101c08501516140ca90614078906106018c6007614925565b6102208801526101a08501516140e5906106018b6007614925565b6102008601526141046140f98a6024614925565b6106248b601c614925565b610220860152610140850151614143906134a69061413890613e999061060160015f51602061523b5f395f51905f52614f6c565b8761022001516120d1565b61024086018190526101e0860151610260870181905261417a916106069061060161416f8e6005614925565b6106018f6002614925565b610260860181905260c086015161419d91906106069061060161416f8e5f614925565b61026086018190526102008601516141b591906120ea565b61026086018190526141cb9061377290866120ea565b6102a086018190526141e5906106016140868c600a614925565b6102a0860181905287600c6020020152505050505050505050565b6142766040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61428f61428485601b614925565b610606866002614925565b81526142aa61429f85601c614925565b610606866003614925565b60208201526142c86142bd85601d614925565b610606866004614925565b60408201526142e66142db85601e614925565b610606866005614925565b60608201528051614318906143119061430a9061430390806120d1565b84516120d1565b83516120d1565b82516120d1565b608082015260208101516143569061434c906143429061433890806120d1565b84602001516120d1565b83602001516120d1565b82602001516120d1565b60a082015260408101516143949061438a906143809061437690806120d1565b84604001516120d1565b83604001516120d1565b82604001516120d1565b60c082015260608101516143d2906143c8906143be906143b490806120d1565b84606001516120d1565b83606001516120d1565b82606001516120d1565b60e0820152608081015160a08201516143eb91906120ea565b61010082015260c081015160e082015161440591906120ea565b61012082015260a08101516144299061441e90806120ea565b8261012001516120ea565b61014082015260e081015161444d9061444290806120ea565b8261010001516120ea565b61016082015261012081015161446390806120ea565b6101e082018190526144849061447990806120ea565b8261016001516120ea565b6101e082015261010081015161449a90806120ea565b6101a082018190526144bb906144b090806120ea565b8261014001516120ea565b6101a082018190526101608201516144d2916120ea565b6101808201526101408101516101e08201516144ee91906120ea565b6101c0820152614502612f0c85600b614925565b610200820181905261024084015161018083015161452d9261060691610601906106248a6023614925565b836012602002015261455d8360136020020151610606836102000151610601856101a001516106248a6024614925565b836013602002015261458d8360146020020151610606836102000151610601856101c001516106248a6025614925565b83601460200201526145bd8360156020020151610606836102000151610601856101e001516106248a6026614925565b836015602002015250505050565b61461d6040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60405180608001604052806146527f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e76120b3565b81526020016146807f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b6120b3565b81526020016146ad7e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac156120b3565b81526020016146db7f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b6120b3565b905290506146f86146ed86601b614925565b610606876002614925565b610120830181905261472c9061472190613ea09061471690806120d1565b8561012001516120d1565b8361012001516120d1565b825261473985601c614925565b602083015261474985601d614925565b604083015261475985601e614925565b60608301528151602083015161478191613ba49161477791906120ea565b84604001516120ea565b60808301526147946131be86600c614925565b61014083015281516147b5906147ab90835f610ef3565b83608001516120ea565b60a08301526147e184601660200201516106068461014001516106018660a001516106248b6023614925565b6102c085015260208201516147fc906147ab90836001610ef3565b60c083015261482884601760200201516106068461014001516106018660c001516106248b6024614925565b6102e08501526040820151614843906147ab90836002610ef3565b60e083015261486f84601860200201516106068461014001516106018660e001516106248b6025614925565b610300850152606082015161488a906147ab90836003610ef3565b6101008301526148b884601960200201516106068461014001516106018661010001516106248b6026614925565b846019613045565b5f6148cc8184816108d3565b905060015b601a81101561491e57614914826106068684601a81106148f3576148f3614fb9565b602002015186614904600187614f6c565b60198110610ef357610ef3614fb9565b91506001016148d1565b5092915050565b5f8282602781111561493957614939615206565b6028811061494957614949614fb9565b60200201519392505050565b604051806103c001604052805f81526020015f81526020015f815260200161497b614dac565b8152602001614988614dac565b8152602001614995614dac565b81526020016149a2614dac565b81526020016149af614dac565b81526020016149bc614dac565b81526020016149c9614dac565b81526020016149d6614dac565b81526020016149e3614dac565b81526020016149f0614dac565b81526020016149fd614dac565b8152602001614a0a614dac565b8152602001614a17614dac565b8152602001614a24614dac565b8152602001614a31614dac565b8152602001614a3e614dac565b8152602001614a4b614dac565b8152602001614a58614dac565b8152602001614a65614dac565b8152602001614a72614dac565b8152602001614a7f614dac565b8152602001614a8c614dac565b8152602001614a99614dac565b8152602001614aa6614dac565b8152602001614ab3614dac565b8152602001614ac0614dac565b8152602001614acd614dac565b905290565b604051806101e00160405280614ae6614de3565b8152602001614af3614c42565b8152602001614b00614c42565b8152602001614b0d614c42565b8152602001614b1a614c42565b8152602001614b27614c42565b8152602001614b34614c42565b8152602001614b41614c42565b8152602001614b4e614c42565b8152602001614b5b614e02565b8152602001614b68614e30565b8152602001614b75614e4f565b8152602001614b82614cd4565b8152602001614b8f614c42565b8152602001614acd614c42565b604051806101000160405280614bb0614c66565b8152602001614bbd614c96565b8152602001614bca614cd4565b8152602001614bd7614cd4565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806108c001604052806046906020820280368337509192915050565b604051806108c001604052806046905b614c2c614dac565b815260200190600190039081614c245790505090565b60405180608001604052805f81526020015f81526020015f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061032001604052806019906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061052001604052806029906020820280368337509192915050565b60405180610da00160405280606d906020820280368337509192915050565b604051806103a00160405280601d906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b604051806103400160405280601a906020820280368337509192915050565b60405180604001604052805f81526020015f81525090565b604051806101a00160405280600d906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b614e1a614d6e565b815260200190600190039081614e125790505090565b6040518061050001604052806028906020820280368337509192915050565b604051806103600160405280601b905b614e67614c42565b815260200190600190039081614e5f5790505090565b5f5f5f5f60408587031215614e90575f5ffd5b84356001600160401b03811115614ea5575f5ffd5b8501601f81018713614eb5575f5ffd5b80356001600160401b03811115614eca575f5ffd5b876020828401011115614edb575f5ffd5b6020918201955093508501356001600160401b03811115614efa575f5ffd5b8501601f81018713614f0a575f5ffd5b80356001600160401b03811115614f1f575f5ffd5b8760208260051b8401011115614f33575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176120cb576120cb614f41565b818103818111156120cb576120cb614f41565b808201808211156120cb576120cb614f41565b5f5f85851115614fa0575f5ffd5b83861115614fac575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b5f60018201614fde57614fde614f41565b5060010190565b803560208310156120cb575f19602084900360031b1b1692915050565b5f8183825b6009811015615026578151835260209283019290910190600101615007565b5050506101208201905092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261505857615058615036565b500490565b5f8183825b6029811015615081578151835260209283019290910190600101615062565b5050506105208201905092915050565b5f8183825b606d8110156150b5578151835260209283019290910190600101615096565b505050610da08201905092915050565b5f8183825b601d8110156150e95781518352602092830192909101906001016150ca565b5050506103a08201905092915050565b5f8183825b600581101561511d5781518352602092830192909101906001016150fe565b50505060a08201905092915050565b5f8261513a5761513a615036565b500690565b5f8161514d5761514d614f41565b505f190190565b5f82518060208501845e5f920191825250919050565b5f6020828403121561517a575f5ffd5b815180151581146119f5575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b81515f90829060208501835b828110156151c75781518452602093840193909101906001016151a9565b509195945050505050565b5f8183825b600d8110156151f65781518352602092830192909101906001016151d7565b5050506101a08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
|
|
4
|
+
export declare const HonkVerifierBytecode = "0x60e0604052348015600e575f5ffd5b506302000000608052601960a05260ae60c05260805160a05160c05161525b6100595f395f61063401525f818161073f01528181610d210152610dbd01525f6105d8015261525b5ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004614e7d565b610054565b604051901515815260200160405180910390f35b5f6100626101c86020614f55565b8414610081576040516376ba560560e11b815260040160405180910390fd5b5f61008a6101a5565b90505f61009787876101ba565b9050601082604001516100aa9190614f6c565b84146100c95760405163fa06659360e01b815260040160405180910390fd5b5f6100e0828787865f015187604001516001610513565b90506101308686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050855185516060810151608090910151919350915060016105c2565b815160a001525f6101418383610737565b905080610161576040516313f8744360e31b815260040160405180910390fd5b5f61016d848685610838565b90508061018d576040516352ec174560e11b815260040160405180910390fd5b8180156101975750805b9a9950505050505050505050565b6101ad614955565b6101b56110b5565b905090565b6101c2614ad2565b5f805b6010811015610224576101f18583866101df826020614f7f565b926101ec93929190614f92565b61199b565b8351826010811061020457610204614fb9565b60200201818152505060208261021a9190614f7f565b91506001016101c5565b50610248848285610236826080614f7f565b9261024393929190614f92565b6119fc565b6020830152610258608082614f7f565b905061026b848285610236826080614f7f565b604083015261027b608082614f7f565b905061028e848285610236826080614f7f565b606083015261029e608082614f7f565b90506102b1848285610236826080614f7f565b60c08301526102c1608082614f7f565b90506102d4848285610236826080614f7f565b60e08301526102e4608082614f7f565b90506102f7848285610236826080614f7f565b60808084019190915261030a9082614f7f565b905061031d848285610236826080614f7f565b61010083015261032e608082614f7f565b9050610341848285610236826080614f7f565b60a0830152610351608082614f7f565b90505f5b601c8110156103d0575f5b60088110156103c75761037a8684876101df826020614f7f565b84610120015183601c811061039157610391614fb9565b602002015182600881106103a7576103a7614fb9565b6020020181815250506020836103bd9190614f7f565b9250600101610360565b50600101610355565b505f5b6028811015610424576103ed8583866101df826020614f7f565b836101400151826028811061040457610404614fb9565b60200201818152505060208261041a9190614f7f565b91506001016103d3565b505f5b6104336001601c614f6c565b81101561047c5761044b858386610236826080614f7f565b83610160015182601b811061046257610462614fb9565b6020020152610472608083614f7f565b9150600101610427565b505f5b601c8110156104d0576104998583866101df826020614f7f565b83610180015182601c81106104b0576104b0614fb9565b6020020181815250506020826104c69190614f7f565b915060010161047f565b506104e2848285610236826080614f7f565b6101a08301526104f3608082614f7f565b9050610506848285610236826080614f7f565b6101c08301525092915050565b61051b614b9c565b5f61052b88888888888887611acc565b908352905061053a8189611b22565b6020840191909152905061054d81611cbc565b604084019190915290506105618882611d1d565b606084019190915290506105758882611df1565b608084019190915290506105898882611e7c565b60a0840191909152905061059d8882611fea565b60c084019190915290506105b1888261205c565b5060e0830152509695505050505050565b5f6001808261060b86610606896106016105fc8a7f0000000000000000000000000000000000000000000000000000000000000000614f7f565b6120b3565b6120d1565b6120ea565b90505f610629876106248a6106016105fc8b6001614f7f565b612103565b90505f5b61065860107f0000000000000000000000000000000000000000000000000000000000000000614f6c565b8110156106c5575f6106828c838151811061067557610675614fb9565b60200260200101516120b3565b90506106928661060186846120ea565b95506106a28561060185846120ea565b94506106ae848b6120ea565b93506106ba838b612103565b92505060010161062d565b505f5b601081101561072c575f8a82601081106106e4576106e4614fb9565b602002015190506106f98661060186846120ea565b95506107098561060185846120ea565b9450610715848b6120ea565b9350610721838b612103565b9250506001016106c8565b506101978484612132565b5f806001815b7f000000000000000000000000000000000000000000000000000000000000000081101561080e575f86610120015182601c811061077d5761077d614fb9565b602002015190505f61078f8286612140565b9050806107af576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c81106107c6576107c6614fb9565b602002015190506107d7838261215d565b95506107fe886040015185601c81106107f2576107f2614fb9565b6020020151868361230c565b945050505080600101905061073d565b505f610828866101400151865f0151876020015185612337565b90508281145b9695505050505050565b5f61087f6040518061012001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61088d8460a001516123a5565b9050610897614bf5565b61089f614c14565b60e08601516108be906108b990855f5b6020020151612103565b61240a565b60a085015260e08601516108dd906108b990855f5b60200201516120ea565b60c080860182905260a0860151908801516108fc9261060691906120d1565b845260a086015161092a906109109061240a565b6106018660a001516106248a60c001518960c001516120d1565b6020850152600182526101a088015161094290612473565b81526001606085018190525f60808601525b602381116109fa5761097561096b865f01516124b2565b86606001516120d1565b83826046811061098757610987614fb9565b602002015260808501516101408a01516109ca9190610606906109ab600186614f6c565b602881106109bb576109bb614fb9565b602002015188606001516120d1565b8560800181815250506109e5856060015188608001516120d1565b60608601526109f381614fcd565b9050610954565b505f610a0860236001614f7f565b90505b60288111610a8957610a2361096b86602001516124b2565b838260468110610a3557610a35614fb9565b602002015260808501516101408a0151610a599190610606906109ab600186614f6c565b856080018181525050610a74856060015188608001516120d1565b6060860152610a8281614fcd565b9050610a0b565b50606087015181600160200201526080870151816002602002015260a0870151816003602002015260c0870151816004602002015260e0870151816005602002015261010087015181600660200201526101208701518160076020020152610140870151816008602002015261016087015181600960200201526101a087015181600a602002015261018087015181600b60200201526101c087015181600c60200201526101e087015181600d602002015261020087015181600e602002015261022087015181600f60200201526102408701518160106020020152610260870151816011602002015261028087015181601260200201526102a087015181601360200201526102c087015181601460200201526102e08701518160156020020152610300870151816016602002015261032087015181601760200201526103408701518160186020020152610360870151816019602002015261038087015181601a60200201526103a087015181601b6020020181905250610c0f8860200151612473565b6103808201526040880151610c2390612473565b6103a08201526060880151610c3790612473565b6103c08201526080880151610c4b90612473565b6103e082015260a0880151610c5f90612473565b610400820152610100880151610c7490612473565b61042082015260c0880151610c8890612473565b61044082015260e0880151610c9c90612473565b6104608201526020880151610cb090612473565b6104808201526040880151610cc490612473565b6104a08201526060880151610cd890612473565b6104c08201526080880151610cec90612473565b6104e082015260a0880151610d0090612473565b610500820152606086015160808501516101808a01515f92610d45929091877f00000000000000000000000000000000000000000000000000000000000000006124ca565b805160a0870151919250610d58916120d1565b604086018190526101808a01515160c0890151610d88929161060691610d7e91906120d1565b8860c001516120d1565b604086015260c0870151610d9b906125e5565b60608601525f5b610dae6001601c614f6c565b811015610fb0575f610de160017f0000000000000000000000000000000000000000000000000000000000000000614f6c565b821015905080610f5657610e146108b98a60e0015188856001610e049190614f7f565b601c81106108af576108af614fb9565b60a088015260e0890151610e42906108b99088610e32866001614f7f565b601c81106108d3576108d3614fb9565b60c0880152606087015160a0880151610e5b91906120d1565b60e0880152606087015160c08a0151610e7791610d7e916120d1565b6101008801819052610e9990610e8c906124b2565b6106068960e001516124b2565b8583610ea760286001614f7f565b610eb19190614f7f565b60468110610ec157610ec1614fb9565b60200201526101008701516101808c01515f91610efd91610ee3866001614f7f565b601c8110610ef357610ef3614fb9565b60200201516120d1565b9050610f19816106068a60e0015187876001610ee39190614f7f565b9050610f298860400151826120ea565b6040890152606088015160c08b0151610f4f91610f45916120d1565b8b60c001516120d1565b6060890152505b610f7a8b610160015183601b8110610f7057610f70614fb9565b6020020151612473565b8483610f8860286001614f7f565b610f929190614f7f565b60468110610fa257610fa2614fb9565b602002015250600101610da2565b5060408051808201909152600181526002602082015282610fd3601c6028614f7f565b60468110610fe357610fe3614fb9565b6020020152604085015183610ffa601c6028614f7f565b6046811061100a5761100a614fb9565b60200201526101c08901515f9061102090612473565b90508083611030601c6028614f7f565b61103b906001614f7f565b6046811061104b5761104b614fb9565b602002015260e088015184611062601c6028614f7f565b61106d906001614f7f565b6046811061107d5761107d614fb9565b60200201525f61108d84866125f0565b90505f611099836126b6565b90506110a582826126fc565b9c9b505050505050505050505050565b6110bd614955565b50604080516103c08101825263020000008152601960208083019190915260ae82840152825180840184527f296c048f672e69ffd2f6f448bee018778b0f51471cb51e7fcac140987abb6d4981527f015876b40d660b83971291a9668ec63c22387d724064a1ea0064d58496d22c78818301526060830152825180840184527f11337676adcbe7e454d01378b180f950e188cb8689fb2dedda6a418cb5b967d981527f18aa1139fae729f65b7df7cd23b1024cc66c43eb99783a203699272578458804818301526080830152825180840184527f0b167e94ce9e1b30cbe75a54326819c432c617710424cdea76573ee379643b8981527f19cacd01706e20a50829a24552244c377f178ac5d5a216483ca876f8ee80f6e28183015260a0830152825180840184527f2ab0da41e55ea9a707b9660a23ca118918ee37622ce80f5257a7b2f45820eeb081527f17e197ce62628c9cd22cbf1b6a80ca67b355d1bc0a7bc42ca57483b5f51b749f8183015260c0830152825180840184527f12a438a0bef0484cf3bb81e69332f4644961e8b711b31c3029049af1a7ca644d81527f0fb332412844f8d999ac220aa83b5b6235074cd7abaf77d6e7a21808f9852efc8183015260e0830152825180840184527f0e32bd5410b8c15ecb82eb844d667e9ddd627b9fd877ef852ea3cdb5885f1e0081527f0932754e83a453555535d92564ee4906024a6dddc0a7db5ddabb02a3a4c81d1d81830152610100830152825180840184527f01a8abe0d74344165494348196db5fa7da3a745f398fd1374cc2cb15bcc58ff481527f0f62b9babe865f3d0c422867d8b7f7fa5c13d85721a659f3b9ff8fc8cc6fc99281830152610120830152825180840184527f08a66e1db746beeee65a6b1cd56f561627b8486861c0c0476f9ea0aed910a18681527f2208847abf97a652ffdab1f09319cfd25ba497c613e899641c101d9897fe019381830152610140830152825180840184527f0a91b1fb80c6020a83575a8a6cf75f703aae4e7af55107f29aaa97f4a547ae3a81527f08956d05d94f9fc3e8187961aed8c4a4e84ee694ff4256da254066135722cf1281830152610160830152825180840184527f214f297c0d703e2f16fac80dfc196f051aaf97766333e2498780b0e6b025162481527f1a7a896dc2bdf383fad2048249b30bdd244eebf599d5eb446976d65358d6c74081830152610180830152825180840184527f0d1d48217fcccec8a0389af1d125fcb9822657ef41ee1adb9e894afc0e040ef881527f016d65829547fd8dbbf859fb092b506033c05eacf8469a88495cb5573ccf52be818301526101a0830152825180840184527f1dfd48a2e195b116c9a9594631762e0c8bcc1755f9fa3d9628d618202df23d8381527f20136ebe90ded75bb3b0a17c4c9806f8954909285a40631d348e6c551d0c7c00818301526101c0830152825180840184527f2ce0b2207d481c14ec3ce9a811512d003502b6b33a0a64c9784d1b5314b8fd9281527f27ca6e86a7e24fe253dd6c8185d61e3680b5ca2dee48c3baf4b9eb9e7404edde818301526101e0830152825180840184527f229dd377a124d1fa9a67511b6e6ba5efe58f966ed7a2736c07389b46b7f1b5a581527f225fdf4894076b7460b67034035d69baf367c43da6df2f099ff380b70fa9d2fa81830152610200830152825180840184527f21effd079664809013c23a6b6e2dd1d0a107b0c39058073e3a4a58a8f7a37f4181527f1f98719e8de171b8d9403d9395c66daadad528d63991fc51cce3871f9881259381830152610220830152825180840184527f1d997cf3720e9b93b5aba083b7fb0b86a36bf3b7d111352c725357b0952ab03181527e8cb4bfa66a4aed33cf271aba459f3dae95b95b2bf6d0c4153ee8156bd8752981830152610240830152825180840184527f0b06edcdcb0014b9eff54575de85cf4d120b9661f97dec1b4d62e8f49529e72981527f19e96d5daed6cf836f6bbf69fcfd37a171e6a75a2a4880434d1487a697fb555b81830152610260830152825180840184527f08e4e0dbe9a6fd571ff9cecfcce6016c0c2f8430fc3f7a103210e4181545f46c81527f147f92e90680b6a1c81706404d0ff734597c4999ab31dc2a55771e792115e95381830152610280830152825180840184527f11084666ed36e4bb300a6de30090c44609d94dd55832589330f59b60ce74798181527f264a38d77c0a3f584817dfec4bfd000f5d861fc1f05ce6f58a42f9761fd98440818301526102a0830152825180840184527f21317315c7d676de4d3934abad07100b14ff0628db7f8ed90dae69381ba7904981527f02be986b88ecc0337a1aafcbca7dd50ed3847376f111ff85b1d1e6bd76cb0238818301526102c0830152825180840184527f01c380c8914f2e4624ca68ace62bcbe9ab6e0854c0e3853847396590ad851c7781527f1ddd8f5c54c55b8af3298f9fb27aa7b18118d8c271a4ef61252bedf13cf40540818301526102e0830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610300830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610320830152825180840184527f09d569252b4b229e483b00b1e67384ac4db29395d32e28c82f8b73983d30ac6b81527f2c47d5809e56ba32be655d4177db195bb450fd12587756c4b85b6506a7844ddb81830152610340830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c81830152610360830152825180840184526001815260028183015261038083015282518084019093527f0d25ddd9e3d286418e2b85087c03c276e0a43c27c7540e6d4505ae170ff945da83527f262531ae6de2886b909e4ef263ec58f4a7a6029d2db554e6cc600cb036dfa19b908301526103a081019190915290565b5f602082146119e85760405162461bcd60e51b815260206004820152601460248201527334b73b30b634b210313cba32b99039b1b0b630b960611b60448201526064015b60405180910390fd5b6119f56105fc8385614fe5565b9392505050565b611a04614c42565b60808214611a4a5760405162461bcd60e51b81526020600482015260136024820152721a5b9d985b1a5908189e5d195cc81c1bda5b9d606a1b60448201526064016119df565b604080516080810190915280611a6360205f8688614f92565b611a6c91614fe5565b8152602090810190611a82906040908688614f92565b611a8b91614fe5565b8152602001611a9e606060408688614f92565b611aa791614fe5565b8152602001611aba608060608688614f92565b611ac391614fe5565b90529392505050565b611ad4614c66565b5f611ae3898989898989612900565b604086019190915260208501919091529083529250611b02838a612da6565b608085019190915260608401919091529199919850909650505050505050565b611b2a614c96565b5f611b33614cb5565b848152610100848101805151602080850191909152815181015160408086019190915282518101516060808701919091529251830151608086015260a080890180515191870191909152805183015160c0870152805182015160e087015251909201519284019290925251611bc991611bae91849101615002565b604051602081830303815290604052805190602001206120b3565b9150611bd482612e75565b6020850152835260015b611bea6002601961504a565b811015611c6a57611c0783604051602001611bae91815260200190565b9250611c1283612e75565b85611c1e846002614f55565b60198110611c2e57611c2e614fb9565b6020020186611c3e856002614f55565b611c49906001614f7f565b60198110611c5957611c59614fb9565b602002019190915252600101611bde565b50611c8182604051602001611bae91815260200190565b91505f611c8d83612e75565b85611c9a60016019614f6c565b60198110611caa57611caa614fb9565b60200201919091525050509250929050565b611cc4614cd4565b5f805b601c811015611d1657611ce684604051602001611bae91815260200190565b93505f611cf285612e75565b8584601c8110611d0457611d04614fb9565b60200201919091525050600101611cc7565b5090929050565b611d25614cd4565b5f805b601c811015611de857611d39614cb5565b8481525f5b6008811015611da25786610120015183601c8110611d5e57611d5e614fb9565b60200201518160088110611d7457611d74614fb9565b602002015182611d85836001614f7f565b60098110611d9557611d95614fb9565b6020020152600101611d3e565b50611db781604051602001611bae9190615002565b94505f611dc386612e75565b8685601c8110611dd557611dd5614fb9565b6020020191909152505050600101611d28565b50909391925050565b5f5f611dfb614cf3565b8381525f5b6028811015611e4e578561014001518160288110611e2057611e20614fb9565b602002015182611e31836001614f7f565b60298110611e4157611e41614fb9565b6020020152600101611e00565b50611e6381604051602001611bae919061505d565b91505f611e6f83612e75565b5096929550919350505050565b5f5f611e86614d12565b8381525f5b611e976001601c614f6c565b811015611fd55785610160015181601b8110611eb557611eb5614fb9565b60200201515182611ec7836004614f55565b611ed2906001614f7f565b606d8110611ee257611ee2614fb9565b602002015261016086015181601b8110611efe57611efe614fb9565b60200201516020015182826004611f159190614f55565b611f20906002614f7f565b606d8110611f3057611f30614fb9565b602002015261016086015181601b8110611f4c57611f4c614fb9565b60200201516040015182611f61836004614f55565b611f6c906003614f7f565b606d8110611f7c57611f7c614fb9565b602002015261016086015181601b8110611f9857611f98614fb9565b60200201516060015182611fad836004614f55565b611fb8906004614f7f565b606d8110611fc857611fc8614fb9565b6020020152600101611e8b565b50611e6381604051602001611bae9190615091565b5f5f611ff4614d31565b8381525f5b601c8110156120475785610180015181601c811061201957612019614fb9565b60200201518261202a836001614f7f565b601d811061203a5761203a614fb9565b6020020152600101611ff9565b50611e6381604051602001611bae91906150c5565b5f5f612066614d50565b8381526101a085018051516020808401919091528151810151604080850191909152825181015160608086019190915292519092015160808401529051611e6391611bae918491016150f9565b5f6120cb5f51602061523b5f395f51905f528361512c565b92915050565b5f5f51602061523b5f395f51905f528284099392505050565b5f5f51602061523b5f395f51905f528284089392505050565b5f5f51602061523b5f395f51905f52612129835f51602061523b5f395f51905f52614f6c565b84089392505050565b5f6119f5836106018461240a565b81515f908190612152908560016108d3565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b60088110156122445761223a826106018784612103565b9150600101612223565b5061224d614d6e565b5f5b60088110156122ae575f84826008811061226b5761226b614fb9565b60200201519050612280816106018985612103565b905061228b8161240a565b9050808383600881106122a0576122a0614fb9565b60200201525060010161224f565b505f5b6008811015612301575f8782600881106122cd576122cd614fb9565b602002015190506122ea81848460088110610ef357610ef3614fb9565b90506122f686826120ea565b9550506001016122b1565b5061082e84836120d1565b5f5f612322600161060685610601896001612103565b905061232e84826120d1565b95945050505050565b5f612340614d8d565b61234b868285612ea5565b61235786868386613051565b61236386868386613239565b61236e868285613435565b61237986828561361d565b61238586868386613966565b612390868285614200565b61239b8682856145cb565b61082e81856148c0565b6123ad614cd4565b81815260015b601c811015612404576123e5826123cb600184614f6c565b601c81106123db576123db614fb9565b60200201516125e5565b8282601c81106123f7576123f7614fb9565b60200201526001016123b3565b50919050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f51602061523b5f395f51905f520360808201525f51602061523b5f395f51905f5260a082015260205f60c08360055afa905080612468575f5ffd5b50505f519392505050565b61247b614dac565b604051806040016040528060888460200151901b845f015117815260200160888460600151901b8460400151178152509050919050565b5f6120cb825f51602061523b5f395f51905f52614f6c565b6124d2614cd4565b601c5b80156125db575f846124e8600184614f6c565b601c81106124f8576124f8614fb9565b602002015190505f8861250c600185614f6c565b601c811061251c5761251c614fb9565b602002015190505f61257761253b612534858c6120d1565b60026120d1565b6106248a61254a600189614f6c565b601c811061255a5761255a614fb9565b60200201516106016125718861060160018a612103565b87612103565b9050612598816106016108b961259287610601600189612103565b866120ea565b90508584116125c75797508780856125b1600187614f6c565b601c81106125c1576125c1614fb9565b60200201525b505050806125d49061513f565b90506124d5565b5095945050505050565b5f6120cb82836120d1565b6125f8614dac565b5f612605601c6028614f7f565b612610906002614f7f565b90506001604051855151604082015285516020015160608201528451608082015260408160606040840160075afa8216915060015b8381101561269e5760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612645565b50805184526020810151602085015250505092915050565b6126be614dac565b5f51602061521b5f395f51905f5282602001515f51602061521b5f395f51905f526126e99190614f6c565b6126f3919061512c565b60208301525090565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516128929190615154565b5f60405180830381855afa9150503d805f81146128ca576040519150601f19603f3d011682016040523d82523d5f602084013e6128cf565b606091505b50915091505f818060200190518101906128e9919061516a565b90508280156128f55750805b979650505050505050565b5f80808080612910876003614f7f565b61291b90600c614f7f565b6001600160401b0381111561293257612932615189565b60405190808252806020026020018201604052801561295b578160200160208202803683370190505b509050875f1b815f8151811061297357612973614fb9565b602002602001018181525050865f1b8160018151811061299557612995614fb9565b602002602001018181525050855f1b816002815181106129b7576129b7614fb9565b60209081029190910101525f5b6129cf601089614f6c565b811015612a20578a8a828181106129e8576129e8614fb9565b90506020020135828260036129fd9190614f7f565b81518110612a0d57612a0d614fb9565b60209081029190910101526001016129c4565b505f5b6010811015612a91578b51612a4b908260108110612a4357612a43614fb9565b602002015190565b82826010612a5a8c6003614f7f565b612a649190614f6c565b612a6e9190614f7f565b81518110612a7e57612a7e614fb9565b6020908102919091010152600101612a23565b5060208b01515181612aa4896003614f7f565b81518110612ab457612ab4614fb9565b6020908102919091018101919091528b810151015181612ad5896003614f7f565b612ae0906001614f7f565b81518110612af057612af0614fb9565b6020908102919091018101919091528b01516040015181612b12896003614f7f565b612b1d906002614f7f565b81518110612b2d57612b2d614fb9565b6020908102919091018101919091528b01516060015181612b4f896003614f7f565b612b5a906003614f7f565b81518110612b6a57612b6a614fb9565b602090810291909101015260408b01515181612b87896003614f7f565b612b92906004614f7f565b81518110612ba257612ba2614fb9565b60209081029190910181019190915260408c0151015181612bc4896003614f7f565b612bcf906005614f7f565b81518110612bdf57612bdf614fb9565b60209081029190910101526040808c0151015181612bfe896003614f7f565b612c09906006614f7f565b81518110612c1957612c19614fb9565b602090810291909101015260408b01516060015181612c39896003614f7f565b612c44906007614f7f565b81518110612c5457612c54614fb9565b602090810291909101015260608b01515181612c71896003614f7f565b612c7c906008614f7f565b81518110612c8c57612c8c614fb9565b60209081029190910181019190915260608c0151015181612cae896003614f7f565b612cb9906009614f7f565b81518110612cc957612cc9614fb9565b602090810291909101015260608b01516040015181612ce9896003614f7f565b612cf490600a614f7f565b81518110612d0457612d04614fb9565b60209081029190910101526060808c0151015181612d23896003614f7f565b612d2e90600b614f7f565b81518110612d3e57612d3e614fb9565b602002602001018181525050612d5e81604051602001611bae919061519d565b9150612d6982612e75565b6040805160208101869052929750909550612d849101611bae565b91505f612d9083612e75565b50959c949b509499509097509195505050505050565b5f5f5f612db1614dc4565b85815260c085810180515160208085019190915281518101516040808601919091528251810151606080870191909152925183015160808087019190915260e0808b0180515160a089015280518501519688019690965285518301519087015293518301516101008601529288018051516101208601528051820151610140860152805184015161016086015251909101516101808401529051612e5b91611bae918491016151d2565b9150612e6682612e75565b90979096509194509092505050565b5f80826001600160801b038116608082901c612e90826120b3565b9450612e9b816120b3565b9350505050915091565b5f612eb1846007614925565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f612f12612f0c612ee6856003612103565b610601612f01612ef68b5f614925565b6106018c601c614925565b6106018b601b614925565b836120d1565b9050612f93612f88612f6f612f56612f3d85610606612f328d6002614925565b6106018e601b614925565b610606612f4b8c6003614925565b6106018d601c614925565b610606612f648b6004614925565b6106018c601d614925565b610606612f7d8a6005614925565b6106018b601e614925565b610606886001614925565b9050612fb281610606612fa7866001612103565b6106018a6026614925565b9050612fbe81846120d1565b9050612fca81856120d1565b8552505f9050613004612ffa612fef612fe488601b614925565b61060689601e614925565b610624886023614925565b610606875f614925565b905061301581610601846002612103565b905061302681610601846001612103565b905061303281836120d1565b905061303e81846120d1565b9050808460015b60200201525050505050565b5f5f5f61308761307d61306589601b614925565b6106066130738b6011614925565b8a606001516120d1565b87608001516120ea565b90506130c0816106016130b661309e8b601c614925565b6106066130ac8d6012614925565b8c606001516120d1565b89608001516120ea565b90506130e5816106016130b66130d78b601d614925565b6106066130ac8d6013614925565b905061310a816106016130b66130fc8b601e614925565b6106066130ac8d6014614925565b92505f905061312e61307d61312089601b614925565b6106066130738b600d614925565b9050613153816106016130b66131458b601c614925565b6106066130ac8d600e614925565b9050613178816106016130b661316a8b601d614925565b6106066130ac8d600f614925565b905061319d816106016130b661318f8b601e614925565b6106066130ac8d6010614925565b91505f90506131c46131be6131b389601f614925565b6106068a6019614925565b846120d1565b90506131f9816106246131f36131db8b6027614925565b6106066131e98d601a614925565b8c60a001516120d1565b856120d1565b905061320581856120d1565b6040860152505f6132286131f361321d89601a614925565b6106018a6027614925565b606090950194909452505050505050565b5f5f61329761327f6132676132526130b68a6015614925565b6106066132608b6016614925565b8a516120d1565b6106066132758a6017614925565b89602001516120d1565b61060661328d896018614925565b88604001516120d1565b91505f6132ce6132b56132ab89601b614925565b88608001516120ea565b6106066132c38a6003614925565b6106018b6023614925565b90505f6132f76132df89601c614925565b6106066132ec8b5f614925565b6106018c6024614925565b90505f6133216133088a601d614925565b6106066133168c6001614925565b6106018d6025614925565b905061336061334861333a85610606868d5f01516120d1565b610606848c602001516120d1565b6106066133568c6004614925565b8b604001516120d1565b93505050505f6133746131be886020614925565b90505f6133856131be896020614925565b90505f6133bd6133a46133998b6022614925565b6106068c6006614925565b6106246133b28c6022614925565b6106018d6006614925565b90505f6133e16133db6133d087896120d1565b6106018d6020614925565b83612103565b90506133ed81886120d1565b90505f6134156134076134018d6006614925565b876120d1565b6106246134018e6021614925565b60808a018390529050808960055b60200201525050505050505050505050565b5f6134415f6001612103565b90505f61344f5f6002612103565b90505f61345d5f6003612103565b90505f61347961346e88601c614925565b61062489601b614925565b90505f61349561348a89601d614925565b6106248a601c614925565b90505f6134b16134a68a601e614925565b6106248b601d614925565b90505f6134cd6134c28b6023614925565b6106248c601e614925565b9050836134de81610601818b6120ea565b90506134ee81610601878a6120ea565b90506134fe8161060187896120ea565b905061350f816106018d6008614925565b905061351b818a6120d1565b60c08b0152508261353081610601818b6120ea565b905061354081610601868a6120ea565b90506135508161060186896120ea565b9050613561816106018d6008614925565b905061356d818a6120d1565b60e08b0152508161358281610601818b6120ea565b905061359281610601858a6120ea565b90506135a28161060185896120ea565b90506135b3816106018d6008614925565b90506135bf818a6120d1565b6101008b015250806135d581610601818b6120ea565b90506135e581610601848a6120ea565b90506135f58161060184896120ea565b9050613606816106018d6008614925565b9050613612818a6120d1565b9050808a6009613423565b6136566040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61366184601c614925565b815261366e84601d614925565b602082015261367e846023614925565b604082015261368e846026614925565b606082015261369e846025614925565b60808201526136ae846024614925565b60a08201525f6136bf856002614925565b90505f6136cc865f614925565b90505f6136e08460400151855f0151612103565b90505f6136f5856020015186602001516120d1565b606086015190915086905f9061370b90806120d1565b90505f61372961372389602001518a606001516120d1565b886120d1565b90505f6137486137418a60a001518b604001516120ea565b8a516120ea565b905061375761340182886120d1565b905061377e61377861377261376c8487612103565b88612103565b846120ea565b836120ea565b90506137a661379b61379083876120d1565b6106018f6009614925565b61060160018a612103565b6101408c015250505050602085015160808601515f916137c5916120ea565b90505f6137e36137d98860600151886120d1565b8860200151612103565b90505f6138076137f384876120d1565b6106066131f38b60a001518c5f0151612103565b905061382f613824613819838c6120d1565b6106018e6009614925565b610601600189612103565b6101608b0152505f915061385090506138498360116120ea565b87516120d1565b90505f61385d83846120ea565b905061386981826120ea565b90505f6138778360096120d1565b90506138a061389a6131be6138938b60a001518c5f01516120ea565b8b516120ea565b82612103565b60c089018190525f906138bb9061372390613790908d6120d1565b90506138ce8b600a6020020151826120ea565b6101408c0152505086515f92506138f59150613849906138ee90806120ea565b88516120ea565b90505f613935613910836106018a5f01518b60a00151612103565b60208901516106249061392390806120ea565b6106018b602001518c608001516120ea565b905061395289600b6020020151610606613723613790858d6120d1565b89600b602002015250505050505050505050565b6139fa604051806102c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613a2f613a16613a0b87601b614925565b610601886024614925565b610606613a24886023614925565b61060189601c614925565b8152613a74613a69613a50613a4588601b614925565b61060189601e614925565b610606613a5e89601c614925565b6106018a601d614925565b610624876025614925565b60408201819052613a8990600160441b6120d1565b60408201819052613a9f90610624876026614925565b604082018190528151613ab291906120ea565b60408201819052613ac890610601876005614925565b60408201528051613add90600160441b6120d1565b808252613afd90610606613af2886023614925565b610601896024614925565b80825260208201819052613b1990610624612fe488601d614925565b60208201819052613b2f90610601876004614925565b6020820152805160608201819052613b4c9061060687601e614925565b60608201819052613b7090610624613b65886025614925565b610606896026614925565b60608201819052613b8590610601875f614925565b8160600181815250505f613bae613ba4836020015184604001516120ea565b83606001516120ea565b9050613bbf81610601886003614925565b9050613bd7613bcf876024614925565b6140006120d1565b60808301819052613bed90610606886023614925565b60808301819052613c00906140006120d1565b60808301819052613c169061060688601d614925565b60808301819052613c29906140006120d1565b60808301819052613c3f9061060688601c614925565b60808301819052613c52906140006120d1565b60808301819052613c689061060688601b614925565b60808301819052613c7e9061062488601e614925565b60808301819052613c9490610601886005614925565b6080830152613ca7613bcf876025614925565b60a08301819052613cbd90610606886024614925565b60a08301819052613cd0906140006120d1565b60a08301819052613ce690610606886023614925565b60a08301819052613cf9906140006120d1565b60a08301819052613d0f9061060688601e614925565b60a08301819052613d22906140006120d1565b60a08301819052613d389061060688601d614925565b60a08301819052613d4e90610624886026614925565b60a08301819052613d6390610601885f614925565b60a0830181905260808301515f91613d7b91906120ea565b9050613d8c81610601896004614925565b9050613da6613d9c88601d614925565b87604001516120d1565b60c08401819052613dbf906106066132758a601c614925565b60c08401819052613ddf90610606613dd88a601b614925565b89516120d1565b60c08401819052613df590610606896001614925565b60c0840181905260e08401819052613e129061062489601e614925565b60c0840152613e2561346e886023614925565b610140840152613e44613e39886026614925565b61062489601e614925565b610120840152610140830151613e6990613e5e90806120d1565b846101400151612103565b610280840152610140830151613eab90613ea090613e999061060160015f51602061523b5f395f51905f52614f6c565b60016120ea565b8461012001516120d1565b6101608401819052613ee290613ed490610601613ec98b6002614925565b6106018c6003614925565b6106016134018a600a614925565b6101a0860152610280830151613f0490613ed490610601613ec98b6002614925565b6101c086015260c0830151613f2c90610601613f218a6002614925565b6106018b6003614925565b6101e08401525f613f4b613f4189601e614925565b8560e00151612103565b9050613f5a61389a82836120d1565b6101a0850152613f6e61328d896025614925565b6101008501819052613f9290610606613f888b6024614925565b8a602001516120d1565b6101008501819052613fac906106066132608b6023614925565b610100850152613fcb613fc0896026614925565b856101000151612103565b6101008501525f613fe06134a68a6025614925565b905061403461400e612f0c613e9988610140015160015f51602061523b5f395f51905f526106019190614f6c565b610601613e9988610100015160015f51602061523b5f395f51905f526106019190614f6c565b6101808601526101008501516140599061404e90806120d1565b866101000151612103565b6101c086015261018085015161408c90614078906106018c6007614925565b6106016140868c600a614925565b896120d1565b6101e08801526102808501516140ab90614078906106018c6007614925565b6102008801526101c08501516140ca90614078906106018c6007614925565b6102208801526101a08501516140e5906106018b6007614925565b6102008601526141046140f98a6024614925565b6106248b601c614925565b610220860152610140850151614143906134a69061413890613e999061060160015f51602061523b5f395f51905f52614f6c565b8761022001516120d1565b61024086018190526101e0860151610260870181905261417a916106069061060161416f8e6005614925565b6106018f6002614925565b610260860181905260c086015161419d91906106069061060161416f8e5f614925565b61026086018190526102008601516141b591906120ea565b61026086018190526141cb9061377290866120ea565b6102a086018190526141e5906106016140868c600a614925565b6102a0860181905287600c6020020152505050505050505050565b6142766040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61428f61428485601b614925565b610606866002614925565b81526142aa61429f85601c614925565b610606866003614925565b60208201526142c86142bd85601d614925565b610606866004614925565b60408201526142e66142db85601e614925565b610606866005614925565b60608201528051614318906143119061430a9061430390806120d1565b84516120d1565b83516120d1565b82516120d1565b608082015260208101516143569061434c906143429061433890806120d1565b84602001516120d1565b83602001516120d1565b82602001516120d1565b60a082015260408101516143949061438a906143809061437690806120d1565b84604001516120d1565b83604001516120d1565b82604001516120d1565b60c082015260608101516143d2906143c8906143be906143b490806120d1565b84606001516120d1565b83606001516120d1565b82606001516120d1565b60e0820152608081015160a08201516143eb91906120ea565b61010082015260c081015160e082015161440591906120ea565b61012082015260a08101516144299061441e90806120ea565b8261012001516120ea565b61014082015260e081015161444d9061444290806120ea565b8261010001516120ea565b61016082015261012081015161446390806120ea565b6101e082018190526144849061447990806120ea565b8261016001516120ea565b6101e082015261010081015161449a90806120ea565b6101a082018190526144bb906144b090806120ea565b8261014001516120ea565b6101a082018190526101608201516144d2916120ea565b6101808201526101408101516101e08201516144ee91906120ea565b6101c0820152614502612f0c85600b614925565b610200820181905261024084015161018083015161452d9261060691610601906106248a6023614925565b836012602002015261455d8360136020020151610606836102000151610601856101a001516106248a6024614925565b836013602002015261458d8360146020020151610606836102000151610601856101c001516106248a6025614925565b83601460200201526145bd8360156020020151610606836102000151610601856101e001516106248a6026614925565b836015602002015250505050565b61461d6040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60405180608001604052806146527f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e76120b3565b81526020016146807f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b6120b3565b81526020016146ad7e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac156120b3565b81526020016146db7f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b6120b3565b905290506146f86146ed86601b614925565b610606876002614925565b610120830181905261472c9061472190613ea09061471690806120d1565b8561012001516120d1565b8361012001516120d1565b825261473985601c614925565b602083015261474985601d614925565b604083015261475985601e614925565b60608301528151602083015161478191613ba49161477791906120ea565b84604001516120ea565b60808301526147946131be86600c614925565b61014083015281516147b5906147ab90835f610ef3565b83608001516120ea565b60a08301526147e184601660200201516106068461014001516106018660a001516106248b6023614925565b6102c085015260208201516147fc906147ab90836001610ef3565b60c083015261482884601760200201516106068461014001516106018660c001516106248b6024614925565b6102e08501526040820151614843906147ab90836002610ef3565b60e083015261486f84601860200201516106068461014001516106018660e001516106248b6025614925565b610300850152606082015161488a906147ab90836003610ef3565b6101008301526148b884601960200201516106068461014001516106018661010001516106248b6026614925565b846019613045565b5f6148cc8184816108d3565b905060015b601a81101561491e57614914826106068684601a81106148f3576148f3614fb9565b602002015186614904600187614f6c565b60198110610ef357610ef3614fb9565b91506001016148d1565b5092915050565b5f8282602781111561493957614939615206565b6028811061494957614949614fb9565b60200201519392505050565b604051806103c001604052805f81526020015f81526020015f815260200161497b614dac565b8152602001614988614dac565b8152602001614995614dac565b81526020016149a2614dac565b81526020016149af614dac565b81526020016149bc614dac565b81526020016149c9614dac565b81526020016149d6614dac565b81526020016149e3614dac565b81526020016149f0614dac565b81526020016149fd614dac565b8152602001614a0a614dac565b8152602001614a17614dac565b8152602001614a24614dac565b8152602001614a31614dac565b8152602001614a3e614dac565b8152602001614a4b614dac565b8152602001614a58614dac565b8152602001614a65614dac565b8152602001614a72614dac565b8152602001614a7f614dac565b8152602001614a8c614dac565b8152602001614a99614dac565b8152602001614aa6614dac565b8152602001614ab3614dac565b8152602001614ac0614dac565b8152602001614acd614dac565b905290565b604051806101e00160405280614ae6614de3565b8152602001614af3614c42565b8152602001614b00614c42565b8152602001614b0d614c42565b8152602001614b1a614c42565b8152602001614b27614c42565b8152602001614b34614c42565b8152602001614b41614c42565b8152602001614b4e614c42565b8152602001614b5b614e02565b8152602001614b68614e30565b8152602001614b75614e4f565b8152602001614b82614cd4565b8152602001614b8f614c42565b8152602001614acd614c42565b604051806101000160405280614bb0614c66565b8152602001614bbd614c96565b8152602001614bca614cd4565b8152602001614bd7614cd4565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806108c001604052806046906020820280368337509192915050565b604051806108c001604052806046905b614c2c614dac565b815260200190600190039081614c245790505090565b60405180608001604052805f81526020015f81526020015f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061032001604052806019906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061052001604052806029906020820280368337509192915050565b60405180610da00160405280606d906020820280368337509192915050565b604051806103a00160405280601d906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b604051806103400160405280601a906020820280368337509192915050565b60405180604001604052805f81526020015f81525090565b604051806101a00160405280600d906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b614e1a614d6e565b815260200190600190039081614e125790505090565b6040518061050001604052806028906020820280368337509192915050565b604051806103600160405280601b905b614e67614c42565b815260200190600190039081614e5f5790505090565b5f5f5f5f60408587031215614e90575f5ffd5b84356001600160401b03811115614ea5575f5ffd5b8501601f81018713614eb5575f5ffd5b80356001600160401b03811115614eca575f5ffd5b876020828401011115614edb575f5ffd5b6020918201955093508501356001600160401b03811115614efa575f5ffd5b8501601f81018713614f0a575f5ffd5b80356001600160401b03811115614f1f575f5ffd5b8760208260051b8401011115614f33575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176120cb576120cb614f41565b818103818111156120cb576120cb614f41565b808201808211156120cb576120cb614f41565b5f5f85851115614fa0575f5ffd5b83861115614fac575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b5f60018201614fde57614fde614f41565b5060010190565b803560208310156120cb575f19602084900360031b1b1692915050565b5f8183825b6009811015615026578151835260209283019290910190600101615007565b5050506101208201905092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261505857615058615036565b500490565b5f8183825b6029811015615081578151835260209283019290910190600101615062565b5050506105208201905092915050565b5f8183825b606d8110156150b5578151835260209283019290910190600101615096565b505050610da08201905092915050565b5f8183825b601d8110156150e95781518352602092830192909101906001016150ca565b5050506103a08201905092915050565b5f8183825b600581101561511d5781518352602092830192909101906001016150fe565b50505060a08201905092915050565b5f8261513a5761513a615036565b500690565b5f8161514d5761514d614f41565b505f190190565b5f82518060208501845e5f920191825250919050565b5f6020828403121561517a575f5ffd5b815180151581146119f5575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b81515f90829060208501835b828110156151c75781518452602093840193909101906001016151a9565b509195945050505050565b5f8183825b600d8110156151f65781518352602092830192909101906001016151d7565b5050506101a08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
|
|
5
5
|
/**
|
|
6
6
|
* HonkVerifier link references.
|
|
7
7
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HonkVerifierBytecode.d.ts","sourceRoot":"","sources":["../src/HonkVerifierBytecode.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"HonkVerifierBytecode.d.ts","sourceRoot":"","sources":["../src/HonkVerifierBytecode.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,oBAAoB,+2yCAA+2yC,CAAC;AACj5yC;;GAEG;AACH,eAAO,MAAM,0BAA0B,IAAc,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* HonkVerifier bytecode.
|
|
3
|
-
*/ export const HonkVerifierBytecode = "0x60e0604052348015600e575f5ffd5b506302000000608052601960a05261040760c05260805160a05160c05161525b61005a5f395f61063401525f818161073f01528181610d210152610dbd01525f6105d8015261525b5ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004614e7d565b610054565b604051901515815260200160405180910390f35b5f6100626101c86020614f55565b8414610081576040516376ba560560e11b815260040160405180910390fd5b5f61008a6101a5565b90505f61009787876101ba565b9050601082604001516100aa9190614f6c565b84146100c95760405163fa06659360e01b815260040160405180910390fd5b5f6100e0828787865f015187604001516001610513565b90506101308686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050855185516060810151608090910151919350915060016105c2565b815160a001525f6101418383610737565b905080610161576040516313f8744360e31b815260040160405180910390fd5b5f61016d848685610838565b90508061018d576040516352ec174560e11b815260040160405180910390fd5b8180156101975750805b9a9950505050505050505050565b6101ad614955565b6101b56110b5565b905090565b6101c2614ad2565b5f805b6010811015610224576101f18583866101df826020614f7f565b926101ec93929190614f92565b61199b565b8351826010811061020457610204614fb9565b60200201818152505060208261021a9190614f7f565b91506001016101c5565b50610248848285610236826080614f7f565b9261024393929190614f92565b6119fc565b6020830152610258608082614f7f565b905061026b848285610236826080614f7f565b604083015261027b608082614f7f565b905061028e848285610236826080614f7f565b606083015261029e608082614f7f565b90506102b1848285610236826080614f7f565b60c08301526102c1608082614f7f565b90506102d4848285610236826080614f7f565b60e08301526102e4608082614f7f565b90506102f7848285610236826080614f7f565b60808084019190915261030a9082614f7f565b905061031d848285610236826080614f7f565b61010083015261032e608082614f7f565b9050610341848285610236826080614f7f565b60a0830152610351608082614f7f565b90505f5b601c8110156103d0575f5b60088110156103c75761037a8684876101df826020614f7f565b84610120015183601c811061039157610391614fb9565b602002015182600881106103a7576103a7614fb9565b6020020181815250506020836103bd9190614f7f565b9250600101610360565b50600101610355565b505f5b6028811015610424576103ed8583866101df826020614f7f565b836101400151826028811061040457610404614fb9565b60200201818152505060208261041a9190614f7f565b91506001016103d3565b505f5b6104336001601c614f6c565b81101561047c5761044b858386610236826080614f7f565b83610160015182601b811061046257610462614fb9565b6020020152610472608083614f7f565b9150600101610427565b505f5b601c8110156104d0576104998583866101df826020614f7f565b83610180015182601c81106104b0576104b0614fb9565b6020020181815250506020826104c69190614f7f565b915060010161047f565b506104e2848285610236826080614f7f565b6101a08301526104f3608082614f7f565b9050610506848285610236826080614f7f565b6101c08301525092915050565b61051b614b9c565b5f61052b88888888888887611acc565b908352905061053a8189611b22565b6020840191909152905061054d81611cbc565b604084019190915290506105618882611d1d565b606084019190915290506105758882611df1565b608084019190915290506105898882611e7c565b60a0840191909152905061059d8882611fea565b60c084019190915290506105b1888261205c565b5060e0830152509695505050505050565b5f6001808261060b86610606896106016105fc8a7f0000000000000000000000000000000000000000000000000000000000000000614f7f565b6120b3565b6120d1565b6120ea565b90505f610629876106248a6106016105fc8b6001614f7f565b612103565b90505f5b61065860107f0000000000000000000000000000000000000000000000000000000000000000614f6c565b8110156106c5575f6106828c838151811061067557610675614fb9565b60200260200101516120b3565b90506106928661060186846120ea565b95506106a28561060185846120ea565b94506106ae848b6120ea565b93506106ba838b612103565b92505060010161062d565b505f5b601081101561072c575f8a82601081106106e4576106e4614fb9565b602002015190506106f98661060186846120ea565b95506107098561060185846120ea565b9450610715848b6120ea565b9350610721838b612103565b9250506001016106c8565b506101978484612132565b5f806001815b7f000000000000000000000000000000000000000000000000000000000000000081101561080e575f86610120015182601c811061077d5761077d614fb9565b602002015190505f61078f8286612140565b9050806107af576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c81106107c6576107c6614fb9565b602002015190506107d7838261215d565b95506107fe886040015185601c81106107f2576107f2614fb9565b6020020151868361230c565b945050505080600101905061073d565b505f610828866101400151865f0151876020015185612337565b90508281145b9695505050505050565b5f61087f6040518061012001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61088d8460a001516123a5565b9050610897614bf5565b61089f614c14565b60e08601516108be906108b990855f5b6020020151612103565b61240a565b60a085015260e08601516108dd906108b990855f5b60200201516120ea565b60c080860182905260a0860151908801516108fc9261060691906120d1565b845260a086015161092a906109109061240a565b6106018660a001516106248a60c001518960c001516120d1565b6020850152600182526101a088015161094290612473565b81526001606085018190525f60808601525b602381116109fa5761097561096b865f01516124b2565b86606001516120d1565b83826046811061098757610987614fb9565b602002015260808501516101408a01516109ca9190610606906109ab600186614f6c565b602881106109bb576109bb614fb9565b602002015188606001516120d1565b8560800181815250506109e5856060015188608001516120d1565b60608601526109f381614fcd565b9050610954565b505f610a0860236001614f7f565b90505b60288111610a8957610a2361096b86602001516124b2565b838260468110610a3557610a35614fb9565b602002015260808501516101408a0151610a599190610606906109ab600186614f6c565b856080018181525050610a74856060015188608001516120d1565b6060860152610a8281614fcd565b9050610a0b565b50606087015181600160200201526080870151816002602002015260a0870151816003602002015260c0870151816004602002015260e0870151816005602002015261010087015181600660200201526101208701518160076020020152610140870151816008602002015261016087015181600960200201526101a087015181600a602002015261018087015181600b60200201526101c087015181600c60200201526101e087015181600d602002015261020087015181600e602002015261022087015181600f60200201526102408701518160106020020152610260870151816011602002015261028087015181601260200201526102a087015181601360200201526102c087015181601460200201526102e08701518160156020020152610300870151816016602002015261032087015181601760200201526103408701518160186020020152610360870151816019602002015261038087015181601a60200201526103a087015181601b6020020181905250610c0f8860200151612473565b6103808201526040880151610c2390612473565b6103a08201526060880151610c3790612473565b6103c08201526080880151610c4b90612473565b6103e082015260a0880151610c5f90612473565b610400820152610100880151610c7490612473565b61042082015260c0880151610c8890612473565b61044082015260e0880151610c9c90612473565b6104608201526020880151610cb090612473565b6104808201526040880151610cc490612473565b6104a08201526060880151610cd890612473565b6104c08201526080880151610cec90612473565b6104e082015260a0880151610d0090612473565b610500820152606086015160808501516101808a01515f92610d45929091877f00000000000000000000000000000000000000000000000000000000000000006124ca565b805160a0870151919250610d58916120d1565b604086018190526101808a01515160c0890151610d88929161060691610d7e91906120d1565b8860c001516120d1565b604086015260c0870151610d9b906125e5565b60608601525f5b610dae6001601c614f6c565b811015610fb0575f610de160017f0000000000000000000000000000000000000000000000000000000000000000614f6c565b821015905080610f5657610e146108b98a60e0015188856001610e049190614f7f565b601c81106108af576108af614fb9565b60a088015260e0890151610e42906108b99088610e32866001614f7f565b601c81106108d3576108d3614fb9565b60c0880152606087015160a0880151610e5b91906120d1565b60e0880152606087015160c08a0151610e7791610d7e916120d1565b6101008801819052610e9990610e8c906124b2565b6106068960e001516124b2565b8583610ea760286001614f7f565b610eb19190614f7f565b60468110610ec157610ec1614fb9565b60200201526101008701516101808c01515f91610efd91610ee3866001614f7f565b601c8110610ef357610ef3614fb9565b60200201516120d1565b9050610f19816106068a60e0015187876001610ee39190614f7f565b9050610f298860400151826120ea565b6040890152606088015160c08b0151610f4f91610f45916120d1565b8b60c001516120d1565b6060890152505b610f7a8b610160015183601b8110610f7057610f70614fb9565b6020020151612473565b8483610f8860286001614f7f565b610f929190614f7f565b60468110610fa257610fa2614fb9565b602002015250600101610da2565b5060408051808201909152600181526002602082015282610fd3601c6028614f7f565b60468110610fe357610fe3614fb9565b6020020152604085015183610ffa601c6028614f7f565b6046811061100a5761100a614fb9565b60200201526101c08901515f9061102090612473565b90508083611030601c6028614f7f565b61103b906001614f7f565b6046811061104b5761104b614fb9565b602002015260e088015184611062601c6028614f7f565b61106d906001614f7f565b6046811061107d5761107d614fb9565b60200201525f61108d84866125f0565b90505f611099836126b6565b90506110a582826126fc565b9c9b505050505050505050505050565b6110bd614955565b50604080516103c08101825263020000008152601960208083019190915261040782840152825180840184527f157e956cae9cd9a046e9cd05cf64defdf4c055710b0669f4c40ad95c4323658d81527f195deb03b8cdfc3064eb2644b77bbba29459f340c3f84615891d8ebb0e15f545818301526060830152825180840184527f29c2314c3fd494edd09592d2e8eea8c12d350ca57593080b24c04fb48a3c5ea581527f1327216dec3efa861c5e8c08c3c92c1dead8b6345b6b1357b7bafae691dfa352818301526080830152825180840184527f1de46c6065134b29b7523ab8740579468cdfa0023614dc39b420bdcda739e6c681527f168ee0e6d8764686d9ed50eeab51145297af7ac0e328c679272a5886ea9b489e8183015260a0830152825180840184527f27481a063d9a31bd8b0c5e0b8d888c3237e5cf1cd5009ec3264592d581b25ec681527f0be328c8db5ddc06417e23343ea30e27c0e0ba43e2bfecb4b13823ceb80f877d8183015260c0830152825180840184527f15696356dcb4686e525bb8aea69eaef95e3eed038fb869d81fb86d7b9edb47a881527f075a3dac9fddd0fbedec2500548bdf0ef19ecee6844a14cc46a8ee953bb78f968183015260e0830152825180840184527f2018e7cda82aeb96f57339649335d8f6221c48a7eb3d1e9a89de73519ebe401681527f1a2b2bf43bae821907d53e4c638300c51b5b80a6bb637f74fcb3f92a5a2e68be81830152610100830152825180840184527f087955563d61e88ef26501161a9b24e8ab0cb742020598057720f42d74d9677a81527f1fc679cdcaa17e5781bc37c40c64103a14730808e1281a0a42f560d62acaa14481830152610120830152825180840184527f2db7e8b6f37f143b6114619334b61e62cc6e4f229b16dbbdd121fe3a0d289eab81527f021893236a4f8c736135430ed2b94d400ebf3fd8254ee651943a6b114f4dc23c81830152610140830152825180840184527f10b67fed19cef4569d86bbf58a81cba74883338a75dfffbe6e2107258465aa7c81527f265e80506f5a2d4517e60f55a0c950765d0552ddc7e8580d11ff69eaa42d0f1581830152610160830152825180840184527f0bf3ac4f0fe05e166b5de5c76cbda46ecb2e168b54e1f8fccb06dfbc11637c9481527f0e4aaf519bb39cbc0c565f2753882cdf01008d0f32d689980ac32a3eae154f9b81830152610180830152825180840184527f0ed3c8f288e6104b0af9fd9b9d4ddbf649d8ad295ef01b5de0501aba48747c1681527f12f4e476371aa3a345216ea17ccec2e5b047169daa63e63df9890baca3370b21818301526101a0830152825180840184527f0353b099b14d6d5a88f7feb354486b0363454017556ec95e3f8e5b95bd0429de81527f10eeee98d849f65203188c32baab4d228796050c33f4f41a48f550d0a23bcb53818301526101c0830152825180840184527f012865857151fa30cb8f81633ecf1bd08126e77781f9a3c817f195a9c352070a81527f0d2c29f7e167ab6ba01c2193483adb6747051201ca60cf26fbb722856845a947818301526101e0830152825180840184527f2f076d257670e05279621ef73d3697fd692d971ab181bd3a55a41e310bc8b95781527f109a5f48bc1678be0880cfbbccb5927ec9710a3663ab4f2322807ac1297ee42181830152610200830152825180840184527f11a96af945cd2271af5f9f51ad52e2e09c9359f2d8620241ebfa55815d76626481527f1f7e3f79f659432a5aa4f2d03f2baac0b9c21cef23482334e2187596c5bd267c81830152610220830152825180840184527f016546674547d019acf1be5aa3d1c836f0ec7b553a000ec257f59cf403bf452781527f29d41a74e8a271319662002bc7a3a3df986f2487193753ad03d504f557c5bb8381830152610240830152825180840184527f043b5d5f9c53cf305d5f03d1bb267eca3bdfc97d1325516edfe135153862479e81527f283cfd0ab6e6b9beee080d02d6d4c88217c0c339e32a927eac8da1ecd20fe5aa81830152610260830152825180840184527f0cdf2a9567d4141977f02b807e5eb0ebce13ccc3b9bebd3074782042101aa45e81527f2b198ba919794c48306e3ff98022b90ee28e290fab654a0291bb00ee677f10f881830152610280830152825180840184527f0f4f24e25a0d7b75e85100d2ccc65c9fff73b7f60b3bc9e3af0bf0058dd425ab81527f2b5f895b00a900f72aa652555cfd52ede6ae2bc22fca09b180a40c837436558a818301526102a0830152825180840184527f0bb3e3548b5428676d837dc0eb95962dcf2c0d8b68dffd3582c84f846ab6ae0481527e194b4345bd6df7d1fa0c6a1b21431990714e385cd7e2c92c01ab5d61be7497818301526102c0830152825180840184527e9d1990f1324ade4d8fabe3dc676cb3cb0a1ac20f87fe8079fff8645fb02de881527f2c14902f27d5b74a607f327a238ff22eeb2fa1568acabf5773c5ed85fb74d8ca818301526102e0830152825180840184527f1af8b94ffa6a7c80c4b5b69acb462ca90ebc779545e40d396da41afa48f7b0c081527f0f056612f4637e746c664df1dc4bc174b093b5d781cba3c5394f935cf49a860781830152610300830152825180840184527f1f33f1cf7c1fc45d18550bc590a8f5bfeea8dd024fb21886e1d7ae0faeeff18c81527f2a2c999df96a270651d3052417878896417f1501f0fc6ec9deca05be85de85f481830152610320830152825180840184527f2b77e4a23fbcbd768001577bf51528b90893610e126a531162fdb04cc01eb85881527f2776b668596aa59e0b8a617ef7116e54105c4016048983b017c663260e98f37b81830152610340830152825180840184527f28f515788786233704e340a1d308ce642ae2b0e6b4d469b06d4d56a2e5fab18d81527f1c4fb06062382bd15ca37c6e55096e8e2a5298f20621892a0daf855559c4a34d81830152610360830152825180840184526001815260028183015261038083015282518084019093527f086fb78033a1b52f2a6f1f2f635025c746492103b87e3c1e90124f0045c4579583527f19b4ba46f56df1d5078e5b3f67ff802ce2fce0cad3fdc95ed7c20ef0bcc84c0b908301526103a081019190915290565b5f602082146119e85760405162461bcd60e51b815260206004820152601460248201527334b73b30b634b210313cba32b99039b1b0b630b960611b60448201526064015b60405180910390fd5b6119f56105fc8385614fe5565b9392505050565b611a04614c42565b60808214611a4a5760405162461bcd60e51b81526020600482015260136024820152721a5b9d985b1a5908189e5d195cc81c1bda5b9d606a1b60448201526064016119df565b604080516080810190915280611a6360205f8688614f92565b611a6c91614fe5565b8152602090810190611a82906040908688614f92565b611a8b91614fe5565b8152602001611a9e606060408688614f92565b611aa791614fe5565b8152602001611aba608060608688614f92565b611ac391614fe5565b90529392505050565b611ad4614c66565b5f611ae3898989898989612900565b604086019190915260208501919091529083529250611b02838a612da6565b608085019190915260608401919091529199919850909650505050505050565b611b2a614c96565b5f611b33614cb5565b848152610100848101805151602080850191909152815181015160408086019190915282518101516060808701919091529251830151608086015260a080890180515191870191909152805183015160c0870152805182015160e087015251909201519284019290925251611bc991611bae91849101615002565b604051602081830303815290604052805190602001206120b3565b9150611bd482612e75565b6020850152835260015b611bea6002601961504a565b811015611c6a57611c0783604051602001611bae91815260200190565b9250611c1283612e75565b85611c1e846002614f55565b60198110611c2e57611c2e614fb9565b6020020186611c3e856002614f55565b611c49906001614f7f565b60198110611c5957611c59614fb9565b602002019190915252600101611bde565b50611c8182604051602001611bae91815260200190565b91505f611c8d83612e75565b85611c9a60016019614f6c565b60198110611caa57611caa614fb9565b60200201919091525050509250929050565b611cc4614cd4565b5f805b601c811015611d1657611ce684604051602001611bae91815260200190565b93505f611cf285612e75565b8584601c8110611d0457611d04614fb9565b60200201919091525050600101611cc7565b5090929050565b611d25614cd4565b5f805b601c811015611de857611d39614cb5565b8481525f5b6008811015611da25786610120015183601c8110611d5e57611d5e614fb9565b60200201518160088110611d7457611d74614fb9565b602002015182611d85836001614f7f565b60098110611d9557611d95614fb9565b6020020152600101611d3e565b50611db781604051602001611bae9190615002565b94505f611dc386612e75565b8685601c8110611dd557611dd5614fb9565b6020020191909152505050600101611d28565b50909391925050565b5f5f611dfb614cf3565b8381525f5b6028811015611e4e578561014001518160288110611e2057611e20614fb9565b602002015182611e31836001614f7f565b60298110611e4157611e41614fb9565b6020020152600101611e00565b50611e6381604051602001611bae919061505d565b91505f611e6f83612e75565b5096929550919350505050565b5f5f611e86614d12565b8381525f5b611e976001601c614f6c565b811015611fd55785610160015181601b8110611eb557611eb5614fb9565b60200201515182611ec7836004614f55565b611ed2906001614f7f565b606d8110611ee257611ee2614fb9565b602002015261016086015181601b8110611efe57611efe614fb9565b60200201516020015182826004611f159190614f55565b611f20906002614f7f565b606d8110611f3057611f30614fb9565b602002015261016086015181601b8110611f4c57611f4c614fb9565b60200201516040015182611f61836004614f55565b611f6c906003614f7f565b606d8110611f7c57611f7c614fb9565b602002015261016086015181601b8110611f9857611f98614fb9565b60200201516060015182611fad836004614f55565b611fb8906004614f7f565b606d8110611fc857611fc8614fb9565b6020020152600101611e8b565b50611e6381604051602001611bae9190615091565b5f5f611ff4614d31565b8381525f5b601c8110156120475785610180015181601c811061201957612019614fb9565b60200201518261202a836001614f7f565b601d811061203a5761203a614fb9565b6020020152600101611ff9565b50611e6381604051602001611bae91906150c5565b5f5f612066614d50565b8381526101a085018051516020808401919091528151810151604080850191909152825181015160608086019190915292519092015160808401529051611e6391611bae918491016150f9565b5f6120cb5f51602061523b5f395f51905f528361512c565b92915050565b5f5f51602061523b5f395f51905f528284099392505050565b5f5f51602061523b5f395f51905f528284089392505050565b5f5f51602061523b5f395f51905f52612129835f51602061523b5f395f51905f52614f6c565b84089392505050565b5f6119f5836106018461240a565b81515f908190612152908560016108d3565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b60088110156122445761223a826106018784612103565b9150600101612223565b5061224d614d6e565b5f5b60088110156122ae575f84826008811061226b5761226b614fb9565b60200201519050612280816106018985612103565b905061228b8161240a565b9050808383600881106122a0576122a0614fb9565b60200201525060010161224f565b505f5b6008811015612301575f8782600881106122cd576122cd614fb9565b602002015190506122ea81848460088110610ef357610ef3614fb9565b90506122f686826120ea565b9550506001016122b1565b5061082e84836120d1565b5f5f612322600161060685610601896001612103565b905061232e84826120d1565b95945050505050565b5f612340614d8d565b61234b868285612ea5565b61235786868386613051565b61236386868386613239565b61236e868285613435565b61237986828561361d565b61238586868386613966565b612390868285614200565b61239b8682856145cb565b61082e81856148c0565b6123ad614cd4565b81815260015b601c811015612404576123e5826123cb600184614f6c565b601c81106123db576123db614fb9565b60200201516125e5565b8282601c81106123f7576123f7614fb9565b60200201526001016123b3565b50919050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f51602061523b5f395f51905f520360808201525f51602061523b5f395f51905f5260a082015260205f60c08360055afa905080612468575f5ffd5b50505f519392505050565b61247b614dac565b604051806040016040528060888460200151901b845f015117815260200160888460600151901b8460400151178152509050919050565b5f6120cb825f51602061523b5f395f51905f52614f6c565b6124d2614cd4565b601c5b80156125db575f846124e8600184614f6c565b601c81106124f8576124f8614fb9565b602002015190505f8861250c600185614f6c565b601c811061251c5761251c614fb9565b602002015190505f61257761253b612534858c6120d1565b60026120d1565b6106248a61254a600189614f6c565b601c811061255a5761255a614fb9565b60200201516106016125718861060160018a612103565b87612103565b9050612598816106016108b961259287610601600189612103565b866120ea565b90508584116125c75797508780856125b1600187614f6c565b601c81106125c1576125c1614fb9565b60200201525b505050806125d49061513f565b90506124d5565b5095945050505050565b5f6120cb82836120d1565b6125f8614dac565b5f612605601c6028614f7f565b612610906002614f7f565b90506001604051855151604082015285516020015160608201528451608082015260408160606040840160075afa8216915060015b8381101561269e5760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612645565b50805184526020810151602085015250505092915050565b6126be614dac565b5f51602061521b5f395f51905f5282602001515f51602061521b5f395f51905f526126e99190614f6c565b6126f3919061512c565b60208301525090565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516128929190615154565b5f60405180830381855afa9150503d805f81146128ca576040519150601f19603f3d011682016040523d82523d5f602084013e6128cf565b606091505b50915091505f818060200190518101906128e9919061516a565b90508280156128f55750805b979650505050505050565b5f80808080612910876003614f7f565b61291b90600c614f7f565b6001600160401b0381111561293257612932615189565b60405190808252806020026020018201604052801561295b578160200160208202803683370190505b509050875f1b815f8151811061297357612973614fb9565b602002602001018181525050865f1b8160018151811061299557612995614fb9565b602002602001018181525050855f1b816002815181106129b7576129b7614fb9565b60209081029190910101525f5b6129cf601089614f6c565b811015612a20578a8a828181106129e8576129e8614fb9565b90506020020135828260036129fd9190614f7f565b81518110612a0d57612a0d614fb9565b60209081029190910101526001016129c4565b505f5b6010811015612a91578b51612a4b908260108110612a4357612a43614fb9565b602002015190565b82826010612a5a8c6003614f7f565b612a649190614f6c565b612a6e9190614f7f565b81518110612a7e57612a7e614fb9565b6020908102919091010152600101612a23565b5060208b01515181612aa4896003614f7f565b81518110612ab457612ab4614fb9565b6020908102919091018101919091528b810151015181612ad5896003614f7f565b612ae0906001614f7f565b81518110612af057612af0614fb9565b6020908102919091018101919091528b01516040015181612b12896003614f7f565b612b1d906002614f7f565b81518110612b2d57612b2d614fb9565b6020908102919091018101919091528b01516060015181612b4f896003614f7f565b612b5a906003614f7f565b81518110612b6a57612b6a614fb9565b602090810291909101015260408b01515181612b87896003614f7f565b612b92906004614f7f565b81518110612ba257612ba2614fb9565b60209081029190910181019190915260408c0151015181612bc4896003614f7f565b612bcf906005614f7f565b81518110612bdf57612bdf614fb9565b60209081029190910101526040808c0151015181612bfe896003614f7f565b612c09906006614f7f565b81518110612c1957612c19614fb9565b602090810291909101015260408b01516060015181612c39896003614f7f565b612c44906007614f7f565b81518110612c5457612c54614fb9565b602090810291909101015260608b01515181612c71896003614f7f565b612c7c906008614f7f565b81518110612c8c57612c8c614fb9565b60209081029190910181019190915260608c0151015181612cae896003614f7f565b612cb9906009614f7f565b81518110612cc957612cc9614fb9565b602090810291909101015260608b01516040015181612ce9896003614f7f565b612cf490600a614f7f565b81518110612d0457612d04614fb9565b60209081029190910101526060808c0151015181612d23896003614f7f565b612d2e90600b614f7f565b81518110612d3e57612d3e614fb9565b602002602001018181525050612d5e81604051602001611bae919061519d565b9150612d6982612e75565b6040805160208101869052929750909550612d849101611bae565b91505f612d9083612e75565b50959c949b509499509097509195505050505050565b5f5f5f612db1614dc4565b85815260c085810180515160208085019190915281518101516040808601919091528251810151606080870191909152925183015160808087019190915260e0808b0180515160a089015280518501519688019690965285518301519087015293518301516101008601529288018051516101208601528051820151610140860152805184015161016086015251909101516101808401529051612e5b91611bae918491016151d2565b9150612e6682612e75565b90979096509194509092505050565b5f80826001600160801b038116608082901c612e90826120b3565b9450612e9b816120b3565b9350505050915091565b5f612eb1846007614925565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f612f12612f0c612ee6856003612103565b610601612f01612ef68b5f614925565b6106018c601c614925565b6106018b601b614925565b836120d1565b9050612f93612f88612f6f612f56612f3d85610606612f328d6002614925565b6106018e601b614925565b610606612f4b8c6003614925565b6106018d601c614925565b610606612f648b6004614925565b6106018c601d614925565b610606612f7d8a6005614925565b6106018b601e614925565b610606886001614925565b9050612fb281610606612fa7866001612103565b6106018a6026614925565b9050612fbe81846120d1565b9050612fca81856120d1565b8552505f9050613004612ffa612fef612fe488601b614925565b61060689601e614925565b610624886023614925565b610606875f614925565b905061301581610601846002612103565b905061302681610601846001612103565b905061303281836120d1565b905061303e81846120d1565b9050808460015b60200201525050505050565b5f5f5f61308761307d61306589601b614925565b6106066130738b6011614925565b8a606001516120d1565b87608001516120ea565b90506130c0816106016130b661309e8b601c614925565b6106066130ac8d6012614925565b8c606001516120d1565b89608001516120ea565b90506130e5816106016130b66130d78b601d614925565b6106066130ac8d6013614925565b905061310a816106016130b66130fc8b601e614925565b6106066130ac8d6014614925565b92505f905061312e61307d61312089601b614925565b6106066130738b600d614925565b9050613153816106016130b66131458b601c614925565b6106066130ac8d600e614925565b9050613178816106016130b661316a8b601d614925565b6106066130ac8d600f614925565b905061319d816106016130b661318f8b601e614925565b6106066130ac8d6010614925565b91505f90506131c46131be6131b389601f614925565b6106068a6019614925565b846120d1565b90506131f9816106246131f36131db8b6027614925565b6106066131e98d601a614925565b8c60a001516120d1565b856120d1565b905061320581856120d1565b6040860152505f6132286131f361321d89601a614925565b6106018a6027614925565b606090950194909452505050505050565b5f5f61329761327f6132676132526130b68a6015614925565b6106066132608b6016614925565b8a516120d1565b6106066132758a6017614925565b89602001516120d1565b61060661328d896018614925565b88604001516120d1565b91505f6132ce6132b56132ab89601b614925565b88608001516120ea565b6106066132c38a6003614925565b6106018b6023614925565b90505f6132f76132df89601c614925565b6106066132ec8b5f614925565b6106018c6024614925565b90505f6133216133088a601d614925565b6106066133168c6001614925565b6106018d6025614925565b905061336061334861333a85610606868d5f01516120d1565b610606848c602001516120d1565b6106066133568c6004614925565b8b604001516120d1565b93505050505f6133746131be886020614925565b90505f6133856131be896020614925565b90505f6133bd6133a46133998b6022614925565b6106068c6006614925565b6106246133b28c6022614925565b6106018d6006614925565b90505f6133e16133db6133d087896120d1565b6106018d6020614925565b83612103565b90506133ed81886120d1565b90505f6134156134076134018d6006614925565b876120d1565b6106246134018e6021614925565b60808a018390529050808960055b60200201525050505050505050505050565b5f6134415f6001612103565b90505f61344f5f6002612103565b90505f61345d5f6003612103565b90505f61347961346e88601c614925565b61062489601b614925565b90505f61349561348a89601d614925565b6106248a601c614925565b90505f6134b16134a68a601e614925565b6106248b601d614925565b90505f6134cd6134c28b6023614925565b6106248c601e614925565b9050836134de81610601818b6120ea565b90506134ee81610601878a6120ea565b90506134fe8161060187896120ea565b905061350f816106018d6008614925565b905061351b818a6120d1565b60c08b0152508261353081610601818b6120ea565b905061354081610601868a6120ea565b90506135508161060186896120ea565b9050613561816106018d6008614925565b905061356d818a6120d1565b60e08b0152508161358281610601818b6120ea565b905061359281610601858a6120ea565b90506135a28161060185896120ea565b90506135b3816106018d6008614925565b90506135bf818a6120d1565b6101008b015250806135d581610601818b6120ea565b90506135e581610601848a6120ea565b90506135f58161060184896120ea565b9050613606816106018d6008614925565b9050613612818a6120d1565b9050808a6009613423565b6136566040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61366184601c614925565b815261366e84601d614925565b602082015261367e846023614925565b604082015261368e846026614925565b606082015261369e846025614925565b60808201526136ae846024614925565b60a08201525f6136bf856002614925565b90505f6136cc865f614925565b90505f6136e08460400151855f0151612103565b90505f6136f5856020015186602001516120d1565b606086015190915086905f9061370b90806120d1565b90505f61372961372389602001518a606001516120d1565b886120d1565b90505f6137486137418a60a001518b604001516120ea565b8a516120ea565b905061375761340182886120d1565b905061377e61377861377261376c8487612103565b88612103565b846120ea565b836120ea565b90506137a661379b61379083876120d1565b6106018f6009614925565b61060160018a612103565b6101408c015250505050602085015160808601515f916137c5916120ea565b90505f6137e36137d98860600151886120d1565b8860200151612103565b90505f6138076137f384876120d1565b6106066131f38b60a001518c5f0151612103565b905061382f613824613819838c6120d1565b6106018e6009614925565b610601600189612103565b6101608b0152505f915061385090506138498360116120ea565b87516120d1565b90505f61385d83846120ea565b905061386981826120ea565b90505f6138778360096120d1565b90506138a061389a6131be6138938b60a001518c5f01516120ea565b8b516120ea565b82612103565b60c089018190525f906138bb9061372390613790908d6120d1565b90506138ce8b600a6020020151826120ea565b6101408c0152505086515f92506138f59150613849906138ee90806120ea565b88516120ea565b90505f613935613910836106018a5f01518b60a00151612103565b60208901516106249061392390806120ea565b6106018b602001518c608001516120ea565b905061395289600b6020020151610606613723613790858d6120d1565b89600b602002015250505050505050505050565b6139fa604051806102c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613a2f613a16613a0b87601b614925565b610601886024614925565b610606613a24886023614925565b61060189601c614925565b8152613a74613a69613a50613a4588601b614925565b61060189601e614925565b610606613a5e89601c614925565b6106018a601d614925565b610624876025614925565b60408201819052613a8990600160441b6120d1565b60408201819052613a9f90610624876026614925565b604082018190528151613ab291906120ea565b60408201819052613ac890610601876005614925565b60408201528051613add90600160441b6120d1565b808252613afd90610606613af2886023614925565b610601896024614925565b80825260208201819052613b1990610624612fe488601d614925565b60208201819052613b2f90610601876004614925565b6020820152805160608201819052613b4c9061060687601e614925565b60608201819052613b7090610624613b65886025614925565b610606896026614925565b60608201819052613b8590610601875f614925565b8160600181815250505f613bae613ba4836020015184604001516120ea565b83606001516120ea565b9050613bbf81610601886003614925565b9050613bd7613bcf876024614925565b6140006120d1565b60808301819052613bed90610606886023614925565b60808301819052613c00906140006120d1565b60808301819052613c169061060688601d614925565b60808301819052613c29906140006120d1565b60808301819052613c3f9061060688601c614925565b60808301819052613c52906140006120d1565b60808301819052613c689061060688601b614925565b60808301819052613c7e9061062488601e614925565b60808301819052613c9490610601886005614925565b6080830152613ca7613bcf876025614925565b60a08301819052613cbd90610606886024614925565b60a08301819052613cd0906140006120d1565b60a08301819052613ce690610606886023614925565b60a08301819052613cf9906140006120d1565b60a08301819052613d0f9061060688601e614925565b60a08301819052613d22906140006120d1565b60a08301819052613d389061060688601d614925565b60a08301819052613d4e90610624886026614925565b60a08301819052613d6390610601885f614925565b60a0830181905260808301515f91613d7b91906120ea565b9050613d8c81610601896004614925565b9050613da6613d9c88601d614925565b87604001516120d1565b60c08401819052613dbf906106066132758a601c614925565b60c08401819052613ddf90610606613dd88a601b614925565b89516120d1565b60c08401819052613df590610606896001614925565b60c0840181905260e08401819052613e129061062489601e614925565b60c0840152613e2561346e886023614925565b610140840152613e44613e39886026614925565b61062489601e614925565b610120840152610140830151613e6990613e5e90806120d1565b846101400151612103565b610280840152610140830151613eab90613ea090613e999061060160015f51602061523b5f395f51905f52614f6c565b60016120ea565b8461012001516120d1565b6101608401819052613ee290613ed490610601613ec98b6002614925565b6106018c6003614925565b6106016134018a600a614925565b6101a0860152610280830151613f0490613ed490610601613ec98b6002614925565b6101c086015260c0830151613f2c90610601613f218a6002614925565b6106018b6003614925565b6101e08401525f613f4b613f4189601e614925565b8560e00151612103565b9050613f5a61389a82836120d1565b6101a0850152613f6e61328d896025614925565b6101008501819052613f9290610606613f888b6024614925565b8a602001516120d1565b6101008501819052613fac906106066132608b6023614925565b610100850152613fcb613fc0896026614925565b856101000151612103565b6101008501525f613fe06134a68a6025614925565b905061403461400e612f0c613e9988610140015160015f51602061523b5f395f51905f526106019190614f6c565b610601613e9988610100015160015f51602061523b5f395f51905f526106019190614f6c565b6101808601526101008501516140599061404e90806120d1565b866101000151612103565b6101c086015261018085015161408c90614078906106018c6007614925565b6106016140868c600a614925565b896120d1565b6101e08801526102808501516140ab90614078906106018c6007614925565b6102008801526101c08501516140ca90614078906106018c6007614925565b6102208801526101a08501516140e5906106018b6007614925565b6102008601526141046140f98a6024614925565b6106248b601c614925565b610220860152610140850151614143906134a69061413890613e999061060160015f51602061523b5f395f51905f52614f6c565b8761022001516120d1565b61024086018190526101e0860151610260870181905261417a916106069061060161416f8e6005614925565b6106018f6002614925565b610260860181905260c086015161419d91906106069061060161416f8e5f614925565b61026086018190526102008601516141b591906120ea565b61026086018190526141cb9061377290866120ea565b6102a086018190526141e5906106016140868c600a614925565b6102a0860181905287600c6020020152505050505050505050565b6142766040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61428f61428485601b614925565b610606866002614925565b81526142aa61429f85601c614925565b610606866003614925565b60208201526142c86142bd85601d614925565b610606866004614925565b60408201526142e66142db85601e614925565b610606866005614925565b60608201528051614318906143119061430a9061430390806120d1565b84516120d1565b83516120d1565b82516120d1565b608082015260208101516143569061434c906143429061433890806120d1565b84602001516120d1565b83602001516120d1565b82602001516120d1565b60a082015260408101516143949061438a906143809061437690806120d1565b84604001516120d1565b83604001516120d1565b82604001516120d1565b60c082015260608101516143d2906143c8906143be906143b490806120d1565b84606001516120d1565b83606001516120d1565b82606001516120d1565b60e0820152608081015160a08201516143eb91906120ea565b61010082015260c081015160e082015161440591906120ea565b61012082015260a08101516144299061441e90806120ea565b8261012001516120ea565b61014082015260e081015161444d9061444290806120ea565b8261010001516120ea565b61016082015261012081015161446390806120ea565b6101e082018190526144849061447990806120ea565b8261016001516120ea565b6101e082015261010081015161449a90806120ea565b6101a082018190526144bb906144b090806120ea565b8261014001516120ea565b6101a082018190526101608201516144d2916120ea565b6101808201526101408101516101e08201516144ee91906120ea565b6101c0820152614502612f0c85600b614925565b610200820181905261024084015161018083015161452d9261060691610601906106248a6023614925565b836012602002015261455d8360136020020151610606836102000151610601856101a001516106248a6024614925565b836013602002015261458d8360146020020151610606836102000151610601856101c001516106248a6025614925565b83601460200201526145bd8360156020020151610606836102000151610601856101e001516106248a6026614925565b836015602002015250505050565b61461d6040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60405180608001604052806146527f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e76120b3565b81526020016146807f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b6120b3565b81526020016146ad7e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac156120b3565b81526020016146db7f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b6120b3565b905290506146f86146ed86601b614925565b610606876002614925565b610120830181905261472c9061472190613ea09061471690806120d1565b8561012001516120d1565b8361012001516120d1565b825261473985601c614925565b602083015261474985601d614925565b604083015261475985601e614925565b60608301528151602083015161478191613ba49161477791906120ea565b84604001516120ea565b60808301526147946131be86600c614925565b61014083015281516147b5906147ab90835f610ef3565b83608001516120ea565b60a08301526147e184601660200201516106068461014001516106018660a001516106248b6023614925565b6102c085015260208201516147fc906147ab90836001610ef3565b60c083015261482884601760200201516106068461014001516106018660c001516106248b6024614925565b6102e08501526040820151614843906147ab90836002610ef3565b60e083015261486f84601860200201516106068461014001516106018660e001516106248b6025614925565b610300850152606082015161488a906147ab90836003610ef3565b6101008301526148b884601960200201516106068461014001516106018661010001516106248b6026614925565b846019613045565b5f6148cc8184816108d3565b905060015b601a81101561491e57614914826106068684601a81106148f3576148f3614fb9565b602002015186614904600187614f6c565b60198110610ef357610ef3614fb9565b91506001016148d1565b5092915050565b5f8282602781111561493957614939615206565b6028811061494957614949614fb9565b60200201519392505050565b604051806103c001604052805f81526020015f81526020015f815260200161497b614dac565b8152602001614988614dac565b8152602001614995614dac565b81526020016149a2614dac565b81526020016149af614dac565b81526020016149bc614dac565b81526020016149c9614dac565b81526020016149d6614dac565b81526020016149e3614dac565b81526020016149f0614dac565b81526020016149fd614dac565b8152602001614a0a614dac565b8152602001614a17614dac565b8152602001614a24614dac565b8152602001614a31614dac565b8152602001614a3e614dac565b8152602001614a4b614dac565b8152602001614a58614dac565b8152602001614a65614dac565b8152602001614a72614dac565b8152602001614a7f614dac565b8152602001614a8c614dac565b8152602001614a99614dac565b8152602001614aa6614dac565b8152602001614ab3614dac565b8152602001614ac0614dac565b8152602001614acd614dac565b905290565b604051806101e00160405280614ae6614de3565b8152602001614af3614c42565b8152602001614b00614c42565b8152602001614b0d614c42565b8152602001614b1a614c42565b8152602001614b27614c42565b8152602001614b34614c42565b8152602001614b41614c42565b8152602001614b4e614c42565b8152602001614b5b614e02565b8152602001614b68614e30565b8152602001614b75614e4f565b8152602001614b82614cd4565b8152602001614b8f614c42565b8152602001614acd614c42565b604051806101000160405280614bb0614c66565b8152602001614bbd614c96565b8152602001614bca614cd4565b8152602001614bd7614cd4565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806108c001604052806046906020820280368337509192915050565b604051806108c001604052806046905b614c2c614dac565b815260200190600190039081614c245790505090565b60405180608001604052805f81526020015f81526020015f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061032001604052806019906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061052001604052806029906020820280368337509192915050565b60405180610da00160405280606d906020820280368337509192915050565b604051806103a00160405280601d906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b604051806103400160405280601a906020820280368337509192915050565b60405180604001604052805f81526020015f81525090565b604051806101a00160405280600d906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b614e1a614d6e565b815260200190600190039081614e125790505090565b6040518061050001604052806028906020820280368337509192915050565b604051806103600160405280601b905b614e67614c42565b815260200190600190039081614e5f5790505090565b5f5f5f5f60408587031215614e90575f5ffd5b84356001600160401b03811115614ea5575f5ffd5b8501601f81018713614eb5575f5ffd5b80356001600160401b03811115614eca575f5ffd5b876020828401011115614edb575f5ffd5b6020918201955093508501356001600160401b03811115614efa575f5ffd5b8501601f81018713614f0a575f5ffd5b80356001600160401b03811115614f1f575f5ffd5b8760208260051b8401011115614f33575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176120cb576120cb614f41565b818103818111156120cb576120cb614f41565b808201808211156120cb576120cb614f41565b5f5f85851115614fa0575f5ffd5b83861115614fac575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b5f60018201614fde57614fde614f41565b5060010190565b803560208310156120cb575f19602084900360031b1b1692915050565b5f8183825b6009811015615026578151835260209283019290910190600101615007565b5050506101208201905092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261505857615058615036565b500490565b5f8183825b6029811015615081578151835260209283019290910190600101615062565b5050506105208201905092915050565b5f8183825b606d8110156150b5578151835260209283019290910190600101615096565b505050610da08201905092915050565b5f8183825b601d8110156150e95781518352602092830192909101906001016150ca565b5050506103a08201905092915050565b5f8183825b600581101561511d5781518352602092830192909101906001016150fe565b50505060a08201905092915050565b5f8261513a5761513a615036565b500690565b5f8161514d5761514d614f41565b505f190190565b5f82518060208501845e5f920191825250919050565b5f6020828403121561517a575f5ffd5b815180151581146119f5575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b81515f90829060208501835b828110156151c75781518452602093840193909101906001016151a9565b509195945050505050565b5f8183825b600d8110156151f65781518352602092830192909101906001016151d7565b5050506101a08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
|
|
3
|
+
*/ export const HonkVerifierBytecode = "0x60e0604052348015600e575f5ffd5b506302000000608052601960a05260ae60c05260805160a05160c05161525b6100595f395f61063401525f818161073f01528181610d210152610dbd01525f6105d8015261525b5ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004614e7d565b610054565b604051901515815260200160405180910390f35b5f6100626101c86020614f55565b8414610081576040516376ba560560e11b815260040160405180910390fd5b5f61008a6101a5565b90505f61009787876101ba565b9050601082604001516100aa9190614f6c565b84146100c95760405163fa06659360e01b815260040160405180910390fd5b5f6100e0828787865f015187604001516001610513565b90506101308686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050855185516060810151608090910151919350915060016105c2565b815160a001525f6101418383610737565b905080610161576040516313f8744360e31b815260040160405180910390fd5b5f61016d848685610838565b90508061018d576040516352ec174560e11b815260040160405180910390fd5b8180156101975750805b9a9950505050505050505050565b6101ad614955565b6101b56110b5565b905090565b6101c2614ad2565b5f805b6010811015610224576101f18583866101df826020614f7f565b926101ec93929190614f92565b61199b565b8351826010811061020457610204614fb9565b60200201818152505060208261021a9190614f7f565b91506001016101c5565b50610248848285610236826080614f7f565b9261024393929190614f92565b6119fc565b6020830152610258608082614f7f565b905061026b848285610236826080614f7f565b604083015261027b608082614f7f565b905061028e848285610236826080614f7f565b606083015261029e608082614f7f565b90506102b1848285610236826080614f7f565b60c08301526102c1608082614f7f565b90506102d4848285610236826080614f7f565b60e08301526102e4608082614f7f565b90506102f7848285610236826080614f7f565b60808084019190915261030a9082614f7f565b905061031d848285610236826080614f7f565b61010083015261032e608082614f7f565b9050610341848285610236826080614f7f565b60a0830152610351608082614f7f565b90505f5b601c8110156103d0575f5b60088110156103c75761037a8684876101df826020614f7f565b84610120015183601c811061039157610391614fb9565b602002015182600881106103a7576103a7614fb9565b6020020181815250506020836103bd9190614f7f565b9250600101610360565b50600101610355565b505f5b6028811015610424576103ed8583866101df826020614f7f565b836101400151826028811061040457610404614fb9565b60200201818152505060208261041a9190614f7f565b91506001016103d3565b505f5b6104336001601c614f6c565b81101561047c5761044b858386610236826080614f7f565b83610160015182601b811061046257610462614fb9565b6020020152610472608083614f7f565b9150600101610427565b505f5b601c8110156104d0576104998583866101df826020614f7f565b83610180015182601c81106104b0576104b0614fb9565b6020020181815250506020826104c69190614f7f565b915060010161047f565b506104e2848285610236826080614f7f565b6101a08301526104f3608082614f7f565b9050610506848285610236826080614f7f565b6101c08301525092915050565b61051b614b9c565b5f61052b88888888888887611acc565b908352905061053a8189611b22565b6020840191909152905061054d81611cbc565b604084019190915290506105618882611d1d565b606084019190915290506105758882611df1565b608084019190915290506105898882611e7c565b60a0840191909152905061059d8882611fea565b60c084019190915290506105b1888261205c565b5060e0830152509695505050505050565b5f6001808261060b86610606896106016105fc8a7f0000000000000000000000000000000000000000000000000000000000000000614f7f565b6120b3565b6120d1565b6120ea565b90505f610629876106248a6106016105fc8b6001614f7f565b612103565b90505f5b61065860107f0000000000000000000000000000000000000000000000000000000000000000614f6c565b8110156106c5575f6106828c838151811061067557610675614fb9565b60200260200101516120b3565b90506106928661060186846120ea565b95506106a28561060185846120ea565b94506106ae848b6120ea565b93506106ba838b612103565b92505060010161062d565b505f5b601081101561072c575f8a82601081106106e4576106e4614fb9565b602002015190506106f98661060186846120ea565b95506107098561060185846120ea565b9450610715848b6120ea565b9350610721838b612103565b9250506001016106c8565b506101978484612132565b5f806001815b7f000000000000000000000000000000000000000000000000000000000000000081101561080e575f86610120015182601c811061077d5761077d614fb9565b602002015190505f61078f8286612140565b9050806107af576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c81106107c6576107c6614fb9565b602002015190506107d7838261215d565b95506107fe886040015185601c81106107f2576107f2614fb9565b6020020151868361230c565b945050505080600101905061073d565b505f610828866101400151865f0151876020015185612337565b90508281145b9695505050505050565b5f61087f6040518061012001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61088d8460a001516123a5565b9050610897614bf5565b61089f614c14565b60e08601516108be906108b990855f5b6020020151612103565b61240a565b60a085015260e08601516108dd906108b990855f5b60200201516120ea565b60c080860182905260a0860151908801516108fc9261060691906120d1565b845260a086015161092a906109109061240a565b6106018660a001516106248a60c001518960c001516120d1565b6020850152600182526101a088015161094290612473565b81526001606085018190525f60808601525b602381116109fa5761097561096b865f01516124b2565b86606001516120d1565b83826046811061098757610987614fb9565b602002015260808501516101408a01516109ca9190610606906109ab600186614f6c565b602881106109bb576109bb614fb9565b602002015188606001516120d1565b8560800181815250506109e5856060015188608001516120d1565b60608601526109f381614fcd565b9050610954565b505f610a0860236001614f7f565b90505b60288111610a8957610a2361096b86602001516124b2565b838260468110610a3557610a35614fb9565b602002015260808501516101408a0151610a599190610606906109ab600186614f6c565b856080018181525050610a74856060015188608001516120d1565b6060860152610a8281614fcd565b9050610a0b565b50606087015181600160200201526080870151816002602002015260a0870151816003602002015260c0870151816004602002015260e0870151816005602002015261010087015181600660200201526101208701518160076020020152610140870151816008602002015261016087015181600960200201526101a087015181600a602002015261018087015181600b60200201526101c087015181600c60200201526101e087015181600d602002015261020087015181600e602002015261022087015181600f60200201526102408701518160106020020152610260870151816011602002015261028087015181601260200201526102a087015181601360200201526102c087015181601460200201526102e08701518160156020020152610300870151816016602002015261032087015181601760200201526103408701518160186020020152610360870151816019602002015261038087015181601a60200201526103a087015181601b6020020181905250610c0f8860200151612473565b6103808201526040880151610c2390612473565b6103a08201526060880151610c3790612473565b6103c08201526080880151610c4b90612473565b6103e082015260a0880151610c5f90612473565b610400820152610100880151610c7490612473565b61042082015260c0880151610c8890612473565b61044082015260e0880151610c9c90612473565b6104608201526020880151610cb090612473565b6104808201526040880151610cc490612473565b6104a08201526060880151610cd890612473565b6104c08201526080880151610cec90612473565b6104e082015260a0880151610d0090612473565b610500820152606086015160808501516101808a01515f92610d45929091877f00000000000000000000000000000000000000000000000000000000000000006124ca565b805160a0870151919250610d58916120d1565b604086018190526101808a01515160c0890151610d88929161060691610d7e91906120d1565b8860c001516120d1565b604086015260c0870151610d9b906125e5565b60608601525f5b610dae6001601c614f6c565b811015610fb0575f610de160017f0000000000000000000000000000000000000000000000000000000000000000614f6c565b821015905080610f5657610e146108b98a60e0015188856001610e049190614f7f565b601c81106108af576108af614fb9565b60a088015260e0890151610e42906108b99088610e32866001614f7f565b601c81106108d3576108d3614fb9565b60c0880152606087015160a0880151610e5b91906120d1565b60e0880152606087015160c08a0151610e7791610d7e916120d1565b6101008801819052610e9990610e8c906124b2565b6106068960e001516124b2565b8583610ea760286001614f7f565b610eb19190614f7f565b60468110610ec157610ec1614fb9565b60200201526101008701516101808c01515f91610efd91610ee3866001614f7f565b601c8110610ef357610ef3614fb9565b60200201516120d1565b9050610f19816106068a60e0015187876001610ee39190614f7f565b9050610f298860400151826120ea565b6040890152606088015160c08b0151610f4f91610f45916120d1565b8b60c001516120d1565b6060890152505b610f7a8b610160015183601b8110610f7057610f70614fb9565b6020020151612473565b8483610f8860286001614f7f565b610f929190614f7f565b60468110610fa257610fa2614fb9565b602002015250600101610da2565b5060408051808201909152600181526002602082015282610fd3601c6028614f7f565b60468110610fe357610fe3614fb9565b6020020152604085015183610ffa601c6028614f7f565b6046811061100a5761100a614fb9565b60200201526101c08901515f9061102090612473565b90508083611030601c6028614f7f565b61103b906001614f7f565b6046811061104b5761104b614fb9565b602002015260e088015184611062601c6028614f7f565b61106d906001614f7f565b6046811061107d5761107d614fb9565b60200201525f61108d84866125f0565b90505f611099836126b6565b90506110a582826126fc565b9c9b505050505050505050505050565b6110bd614955565b50604080516103c08101825263020000008152601960208083019190915260ae82840152825180840184527f296c048f672e69ffd2f6f448bee018778b0f51471cb51e7fcac140987abb6d4981527f015876b40d660b83971291a9668ec63c22387d724064a1ea0064d58496d22c78818301526060830152825180840184527f11337676adcbe7e454d01378b180f950e188cb8689fb2dedda6a418cb5b967d981527f18aa1139fae729f65b7df7cd23b1024cc66c43eb99783a203699272578458804818301526080830152825180840184527f0b167e94ce9e1b30cbe75a54326819c432c617710424cdea76573ee379643b8981527f19cacd01706e20a50829a24552244c377f178ac5d5a216483ca876f8ee80f6e28183015260a0830152825180840184527f2ab0da41e55ea9a707b9660a23ca118918ee37622ce80f5257a7b2f45820eeb081527f17e197ce62628c9cd22cbf1b6a80ca67b355d1bc0a7bc42ca57483b5f51b749f8183015260c0830152825180840184527f12a438a0bef0484cf3bb81e69332f4644961e8b711b31c3029049af1a7ca644d81527f0fb332412844f8d999ac220aa83b5b6235074cd7abaf77d6e7a21808f9852efc8183015260e0830152825180840184527f0e32bd5410b8c15ecb82eb844d667e9ddd627b9fd877ef852ea3cdb5885f1e0081527f0932754e83a453555535d92564ee4906024a6dddc0a7db5ddabb02a3a4c81d1d81830152610100830152825180840184527f01a8abe0d74344165494348196db5fa7da3a745f398fd1374cc2cb15bcc58ff481527f0f62b9babe865f3d0c422867d8b7f7fa5c13d85721a659f3b9ff8fc8cc6fc99281830152610120830152825180840184527f08a66e1db746beeee65a6b1cd56f561627b8486861c0c0476f9ea0aed910a18681527f2208847abf97a652ffdab1f09319cfd25ba497c613e899641c101d9897fe019381830152610140830152825180840184527f0a91b1fb80c6020a83575a8a6cf75f703aae4e7af55107f29aaa97f4a547ae3a81527f08956d05d94f9fc3e8187961aed8c4a4e84ee694ff4256da254066135722cf1281830152610160830152825180840184527f214f297c0d703e2f16fac80dfc196f051aaf97766333e2498780b0e6b025162481527f1a7a896dc2bdf383fad2048249b30bdd244eebf599d5eb446976d65358d6c74081830152610180830152825180840184527f0d1d48217fcccec8a0389af1d125fcb9822657ef41ee1adb9e894afc0e040ef881527f016d65829547fd8dbbf859fb092b506033c05eacf8469a88495cb5573ccf52be818301526101a0830152825180840184527f1dfd48a2e195b116c9a9594631762e0c8bcc1755f9fa3d9628d618202df23d8381527f20136ebe90ded75bb3b0a17c4c9806f8954909285a40631d348e6c551d0c7c00818301526101c0830152825180840184527f2ce0b2207d481c14ec3ce9a811512d003502b6b33a0a64c9784d1b5314b8fd9281527f27ca6e86a7e24fe253dd6c8185d61e3680b5ca2dee48c3baf4b9eb9e7404edde818301526101e0830152825180840184527f229dd377a124d1fa9a67511b6e6ba5efe58f966ed7a2736c07389b46b7f1b5a581527f225fdf4894076b7460b67034035d69baf367c43da6df2f099ff380b70fa9d2fa81830152610200830152825180840184527f21effd079664809013c23a6b6e2dd1d0a107b0c39058073e3a4a58a8f7a37f4181527f1f98719e8de171b8d9403d9395c66daadad528d63991fc51cce3871f9881259381830152610220830152825180840184527f1d997cf3720e9b93b5aba083b7fb0b86a36bf3b7d111352c725357b0952ab03181527e8cb4bfa66a4aed33cf271aba459f3dae95b95b2bf6d0c4153ee8156bd8752981830152610240830152825180840184527f0b06edcdcb0014b9eff54575de85cf4d120b9661f97dec1b4d62e8f49529e72981527f19e96d5daed6cf836f6bbf69fcfd37a171e6a75a2a4880434d1487a697fb555b81830152610260830152825180840184527f08e4e0dbe9a6fd571ff9cecfcce6016c0c2f8430fc3f7a103210e4181545f46c81527f147f92e90680b6a1c81706404d0ff734597c4999ab31dc2a55771e792115e95381830152610280830152825180840184527f11084666ed36e4bb300a6de30090c44609d94dd55832589330f59b60ce74798181527f264a38d77c0a3f584817dfec4bfd000f5d861fc1f05ce6f58a42f9761fd98440818301526102a0830152825180840184527f21317315c7d676de4d3934abad07100b14ff0628db7f8ed90dae69381ba7904981527f02be986b88ecc0337a1aafcbca7dd50ed3847376f111ff85b1d1e6bd76cb0238818301526102c0830152825180840184527f01c380c8914f2e4624ca68ace62bcbe9ab6e0854c0e3853847396590ad851c7781527f1ddd8f5c54c55b8af3298f9fb27aa7b18118d8c271a4ef61252bedf13cf40540818301526102e0830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610300830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610320830152825180840184527f09d569252b4b229e483b00b1e67384ac4db29395d32e28c82f8b73983d30ac6b81527f2c47d5809e56ba32be655d4177db195bb450fd12587756c4b85b6506a7844ddb81830152610340830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c81830152610360830152825180840184526001815260028183015261038083015282518084019093527f0d25ddd9e3d286418e2b85087c03c276e0a43c27c7540e6d4505ae170ff945da83527f262531ae6de2886b909e4ef263ec58f4a7a6029d2db554e6cc600cb036dfa19b908301526103a081019190915290565b5f602082146119e85760405162461bcd60e51b815260206004820152601460248201527334b73b30b634b210313cba32b99039b1b0b630b960611b60448201526064015b60405180910390fd5b6119f56105fc8385614fe5565b9392505050565b611a04614c42565b60808214611a4a5760405162461bcd60e51b81526020600482015260136024820152721a5b9d985b1a5908189e5d195cc81c1bda5b9d606a1b60448201526064016119df565b604080516080810190915280611a6360205f8688614f92565b611a6c91614fe5565b8152602090810190611a82906040908688614f92565b611a8b91614fe5565b8152602001611a9e606060408688614f92565b611aa791614fe5565b8152602001611aba608060608688614f92565b611ac391614fe5565b90529392505050565b611ad4614c66565b5f611ae3898989898989612900565b604086019190915260208501919091529083529250611b02838a612da6565b608085019190915260608401919091529199919850909650505050505050565b611b2a614c96565b5f611b33614cb5565b848152610100848101805151602080850191909152815181015160408086019190915282518101516060808701919091529251830151608086015260a080890180515191870191909152805183015160c0870152805182015160e087015251909201519284019290925251611bc991611bae91849101615002565b604051602081830303815290604052805190602001206120b3565b9150611bd482612e75565b6020850152835260015b611bea6002601961504a565b811015611c6a57611c0783604051602001611bae91815260200190565b9250611c1283612e75565b85611c1e846002614f55565b60198110611c2e57611c2e614fb9565b6020020186611c3e856002614f55565b611c49906001614f7f565b60198110611c5957611c59614fb9565b602002019190915252600101611bde565b50611c8182604051602001611bae91815260200190565b91505f611c8d83612e75565b85611c9a60016019614f6c565b60198110611caa57611caa614fb9565b60200201919091525050509250929050565b611cc4614cd4565b5f805b601c811015611d1657611ce684604051602001611bae91815260200190565b93505f611cf285612e75565b8584601c8110611d0457611d04614fb9565b60200201919091525050600101611cc7565b5090929050565b611d25614cd4565b5f805b601c811015611de857611d39614cb5565b8481525f5b6008811015611da25786610120015183601c8110611d5e57611d5e614fb9565b60200201518160088110611d7457611d74614fb9565b602002015182611d85836001614f7f565b60098110611d9557611d95614fb9565b6020020152600101611d3e565b50611db781604051602001611bae9190615002565b94505f611dc386612e75565b8685601c8110611dd557611dd5614fb9565b6020020191909152505050600101611d28565b50909391925050565b5f5f611dfb614cf3565b8381525f5b6028811015611e4e578561014001518160288110611e2057611e20614fb9565b602002015182611e31836001614f7f565b60298110611e4157611e41614fb9565b6020020152600101611e00565b50611e6381604051602001611bae919061505d565b91505f611e6f83612e75565b5096929550919350505050565b5f5f611e86614d12565b8381525f5b611e976001601c614f6c565b811015611fd55785610160015181601b8110611eb557611eb5614fb9565b60200201515182611ec7836004614f55565b611ed2906001614f7f565b606d8110611ee257611ee2614fb9565b602002015261016086015181601b8110611efe57611efe614fb9565b60200201516020015182826004611f159190614f55565b611f20906002614f7f565b606d8110611f3057611f30614fb9565b602002015261016086015181601b8110611f4c57611f4c614fb9565b60200201516040015182611f61836004614f55565b611f6c906003614f7f565b606d8110611f7c57611f7c614fb9565b602002015261016086015181601b8110611f9857611f98614fb9565b60200201516060015182611fad836004614f55565b611fb8906004614f7f565b606d8110611fc857611fc8614fb9565b6020020152600101611e8b565b50611e6381604051602001611bae9190615091565b5f5f611ff4614d31565b8381525f5b601c8110156120475785610180015181601c811061201957612019614fb9565b60200201518261202a836001614f7f565b601d811061203a5761203a614fb9565b6020020152600101611ff9565b50611e6381604051602001611bae91906150c5565b5f5f612066614d50565b8381526101a085018051516020808401919091528151810151604080850191909152825181015160608086019190915292519092015160808401529051611e6391611bae918491016150f9565b5f6120cb5f51602061523b5f395f51905f528361512c565b92915050565b5f5f51602061523b5f395f51905f528284099392505050565b5f5f51602061523b5f395f51905f528284089392505050565b5f5f51602061523b5f395f51905f52612129835f51602061523b5f395f51905f52614f6c565b84089392505050565b5f6119f5836106018461240a565b81515f908190612152908560016108d3565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b60088110156122445761223a826106018784612103565b9150600101612223565b5061224d614d6e565b5f5b60088110156122ae575f84826008811061226b5761226b614fb9565b60200201519050612280816106018985612103565b905061228b8161240a565b9050808383600881106122a0576122a0614fb9565b60200201525060010161224f565b505f5b6008811015612301575f8782600881106122cd576122cd614fb9565b602002015190506122ea81848460088110610ef357610ef3614fb9565b90506122f686826120ea565b9550506001016122b1565b5061082e84836120d1565b5f5f612322600161060685610601896001612103565b905061232e84826120d1565b95945050505050565b5f612340614d8d565b61234b868285612ea5565b61235786868386613051565b61236386868386613239565b61236e868285613435565b61237986828561361d565b61238586868386613966565b612390868285614200565b61239b8682856145cb565b61082e81856148c0565b6123ad614cd4565b81815260015b601c811015612404576123e5826123cb600184614f6c565b601c81106123db576123db614fb9565b60200201516125e5565b8282601c81106123f7576123f7614fb9565b60200201526001016123b3565b50919050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f51602061523b5f395f51905f520360808201525f51602061523b5f395f51905f5260a082015260205f60c08360055afa905080612468575f5ffd5b50505f519392505050565b61247b614dac565b604051806040016040528060888460200151901b845f015117815260200160888460600151901b8460400151178152509050919050565b5f6120cb825f51602061523b5f395f51905f52614f6c565b6124d2614cd4565b601c5b80156125db575f846124e8600184614f6c565b601c81106124f8576124f8614fb9565b602002015190505f8861250c600185614f6c565b601c811061251c5761251c614fb9565b602002015190505f61257761253b612534858c6120d1565b60026120d1565b6106248a61254a600189614f6c565b601c811061255a5761255a614fb9565b60200201516106016125718861060160018a612103565b87612103565b9050612598816106016108b961259287610601600189612103565b866120ea565b90508584116125c75797508780856125b1600187614f6c565b601c81106125c1576125c1614fb9565b60200201525b505050806125d49061513f565b90506124d5565b5095945050505050565b5f6120cb82836120d1565b6125f8614dac565b5f612605601c6028614f7f565b612610906002614f7f565b90506001604051855151604082015285516020015160608201528451608082015260408160606040840160075afa8216915060015b8381101561269e5760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612645565b50805184526020810151602085015250505092915050565b6126be614dac565b5f51602061521b5f395f51905f5282602001515f51602061521b5f395f51905f526126e99190614f6c565b6126f3919061512c565b60208301525090565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516128929190615154565b5f60405180830381855afa9150503d805f81146128ca576040519150601f19603f3d011682016040523d82523d5f602084013e6128cf565b606091505b50915091505f818060200190518101906128e9919061516a565b90508280156128f55750805b979650505050505050565b5f80808080612910876003614f7f565b61291b90600c614f7f565b6001600160401b0381111561293257612932615189565b60405190808252806020026020018201604052801561295b578160200160208202803683370190505b509050875f1b815f8151811061297357612973614fb9565b602002602001018181525050865f1b8160018151811061299557612995614fb9565b602002602001018181525050855f1b816002815181106129b7576129b7614fb9565b60209081029190910101525f5b6129cf601089614f6c565b811015612a20578a8a828181106129e8576129e8614fb9565b90506020020135828260036129fd9190614f7f565b81518110612a0d57612a0d614fb9565b60209081029190910101526001016129c4565b505f5b6010811015612a91578b51612a4b908260108110612a4357612a43614fb9565b602002015190565b82826010612a5a8c6003614f7f565b612a649190614f6c565b612a6e9190614f7f565b81518110612a7e57612a7e614fb9565b6020908102919091010152600101612a23565b5060208b01515181612aa4896003614f7f565b81518110612ab457612ab4614fb9565b6020908102919091018101919091528b810151015181612ad5896003614f7f565b612ae0906001614f7f565b81518110612af057612af0614fb9565b6020908102919091018101919091528b01516040015181612b12896003614f7f565b612b1d906002614f7f565b81518110612b2d57612b2d614fb9565b6020908102919091018101919091528b01516060015181612b4f896003614f7f565b612b5a906003614f7f565b81518110612b6a57612b6a614fb9565b602090810291909101015260408b01515181612b87896003614f7f565b612b92906004614f7f565b81518110612ba257612ba2614fb9565b60209081029190910181019190915260408c0151015181612bc4896003614f7f565b612bcf906005614f7f565b81518110612bdf57612bdf614fb9565b60209081029190910101526040808c0151015181612bfe896003614f7f565b612c09906006614f7f565b81518110612c1957612c19614fb9565b602090810291909101015260408b01516060015181612c39896003614f7f565b612c44906007614f7f565b81518110612c5457612c54614fb9565b602090810291909101015260608b01515181612c71896003614f7f565b612c7c906008614f7f565b81518110612c8c57612c8c614fb9565b60209081029190910181019190915260608c0151015181612cae896003614f7f565b612cb9906009614f7f565b81518110612cc957612cc9614fb9565b602090810291909101015260608b01516040015181612ce9896003614f7f565b612cf490600a614f7f565b81518110612d0457612d04614fb9565b60209081029190910101526060808c0151015181612d23896003614f7f565b612d2e90600b614f7f565b81518110612d3e57612d3e614fb9565b602002602001018181525050612d5e81604051602001611bae919061519d565b9150612d6982612e75565b6040805160208101869052929750909550612d849101611bae565b91505f612d9083612e75565b50959c949b509499509097509195505050505050565b5f5f5f612db1614dc4565b85815260c085810180515160208085019190915281518101516040808601919091528251810151606080870191909152925183015160808087019190915260e0808b0180515160a089015280518501519688019690965285518301519087015293518301516101008601529288018051516101208601528051820151610140860152805184015161016086015251909101516101808401529051612e5b91611bae918491016151d2565b9150612e6682612e75565b90979096509194509092505050565b5f80826001600160801b038116608082901c612e90826120b3565b9450612e9b816120b3565b9350505050915091565b5f612eb1846007614925565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f612f12612f0c612ee6856003612103565b610601612f01612ef68b5f614925565b6106018c601c614925565b6106018b601b614925565b836120d1565b9050612f93612f88612f6f612f56612f3d85610606612f328d6002614925565b6106018e601b614925565b610606612f4b8c6003614925565b6106018d601c614925565b610606612f648b6004614925565b6106018c601d614925565b610606612f7d8a6005614925565b6106018b601e614925565b610606886001614925565b9050612fb281610606612fa7866001612103565b6106018a6026614925565b9050612fbe81846120d1565b9050612fca81856120d1565b8552505f9050613004612ffa612fef612fe488601b614925565b61060689601e614925565b610624886023614925565b610606875f614925565b905061301581610601846002612103565b905061302681610601846001612103565b905061303281836120d1565b905061303e81846120d1565b9050808460015b60200201525050505050565b5f5f5f61308761307d61306589601b614925565b6106066130738b6011614925565b8a606001516120d1565b87608001516120ea565b90506130c0816106016130b661309e8b601c614925565b6106066130ac8d6012614925565b8c606001516120d1565b89608001516120ea565b90506130e5816106016130b66130d78b601d614925565b6106066130ac8d6013614925565b905061310a816106016130b66130fc8b601e614925565b6106066130ac8d6014614925565b92505f905061312e61307d61312089601b614925565b6106066130738b600d614925565b9050613153816106016130b66131458b601c614925565b6106066130ac8d600e614925565b9050613178816106016130b661316a8b601d614925565b6106066130ac8d600f614925565b905061319d816106016130b661318f8b601e614925565b6106066130ac8d6010614925565b91505f90506131c46131be6131b389601f614925565b6106068a6019614925565b846120d1565b90506131f9816106246131f36131db8b6027614925565b6106066131e98d601a614925565b8c60a001516120d1565b856120d1565b905061320581856120d1565b6040860152505f6132286131f361321d89601a614925565b6106018a6027614925565b606090950194909452505050505050565b5f5f61329761327f6132676132526130b68a6015614925565b6106066132608b6016614925565b8a516120d1565b6106066132758a6017614925565b89602001516120d1565b61060661328d896018614925565b88604001516120d1565b91505f6132ce6132b56132ab89601b614925565b88608001516120ea565b6106066132c38a6003614925565b6106018b6023614925565b90505f6132f76132df89601c614925565b6106066132ec8b5f614925565b6106018c6024614925565b90505f6133216133088a601d614925565b6106066133168c6001614925565b6106018d6025614925565b905061336061334861333a85610606868d5f01516120d1565b610606848c602001516120d1565b6106066133568c6004614925565b8b604001516120d1565b93505050505f6133746131be886020614925565b90505f6133856131be896020614925565b90505f6133bd6133a46133998b6022614925565b6106068c6006614925565b6106246133b28c6022614925565b6106018d6006614925565b90505f6133e16133db6133d087896120d1565b6106018d6020614925565b83612103565b90506133ed81886120d1565b90505f6134156134076134018d6006614925565b876120d1565b6106246134018e6021614925565b60808a018390529050808960055b60200201525050505050505050505050565b5f6134415f6001612103565b90505f61344f5f6002612103565b90505f61345d5f6003612103565b90505f61347961346e88601c614925565b61062489601b614925565b90505f61349561348a89601d614925565b6106248a601c614925565b90505f6134b16134a68a601e614925565b6106248b601d614925565b90505f6134cd6134c28b6023614925565b6106248c601e614925565b9050836134de81610601818b6120ea565b90506134ee81610601878a6120ea565b90506134fe8161060187896120ea565b905061350f816106018d6008614925565b905061351b818a6120d1565b60c08b0152508261353081610601818b6120ea565b905061354081610601868a6120ea565b90506135508161060186896120ea565b9050613561816106018d6008614925565b905061356d818a6120d1565b60e08b0152508161358281610601818b6120ea565b905061359281610601858a6120ea565b90506135a28161060185896120ea565b90506135b3816106018d6008614925565b90506135bf818a6120d1565b6101008b015250806135d581610601818b6120ea565b90506135e581610601848a6120ea565b90506135f58161060184896120ea565b9050613606816106018d6008614925565b9050613612818a6120d1565b9050808a6009613423565b6136566040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61366184601c614925565b815261366e84601d614925565b602082015261367e846023614925565b604082015261368e846026614925565b606082015261369e846025614925565b60808201526136ae846024614925565b60a08201525f6136bf856002614925565b90505f6136cc865f614925565b90505f6136e08460400151855f0151612103565b90505f6136f5856020015186602001516120d1565b606086015190915086905f9061370b90806120d1565b90505f61372961372389602001518a606001516120d1565b886120d1565b90505f6137486137418a60a001518b604001516120ea565b8a516120ea565b905061375761340182886120d1565b905061377e61377861377261376c8487612103565b88612103565b846120ea565b836120ea565b90506137a661379b61379083876120d1565b6106018f6009614925565b61060160018a612103565b6101408c015250505050602085015160808601515f916137c5916120ea565b90505f6137e36137d98860600151886120d1565b8860200151612103565b90505f6138076137f384876120d1565b6106066131f38b60a001518c5f0151612103565b905061382f613824613819838c6120d1565b6106018e6009614925565b610601600189612103565b6101608b0152505f915061385090506138498360116120ea565b87516120d1565b90505f61385d83846120ea565b905061386981826120ea565b90505f6138778360096120d1565b90506138a061389a6131be6138938b60a001518c5f01516120ea565b8b516120ea565b82612103565b60c089018190525f906138bb9061372390613790908d6120d1565b90506138ce8b600a6020020151826120ea565b6101408c0152505086515f92506138f59150613849906138ee90806120ea565b88516120ea565b90505f613935613910836106018a5f01518b60a00151612103565b60208901516106249061392390806120ea565b6106018b602001518c608001516120ea565b905061395289600b6020020151610606613723613790858d6120d1565b89600b602002015250505050505050505050565b6139fa604051806102c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613a2f613a16613a0b87601b614925565b610601886024614925565b610606613a24886023614925565b61060189601c614925565b8152613a74613a69613a50613a4588601b614925565b61060189601e614925565b610606613a5e89601c614925565b6106018a601d614925565b610624876025614925565b60408201819052613a8990600160441b6120d1565b60408201819052613a9f90610624876026614925565b604082018190528151613ab291906120ea565b60408201819052613ac890610601876005614925565b60408201528051613add90600160441b6120d1565b808252613afd90610606613af2886023614925565b610601896024614925565b80825260208201819052613b1990610624612fe488601d614925565b60208201819052613b2f90610601876004614925565b6020820152805160608201819052613b4c9061060687601e614925565b60608201819052613b7090610624613b65886025614925565b610606896026614925565b60608201819052613b8590610601875f614925565b8160600181815250505f613bae613ba4836020015184604001516120ea565b83606001516120ea565b9050613bbf81610601886003614925565b9050613bd7613bcf876024614925565b6140006120d1565b60808301819052613bed90610606886023614925565b60808301819052613c00906140006120d1565b60808301819052613c169061060688601d614925565b60808301819052613c29906140006120d1565b60808301819052613c3f9061060688601c614925565b60808301819052613c52906140006120d1565b60808301819052613c689061060688601b614925565b60808301819052613c7e9061062488601e614925565b60808301819052613c9490610601886005614925565b6080830152613ca7613bcf876025614925565b60a08301819052613cbd90610606886024614925565b60a08301819052613cd0906140006120d1565b60a08301819052613ce690610606886023614925565b60a08301819052613cf9906140006120d1565b60a08301819052613d0f9061060688601e614925565b60a08301819052613d22906140006120d1565b60a08301819052613d389061060688601d614925565b60a08301819052613d4e90610624886026614925565b60a08301819052613d6390610601885f614925565b60a0830181905260808301515f91613d7b91906120ea565b9050613d8c81610601896004614925565b9050613da6613d9c88601d614925565b87604001516120d1565b60c08401819052613dbf906106066132758a601c614925565b60c08401819052613ddf90610606613dd88a601b614925565b89516120d1565b60c08401819052613df590610606896001614925565b60c0840181905260e08401819052613e129061062489601e614925565b60c0840152613e2561346e886023614925565b610140840152613e44613e39886026614925565b61062489601e614925565b610120840152610140830151613e6990613e5e90806120d1565b846101400151612103565b610280840152610140830151613eab90613ea090613e999061060160015f51602061523b5f395f51905f52614f6c565b60016120ea565b8461012001516120d1565b6101608401819052613ee290613ed490610601613ec98b6002614925565b6106018c6003614925565b6106016134018a600a614925565b6101a0860152610280830151613f0490613ed490610601613ec98b6002614925565b6101c086015260c0830151613f2c90610601613f218a6002614925565b6106018b6003614925565b6101e08401525f613f4b613f4189601e614925565b8560e00151612103565b9050613f5a61389a82836120d1565b6101a0850152613f6e61328d896025614925565b6101008501819052613f9290610606613f888b6024614925565b8a602001516120d1565b6101008501819052613fac906106066132608b6023614925565b610100850152613fcb613fc0896026614925565b856101000151612103565b6101008501525f613fe06134a68a6025614925565b905061403461400e612f0c613e9988610140015160015f51602061523b5f395f51905f526106019190614f6c565b610601613e9988610100015160015f51602061523b5f395f51905f526106019190614f6c565b6101808601526101008501516140599061404e90806120d1565b866101000151612103565b6101c086015261018085015161408c90614078906106018c6007614925565b6106016140868c600a614925565b896120d1565b6101e08801526102808501516140ab90614078906106018c6007614925565b6102008801526101c08501516140ca90614078906106018c6007614925565b6102208801526101a08501516140e5906106018b6007614925565b6102008601526141046140f98a6024614925565b6106248b601c614925565b610220860152610140850151614143906134a69061413890613e999061060160015f51602061523b5f395f51905f52614f6c565b8761022001516120d1565b61024086018190526101e0860151610260870181905261417a916106069061060161416f8e6005614925565b6106018f6002614925565b610260860181905260c086015161419d91906106069061060161416f8e5f614925565b61026086018190526102008601516141b591906120ea565b61026086018190526141cb9061377290866120ea565b6102a086018190526141e5906106016140868c600a614925565b6102a0860181905287600c6020020152505050505050505050565b6142766040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61428f61428485601b614925565b610606866002614925565b81526142aa61429f85601c614925565b610606866003614925565b60208201526142c86142bd85601d614925565b610606866004614925565b60408201526142e66142db85601e614925565b610606866005614925565b60608201528051614318906143119061430a9061430390806120d1565b84516120d1565b83516120d1565b82516120d1565b608082015260208101516143569061434c906143429061433890806120d1565b84602001516120d1565b83602001516120d1565b82602001516120d1565b60a082015260408101516143949061438a906143809061437690806120d1565b84604001516120d1565b83604001516120d1565b82604001516120d1565b60c082015260608101516143d2906143c8906143be906143b490806120d1565b84606001516120d1565b83606001516120d1565b82606001516120d1565b60e0820152608081015160a08201516143eb91906120ea565b61010082015260c081015160e082015161440591906120ea565b61012082015260a08101516144299061441e90806120ea565b8261012001516120ea565b61014082015260e081015161444d9061444290806120ea565b8261010001516120ea565b61016082015261012081015161446390806120ea565b6101e082018190526144849061447990806120ea565b8261016001516120ea565b6101e082015261010081015161449a90806120ea565b6101a082018190526144bb906144b090806120ea565b8261014001516120ea565b6101a082018190526101608201516144d2916120ea565b6101808201526101408101516101e08201516144ee91906120ea565b6101c0820152614502612f0c85600b614925565b610200820181905261024084015161018083015161452d9261060691610601906106248a6023614925565b836012602002015261455d8360136020020151610606836102000151610601856101a001516106248a6024614925565b836013602002015261458d8360146020020151610606836102000151610601856101c001516106248a6025614925565b83601460200201526145bd8360156020020151610606836102000151610601856101e001516106248a6026614925565b836015602002015250505050565b61461d6040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60405180608001604052806146527f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e76120b3565b81526020016146807f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b6120b3565b81526020016146ad7e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac156120b3565b81526020016146db7f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b6120b3565b905290506146f86146ed86601b614925565b610606876002614925565b610120830181905261472c9061472190613ea09061471690806120d1565b8561012001516120d1565b8361012001516120d1565b825261473985601c614925565b602083015261474985601d614925565b604083015261475985601e614925565b60608301528151602083015161478191613ba49161477791906120ea565b84604001516120ea565b60808301526147946131be86600c614925565b61014083015281516147b5906147ab90835f610ef3565b83608001516120ea565b60a08301526147e184601660200201516106068461014001516106018660a001516106248b6023614925565b6102c085015260208201516147fc906147ab90836001610ef3565b60c083015261482884601760200201516106068461014001516106018660c001516106248b6024614925565b6102e08501526040820151614843906147ab90836002610ef3565b60e083015261486f84601860200201516106068461014001516106018660e001516106248b6025614925565b610300850152606082015161488a906147ab90836003610ef3565b6101008301526148b884601960200201516106068461014001516106018661010001516106248b6026614925565b846019613045565b5f6148cc8184816108d3565b905060015b601a81101561491e57614914826106068684601a81106148f3576148f3614fb9565b602002015186614904600187614f6c565b60198110610ef357610ef3614fb9565b91506001016148d1565b5092915050565b5f8282602781111561493957614939615206565b6028811061494957614949614fb9565b60200201519392505050565b604051806103c001604052805f81526020015f81526020015f815260200161497b614dac565b8152602001614988614dac565b8152602001614995614dac565b81526020016149a2614dac565b81526020016149af614dac565b81526020016149bc614dac565b81526020016149c9614dac565b81526020016149d6614dac565b81526020016149e3614dac565b81526020016149f0614dac565b81526020016149fd614dac565b8152602001614a0a614dac565b8152602001614a17614dac565b8152602001614a24614dac565b8152602001614a31614dac565b8152602001614a3e614dac565b8152602001614a4b614dac565b8152602001614a58614dac565b8152602001614a65614dac565b8152602001614a72614dac565b8152602001614a7f614dac565b8152602001614a8c614dac565b8152602001614a99614dac565b8152602001614aa6614dac565b8152602001614ab3614dac565b8152602001614ac0614dac565b8152602001614acd614dac565b905290565b604051806101e00160405280614ae6614de3565b8152602001614af3614c42565b8152602001614b00614c42565b8152602001614b0d614c42565b8152602001614b1a614c42565b8152602001614b27614c42565b8152602001614b34614c42565b8152602001614b41614c42565b8152602001614b4e614c42565b8152602001614b5b614e02565b8152602001614b68614e30565b8152602001614b75614e4f565b8152602001614b82614cd4565b8152602001614b8f614c42565b8152602001614acd614c42565b604051806101000160405280614bb0614c66565b8152602001614bbd614c96565b8152602001614bca614cd4565b8152602001614bd7614cd4565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806108c001604052806046906020820280368337509192915050565b604051806108c001604052806046905b614c2c614dac565b815260200190600190039081614c245790505090565b60405180608001604052805f81526020015f81526020015f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061032001604052806019906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061052001604052806029906020820280368337509192915050565b60405180610da00160405280606d906020820280368337509192915050565b604051806103a00160405280601d906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b604051806103400160405280601a906020820280368337509192915050565b60405180604001604052805f81526020015f81525090565b604051806101a00160405280600d906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b614e1a614d6e565b815260200190600190039081614e125790505090565b6040518061050001604052806028906020820280368337509192915050565b604051806103600160405280601b905b614e67614c42565b815260200190600190039081614e5f5790505090565b5f5f5f5f60408587031215614e90575f5ffd5b84356001600160401b03811115614ea5575f5ffd5b8501601f81018713614eb5575f5ffd5b80356001600160401b03811115614eca575f5ffd5b876020828401011115614edb575f5ffd5b6020918201955093508501356001600160401b03811115614efa575f5ffd5b8501601f81018713614f0a575f5ffd5b80356001600160401b03811115614f1f575f5ffd5b8760208260051b8401011115614f33575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176120cb576120cb614f41565b818103818111156120cb576120cb614f41565b808201808211156120cb576120cb614f41565b5f5f85851115614fa0575f5ffd5b83861115614fac575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b5f60018201614fde57614fde614f41565b5060010190565b803560208310156120cb575f19602084900360031b1b1692915050565b5f8183825b6009811015615026578151835260209283019290910190600101615007565b5050506101208201905092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261505857615058615036565b500490565b5f8183825b6029811015615081578151835260209283019290910190600101615062565b5050506105208201905092915050565b5f8183825b606d8110156150b5578151835260209283019290910190600101615096565b505050610da08201905092915050565b5f8183825b601d8110156150e95781518352602092830192909101906001016150ca565b5050506103a08201905092915050565b5f8183825b600581101561511d5781518352602092830192909101906001016150fe565b50505060a08201905092915050565b5f8261513a5761513a615036565b500690565b5f8161514d5761514d614f41565b505f190190565b5f82518060208501845e5f920191825250919050565b5f6020828403121561517a575f5ffd5b815180151581146119f5575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b81515f90829060208501835b828110156151c75781518452602093840193909101906001016151a9565b509195945050505050565b5f8183825b600d8110156151f65781518352602092830192909101906001016151d7565b5050506101a08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
|
|
4
4
|
/**
|
|
5
5
|
* HonkVerifier link references.
|
|
6
6
|
*/ export const HonkVerifierLinkReferences = {};
|
package/dest/IERC20Abi.d.ts
CHANGED
|
@@ -693,27 +693,19 @@ export declare const IERC20Abi: readonly [{
|
|
|
693
693
|
readonly type: "error";
|
|
694
694
|
readonly name: "Rollup__InvalidBlobHash";
|
|
695
695
|
readonly inputs: readonly [{
|
|
696
|
-
readonly name: "
|
|
696
|
+
readonly name: "expected";
|
|
697
697
|
readonly type: "bytes32";
|
|
698
698
|
readonly internalType: "bytes32";
|
|
699
|
-
}
|
|
700
|
-
|
|
701
|
-
readonly type: "error";
|
|
702
|
-
readonly name: "Rollup__InvalidBlobProof";
|
|
703
|
-
readonly inputs: readonly [{
|
|
704
|
-
readonly name: "blobHash";
|
|
699
|
+
}, {
|
|
700
|
+
readonly name: "actual";
|
|
705
701
|
readonly type: "bytes32";
|
|
706
702
|
readonly internalType: "bytes32";
|
|
707
703
|
}];
|
|
708
704
|
}, {
|
|
709
705
|
readonly type: "error";
|
|
710
|
-
readonly name: "
|
|
706
|
+
readonly name: "Rollup__InvalidBlobProof";
|
|
711
707
|
readonly inputs: readonly [{
|
|
712
|
-
readonly name: "
|
|
713
|
-
readonly type: "bytes32";
|
|
714
|
-
readonly internalType: "bytes32";
|
|
715
|
-
}, {
|
|
716
|
-
readonly name: "actual";
|
|
708
|
+
readonly name: "blobHash";
|
|
717
709
|
readonly type: "bytes32";
|
|
718
710
|
readonly internalType: "bytes32";
|
|
719
711
|
}];
|
|
@@ -913,6 +905,18 @@ export declare const IERC20Abi: readonly [{
|
|
|
913
905
|
readonly type: "error";
|
|
914
906
|
readonly name: "Rollup__TimestampTooOld";
|
|
915
907
|
readonly inputs: readonly [];
|
|
908
|
+
}, {
|
|
909
|
+
readonly type: "error";
|
|
910
|
+
readonly name: "Rollup__TooManyBlocksInEpoch";
|
|
911
|
+
readonly inputs: readonly [{
|
|
912
|
+
readonly name: "expected";
|
|
913
|
+
readonly type: "uint256";
|
|
914
|
+
readonly internalType: "uint256";
|
|
915
|
+
}, {
|
|
916
|
+
readonly name: "actual";
|
|
917
|
+
readonly type: "uint256";
|
|
918
|
+
readonly internalType: "uint256";
|
|
919
|
+
}];
|
|
916
920
|
}, {
|
|
917
921
|
readonly type: "error";
|
|
918
922
|
readonly name: "Rollup__TryingToProveNonExistingBlock";
|
package/dest/IERC20Abi.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IERC20Abi.d.ts","sourceRoot":"","sources":["../src/IERC20Abi.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"IERC20Abi.d.ts","sourceRoot":"","sources":["../src/IERC20Abi.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4zDZ,CAAC"}
|
package/dest/IERC20Abi.js
CHANGED
|
@@ -914,18 +914,12 @@
|
|
|
914
914
|
"name": "Rollup__InvalidBlobHash",
|
|
915
915
|
"inputs": [
|
|
916
916
|
{
|
|
917
|
-
"name": "
|
|
917
|
+
"name": "expected",
|
|
918
918
|
"type": "bytes32",
|
|
919
919
|
"internalType": "bytes32"
|
|
920
|
-
}
|
|
921
|
-
]
|
|
922
|
-
},
|
|
923
|
-
{
|
|
924
|
-
"type": "error",
|
|
925
|
-
"name": "Rollup__InvalidBlobProof",
|
|
926
|
-
"inputs": [
|
|
920
|
+
},
|
|
927
921
|
{
|
|
928
|
-
"name": "
|
|
922
|
+
"name": "actual",
|
|
929
923
|
"type": "bytes32",
|
|
930
924
|
"internalType": "bytes32"
|
|
931
925
|
}
|
|
@@ -933,15 +927,10 @@
|
|
|
933
927
|
},
|
|
934
928
|
{
|
|
935
929
|
"type": "error",
|
|
936
|
-
"name": "
|
|
930
|
+
"name": "Rollup__InvalidBlobProof",
|
|
937
931
|
"inputs": [
|
|
938
932
|
{
|
|
939
|
-
"name": "
|
|
940
|
-
"type": "bytes32",
|
|
941
|
-
"internalType": "bytes32"
|
|
942
|
-
},
|
|
943
|
-
{
|
|
944
|
-
"name": "actual",
|
|
933
|
+
"name": "blobHash",
|
|
945
934
|
"type": "bytes32",
|
|
946
935
|
"internalType": "bytes32"
|
|
947
936
|
}
|
|
@@ -1205,6 +1194,22 @@
|
|
|
1205
1194
|
"name": "Rollup__TimestampTooOld",
|
|
1206
1195
|
"inputs": []
|
|
1207
1196
|
},
|
|
1197
|
+
{
|
|
1198
|
+
"type": "error",
|
|
1199
|
+
"name": "Rollup__TooManyBlocksInEpoch",
|
|
1200
|
+
"inputs": [
|
|
1201
|
+
{
|
|
1202
|
+
"name": "expected",
|
|
1203
|
+
"type": "uint256",
|
|
1204
|
+
"internalType": "uint256"
|
|
1205
|
+
},
|
|
1206
|
+
{
|
|
1207
|
+
"name": "actual",
|
|
1208
|
+
"type": "uint256",
|
|
1209
|
+
"internalType": "uint256"
|
|
1210
|
+
}
|
|
1211
|
+
]
|
|
1212
|
+
},
|
|
1208
1213
|
{
|
|
1209
1214
|
"type": "error",
|
|
1210
1215
|
"name": "Rollup__TryingToProveNonExistingBlock",
|