@aztec/l1-artifacts 1.2.0 → 2.0.0-nightly.20250813
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 +186 -32
- package/dest/CoinIssuerAbi.d.ts.map +1 -1
- package/dest/CoinIssuerAbi.js +237 -34
- package/dest/CoinIssuerBytecode.d.ts +1 -1
- package/dest/CoinIssuerBytecode.d.ts.map +1 -1
- package/dest/CoinIssuerBytecode.js +1 -1
- package/dest/EmpireBaseAbi.d.ts +284 -144
- package/dest/EmpireBaseAbi.d.ts.map +1 -1
- package/dest/EmpireBaseAbi.js +353 -168
- package/dest/ErrorsAbi.d.ts +180 -32
- package/dest/ErrorsAbi.d.ts.map +1 -1
- package/dest/ErrorsAbi.js +230 -34
- package/dest/ExtRollupLib2Abi.d.ts +345 -32
- package/dest/ExtRollupLib2Abi.d.ts.map +1 -1
- package/dest/ExtRollupLib2Abi.js +442 -34
- package/dest/ExtRollupLib2Bytecode.d.ts +1 -1
- package/dest/ExtRollupLib2Bytecode.d.ts.map +1 -1
- package/dest/ExtRollupLib2Bytecode.js +1 -1
- package/dest/ExtRollupLib3Abi.d.ts +1549 -0
- package/dest/ExtRollupLib3Abi.d.ts.map +1 -0
- package/dest/ExtRollupLib3Abi.js +2057 -0
- package/dest/ExtRollupLib3Bytecode.d.ts +9 -0
- package/dest/ExtRollupLib3Bytecode.d.ts.map +1 -0
- package/dest/ExtRollupLib3Bytecode.js +6 -0
- package/dest/ExtRollupLibAbi.d.ts +180 -32
- package/dest/ExtRollupLibAbi.d.ts.map +1 -1
- package/dest/ExtRollupLibAbi.js +230 -34
- 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 +180 -32
- package/dest/FeeAssetHandlerAbi.d.ts.map +1 -1
- package/dest/FeeAssetHandlerAbi.js +230 -34
- package/dest/FeeAssetHandlerBytecode.d.ts +1 -1
- package/dest/FeeAssetHandlerBytecode.d.ts.map +1 -1
- package/dest/FeeAssetHandlerBytecode.js +1 -1
- package/dest/FeeJuicePortalAbi.d.ts +180 -32
- package/dest/FeeJuicePortalAbi.d.ts.map +1 -1
- package/dest/FeeJuicePortalAbi.js +230 -34
- package/dest/FeeJuicePortalBytecode.d.ts +1 -1
- package/dest/FeeJuicePortalBytecode.d.ts.map +1 -1
- package/dest/FeeJuicePortalBytecode.js +1 -1
- package/dest/GSEAbi.d.ts +427 -106
- package/dest/GSEAbi.d.ts.map +1 -1
- package/dest/GSEAbi.js +550 -127
- package/dest/GSEBytecode.d.ts +1 -1
- package/dest/GSEBytecode.d.ts.map +1 -1
- package/dest/GSEBytecode.js +1 -1
- package/dest/GovernanceAbi.d.ts +204 -56
- package/dest/GovernanceAbi.d.ts.map +1 -1
- package/dest/GovernanceAbi.js +257 -61
- package/dest/GovernanceBytecode.d.ts +1 -1
- package/dest/GovernanceBytecode.d.ts.map +1 -1
- package/dest/GovernanceBytecode.js +1 -1
- package/dest/GovernanceProposerAbi.d.ts +291 -141
- package/dest/GovernanceProposerAbi.d.ts.map +1 -1
- package/dest/GovernanceProposerAbi.js +360 -162
- package/dest/GovernanceProposerBytecode.d.ts +1 -1
- package/dest/GovernanceProposerBytecode.d.ts.map +1 -1
- package/dest/GovernanceProposerBytecode.js +1 -1
- package/dest/HonkVerifierAbi.d.ts +196 -32
- package/dest/HonkVerifierAbi.d.ts.map +1 -1
- package/dest/HonkVerifierAbi.js +251 -34
- 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 +180 -32
- package/dest/IERC20Abi.d.ts.map +1 -1
- package/dest/IERC20Abi.js +230 -34
- package/dest/IVerifierAbi.d.ts +180 -32
- package/dest/IVerifierAbi.d.ts.map +1 -1
- package/dest/IVerifierAbi.js +230 -34
- package/dest/InboxAbi.d.ts +180 -32
- package/dest/InboxAbi.d.ts.map +1 -1
- package/dest/InboxAbi.js +230 -34
- package/dest/InboxBytecode.d.ts +1 -1
- package/dest/InboxBytecode.d.ts.map +1 -1
- package/dest/InboxBytecode.js +1 -1
- package/dest/MockVerifierAbi.d.ts +180 -32
- package/dest/MockVerifierAbi.d.ts.map +1 -1
- package/dest/MockVerifierAbi.js +230 -34
- package/dest/MockVerifierBytecode.d.ts +1 -1
- package/dest/MockVerifierBytecode.d.ts.map +1 -1
- package/dest/MockVerifierBytecode.js +1 -1
- package/dest/MockZKPassportVerifierAbi.d.ts +180 -32
- package/dest/MockZKPassportVerifierAbi.d.ts.map +1 -1
- package/dest/MockZKPassportVerifierAbi.js +230 -34
- package/dest/MockZKPassportVerifierBytecode.d.ts +1 -1
- package/dest/MockZKPassportVerifierBytecode.d.ts.map +1 -1
- package/dest/MockZKPassportVerifierBytecode.js +1 -1
- package/dest/MultiAdderAbi.d.ts +227 -32
- package/dest/MultiAdderAbi.d.ts.map +1 -1
- package/dest/MultiAdderAbi.js +291 -34
- package/dest/MultiAdderBytecode.d.ts +1 -1
- package/dest/MultiAdderBytecode.d.ts.map +1 -1
- package/dest/MultiAdderBytecode.js +1 -1
- package/dest/NewGovernanceProposerPayloadAbi.d.ts +190 -32
- package/dest/NewGovernanceProposerPayloadAbi.d.ts.map +1 -1
- package/dest/NewGovernanceProposerPayloadAbi.js +243 -34
- package/dest/NewGovernanceProposerPayloadBytecode.d.ts +1 -1
- package/dest/NewGovernanceProposerPayloadBytecode.d.ts.map +1 -1
- package/dest/NewGovernanceProposerPayloadBytecode.js +1 -1
- package/dest/OutboxAbi.d.ts +183 -35
- package/dest/OutboxAbi.d.ts.map +1 -1
- package/dest/OutboxAbi.js +233 -37
- 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 +190 -32
- package/dest/RegisterNewRollupVersionPayloadAbi.d.ts.map +1 -1
- package/dest/RegisterNewRollupVersionPayloadAbi.js +243 -34
- package/dest/RegisterNewRollupVersionPayloadBytecode.d.ts +1 -1
- package/dest/RegisterNewRollupVersionPayloadBytecode.d.ts.map +1 -1
- package/dest/RegisterNewRollupVersionPayloadBytecode.js +1 -1
- package/dest/RegistryAbi.d.ts +192 -64
- package/dest/RegistryAbi.d.ts.map +1 -1
- package/dest/RegistryAbi.js +244 -74
- package/dest/RegistryBytecode.d.ts +1 -1
- package/dest/RegistryBytecode.d.ts.map +1 -1
- package/dest/RegistryBytecode.js +1 -1
- package/dest/RewardDistributorAbi.d.ts +175 -116
- package/dest/RewardDistributorAbi.d.ts.map +1 -1
- package/dest/RewardDistributorAbi.js +221 -142
- package/dest/RewardDistributorBytecode.d.ts +1 -1
- package/dest/RewardDistributorBytecode.d.ts.map +1 -1
- package/dest/RewardDistributorBytecode.js +1 -1
- package/dest/RollupAbi.d.ts +536 -53
- package/dest/RollupAbi.d.ts.map +1 -1
- package/dest/RollupAbi.js +689 -63
- package/dest/RollupBytecode.d.ts +47 -23
- package/dest/RollupBytecode.d.ts.map +1 -1
- package/dest/RollupBytecode.js +55 -23
- package/dest/RollupStorage.d.ts +3 -3
- package/dest/RollupStorage.js +3 -3
- package/dest/SlashFactoryAbi.d.ts +180 -32
- package/dest/SlashFactoryAbi.d.ts.map +1 -1
- package/dest/SlashFactoryAbi.js +230 -34
- package/dest/SlashFactoryBytecode.d.ts +1 -1
- package/dest/SlashFactoryBytecode.d.ts.map +1 -1
- package/dest/SlashFactoryBytecode.js +1 -1
- package/dest/SlasherAbi.d.ts +256 -34
- package/dest/SlasherAbi.d.ts.map +1 -1
- package/dest/SlasherAbi.js +330 -36
- package/dest/SlasherBytecode.d.ts +1 -1
- package/dest/SlasherBytecode.d.ts.map +1 -1
- package/dest/SlasherBytecode.js +1 -1
- package/dest/SlashingProposerAbi.d.ts +292 -144
- package/dest/SlashingProposerAbi.d.ts.map +1 -1
- package/dest/SlashingProposerAbi.js +363 -168
- package/dest/SlashingProposerBytecode.d.ts +1 -1
- package/dest/SlashingProposerBytecode.d.ts.map +1 -1
- package/dest/SlashingProposerBytecode.js +1 -1
- package/dest/StakingAssetHandlerAbi.d.ts +274 -32
- package/dest/StakingAssetHandlerAbi.d.ts.map +1 -1
- package/dest/StakingAssetHandlerAbi.js +352 -34
- 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 +212 -33
- package/dest/TestERC20Abi.d.ts.map +1 -1
- package/dest/TestERC20Abi.js +270 -35
- package/dest/TestERC20Bytecode.d.ts +1 -1
- package/dest/TestERC20Bytecode.d.ts.map +1 -1
- package/dest/TestERC20Bytecode.js +1 -1
- package/dest/TokenPortalAbi.d.ts +180 -32
- package/dest/TokenPortalAbi.d.ts.map +1 -1
- package/dest/TokenPortalAbi.js +230 -34
- package/dest/TokenPortalBytecode.d.ts +1 -1
- package/dest/TokenPortalBytecode.d.ts.map +1 -1
- package/dest/TokenPortalBytecode.js +1 -1
- package/dest/UniswapPortalAbi.d.ts +180 -32
- package/dest/UniswapPortalAbi.d.ts.map +1 -1
- package/dest/UniswapPortalAbi.js +230 -34
- package/dest/UniswapPortalBytecode.d.ts +1 -1
- package/dest/UniswapPortalBytecode.d.ts.map +1 -1
- package/dest/UniswapPortalBytecode.js +1 -1
- package/dest/ValidatorSelectionLibAbi.d.ts +180 -32
- package/dest/ValidatorSelectionLibAbi.d.ts.map +1 -1
- package/dest/ValidatorSelectionLibAbi.js +230 -34
- 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/dest/index.d.ts +2 -0
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +2 -0
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* HonkVerifier bytecode.
|
|
3
3
|
*/
|
|
4
|
-
export declare const HonkVerifierBytecode = "0x60e060405234801561000f575f5ffd5b506302000000608052601960a05260ae60c05260805160a05160c0516152e56100605f395f818160d6015261065001525f818161075b01528181610d030152610da001525f6105f401526152e55ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004614ee7565b610054565b604051901515815260200160405180910390f35b5f6100626101c86020614fbf565b8414610081576040516376ba560560e11b815260040160405180910390fd5b5f61008a6101c1565b90505f61009787876101d6565b9050601082604001516100aa9190614fd6565b84146100c95760405163fa06659360e01b815260040160405180910390fd5b5f6100fc828787865f01517f0000000000000000000000000000000000000000000000000000000000000000600161052f565b905061014c8686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050855185516060810151608090910151919350915060016105de565b815160a001525f61015d8383610753565b90508061017d576040516313f8744360e31b815260040160405180910390fd5b5f610189848685610854565b9050806101a9576040516352ec174560e11b815260040160405180910390fd5b8180156101b35750805b9a9950505050505050505050565b6101c961493d565b6101d161109e565b905090565b6101de614aba565b5f805b60108110156102405761020d8583866101fb826020614fe9565b9261020893929190614ffc565b611985565b8351826010811061022057610220615023565b6020020181815250506020826102369190614fe9565b91506001016101e1565b50610264848285610252826080614fe9565b9261025f93929190614ffc565b6119f3565b6020830152610274608082614fe9565b9050610287848285610252826080614fe9565b6040830152610297608082614fe9565b90506102aa848285610252826080614fe9565b60608301526102ba608082614fe9565b90506102cd848285610252826080614fe9565b60c08301526102dd608082614fe9565b90506102f0848285610252826080614fe9565b60e0830152610300608082614fe9565b9050610313848285610252826080614fe9565b6080808401919091526103269082614fe9565b9050610339848285610252826080614fe9565b61010083015261034a608082614fe9565b905061035d848285610252826080614fe9565b60a083015261036d608082614fe9565b90505f5b601c8110156103ec575f5b60088110156103e3576103968684876101fb826020614fe9565b84610120015183601c81106103ad576103ad615023565b602002015182600881106103c3576103c3615023565b6020020181815250506020836103d99190614fe9565b925060010161037c565b50600101610371565b505f5b6028811015610440576104098583866101fb826020614fe9565b836101400151826028811061042057610420615023565b6020020181815250506020826104369190614fe9565b91506001016103ef565b505f5b61044f6001601c614fd6565b81101561049857610467858386610252826080614fe9565b83610160015182601b811061047e5761047e615023565b602002015261048e608083614fe9565b9150600101610443565b505f5b601c8110156104ec576104b58583866101fb826020614fe9565b83610180015182601c81106104cc576104cc615023565b6020020181815250506020826104e29190614fe9565b915060010161049b565b506104fe848285610252826080614fe9565b6101a083015261050f608082614fe9565b9050610522848285610252826080614fe9565b6101c08301525092915050565b610537614b84565b5f61054788888888888887611ad2565b90835290506105568189611b28565b6020840191909152905061056981611c79565b6040840191909152905061057d8882611cda565b606084019190915290506105918882611dae565b608084019190915290506105a58882611e39565b60a084019190915290506105b98882611fa7565b60c084019190915290506105cd8882612019565b5060e0830152509695505050505050565b5f60018082610627866106228961061d6106188a7f0000000000000000000000000000000000000000000000000000000000000000614fe9565b612070565b61208e565b6120a7565b90505f610645876106408a61061d6106188b6001614fe9565b6120c0565b90505f5b61067460107f0000000000000000000000000000000000000000000000000000000000000000614fd6565b8110156106e1575f61069e8c838151811061069157610691615023565b6020026020010151612070565b90506106ae8661061d86846120a7565b95506106be8561061d85846120a7565b94506106ca848b6120a7565b93506106d6838b6120c0565b925050600101610649565b505f5b6010811015610748575f8a826010811061070057610700615023565b602002015190506107158661061d86846120a7565b95506107258561061d85846120a7565b9450610731848b6120a7565b935061073d838b6120c0565b9250506001016106e4565b506101b384846120ef565b5f806001815b7f000000000000000000000000000000000000000000000000000000000000000081101561082a575f86610120015182601c811061079957610799615023565b602002015190505f6107ab82866120fd565b9050806107cb576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c81106107e2576107e2615023565b602002015190506107f3838261211a565b955061081a886040015185601c811061080e5761080e615023565b602002015186836122c9565b9450505050806001019050610759565b505f610844866101400151865f01518760200151856122f4565b90508281145b9695505050505050565b5f61085d614bdd565b5f61086b8460a00151612362565b9050610875614c41565b61087d614c60565b60e086015161089c9061089790855f5b60200201516120c0565b6123c7565b60e0808601919091528601516108bd9061089790855f5b60200201516120a7565b610100850181905260e085015160c08801516108dd92610622919061208e565b845260a086015161090c906108f1906123c7565b61061d8660e001516106408a60c0015189610100015161208e565b6020850152600182526101a088015161092490612430565b81526001606085018190525f60808601525b602381116109dc5761095761094d865f015161246f565b866060015161208e565b83826046811061096957610969615023565b602002015260808501516101408a01516109ac91906106229061098d600186614fd6565b6028811061099d5761099d615023565b6020020151886060015161208e565b8560800181815250506109c78560600151886080015161208e565b60608601526109d581615037565b9050610936565b505f6109ea60236001614fe9565b90505b60288111610a6b57610a0561094d866020015161246f565b838260468110610a1757610a17615023565b602002015260808501516101408a0151610a3b91906106229061098d600186614fd6565b856080018181525050610a568560600151886080015161208e565b6060860152610a6481615037565b90506109ed565b50606087015181600160200201526080870151816002602002015260a0870151816003602002015260c0870151816004602002015260e0870151816005602002015261010087015181600660200201526101208701518160076020020152610140870151816008602002015261016087015181600960200201526101a087015181600a602002015261018087015181600b60200201526101c087015181600c60200201526101e087015181600d602002015261020087015181600e602002015261022087015181600f60200201526102408701518160106020020152610260870151816011602002015261028087015181601260200201526102a087015181601360200201526102c087015181601460200201526102e08701518160156020020152610300870151816016602002015261032087015181601760200201526103408701518160186020020152610360870151816019602002015261038087015181601a60200201526103a087015181601b6020020181905250610bf18860200151612430565b6103808201526040880151610c0590612430565b6103a08201526060880151610c1990612430565b6103c08201526080880151610c2d90612430565b6103e082015260a0880151610c4190612430565b610400820152610100880151610c5690612430565b61042082015260c0880151610c6a90612430565b61044082015260e0880151610c7e90612430565b6104608201526020880151610c9290612430565b6104808201526040880151610ca690612430565b6104a08201526060880151610cba90612430565b6104c08201526080880151610cce90612430565b6104e082015260a0880151610ce290612430565b610500820152606086015160808501516101808a01515f92610d27929091877f0000000000000000000000000000000000000000000000000000000000000000612487565b805160e0870151919250610d3a9161208e565b604086018190526101808a01515160c0890151610d6b929161062291610d60919061208e565b88610100015161208e565b604086015260c0870151610d7e906125a2565b60608601525f5b610d916001601c614fd6565b811015610f99575f610dc460017f0000000000000000000000000000000000000000000000000000000000000000614fd6565b821015905080610f3f57610df76108978a60e0015188856001610de79190614fe9565b601c811061088d5761088d615023565b60e080890191909152890151610e27906108979088610e17866001614fe9565b601c81106108b3576108b3615023565b610100880152606087015160e0880151610e41919061208e565b610120880152606087015160c08a0151610e5e91610d609161208e565b6101408801819052610e8190610e739061246f565b61062289610120015161246f565b8583610e8f60286001614fe9565b610e999190614fe9565b60468110610ea957610ea9615023565b60200201526101408701516101808c01515f91610ee591610ecb866001614fe9565b601c8110610edb57610edb615023565b602002015161208e565b9050610f02816106228a610120015187876001610ecb9190614fe9565b9050610f128860400151826120a7565b6040890152606088015160c08b0151610f3891610f2e9161208e565b8b60c0015161208e565b6060890152505b610f638b610160015183601b8110610f5957610f59615023565b6020020151612430565b8483610f7160286001614fe9565b610f7b9190614fe9565b60468110610f8b57610f8b615023565b602002015250600101610d85565b5060408051808201909152600181526002602082015282610fbc601c6028614fe9565b60468110610fcc57610fcc615023565b6020020152604085015183610fe3601c6028614fe9565b60468110610ff357610ff3615023565b60200201526101c08901515f9061100990612430565b90508083611019601c6028614fe9565b611024906001614fe9565b6046811061103457611034615023565b602002015260e08801518461104b601c6028614fe9565b611056906001614fe9565b6046811061106657611066615023565b60200201525f61107684866125ad565b90505f61108283612673565b905061108e82826126b9565b9c9b505050505050505050505050565b6110a661493d565b50604080516103c08101825263020000008152601960208083019190915260ae82840152825180840184527f1423766d01328ff8377b448b5b49fb4a527732bc924bba29d386f62c81c65a3781527f21bfb9be34603e4c42b95f2c36b4a31223aa2a6f8ac7360d510fcbb2c3d44913818301526060830152825180840184527f2b625f18a941fc78de476155de5616987149e29b738f3e5c5187c18e7f0e18c581527f05161e0a5bfac2e25d84464915782eb06380ef8eedf20c97dd8f8cd8aebe23c8818301526080830152825180840184527f28212e3defb5c7ca1c54d0a574f7ca18ee14e2fd831770c8ff962739338e69c281527f26ef277853861d48a0cd5b6c4b5899e5dbf4e05395e75f2bfe793778820d43be8183015260a0830152825180840184527f117c88119ed0bb25c19476f5020b728f0ba6d26e85a7860b5033aae0412d89ce81527f06e2394027f1db6ae82ea7dc2fccc12fc6e067e3eeb6dae8294c286921510d418183015260c0830152825180840184527f12c762b379eef32e1dff404bd41db35854b10241e958d657788976c743e7b54081527f269c1047fe2c5a258a0aff434c39d2fbe8a4fffa425a48b227ed18ba4f767f818183015260e0830152825180840184527f15615b19d313afcb9b6fdabbe9fa76ef15cbeefc3100859dddc3763c7e6b184381527f2d7c6247a26fc1a1eb59648a05435073793ac2157a2547eb6b620ee307e0601a81830152610100830152825180840184527f107d2d79c20982125b9f302008ecbd7b7f25eebc71271311c28f58223170c78b81527f0f3c9104533084fca88d92d900c94cb1400899b1c3c2b40cf32807f7d8517f4781830152610120830152825180840184527f243160f269b7f443194874c29a90c807c8f603f223b03b06f7f3ee6fde11117681527f2ccbe7a268180a7f5f24c78655f281bd107e9845918069a3a19e811e99c1c75181830152610140830152825180840184527f11eba65da2b0d0a72b78d1ce79f4c115b5e6640ee69564c9a2dc526e8129013e81527f1e1929f83c7d88a51eeef186ee0070ec65a1cf2e05320d502aa0dff87863853381830152610160830152825180840184527f21f545a2ad9d42f5fc45275a1368ba7002e0e0c65a2acd6901a73b5edb66a4f881527f18202a8dd1765b44b7d189ba867a37f6a2c490f463deb76a284aef21728292aa81830152610180830152825180840184527f13ab11708e1645a57e85a50de8e19a3ab82a549770c8343e7bf22da2fb33b93681527f2ef46751fa5128c2a890561273b8ab974624a72ef0a3a85130ea01c59c5ece1b818301526101a0830152825180840184527f1f374592c28b75aed8394aa019cfef0c9ed6f5d816f7d9f0a298c19c4f5d5b6d81527f0c9eb6a081260fb3f87c0e44649812d3d86637282763736dfed69b0564454ca7818301526101c0830152825180840184527f2825bf2c1f9a28fa6fa57dd00146aad2ba809c20900f144b1df9badadb40f29981527f060bdf672bb6f598872f654118c0ec3c2cb2597969bf0eb93436f3d035937485818301526101e0830152825180840184527f09fad36b6aa67602c5940cdc81e422ff2c89a4cbe8138da989211d5cf846e29b81527f0664bb2cceb113878ccc1cf42ea0dafabc622563b6323ad7ce90c8b27d9ced6181830152610200830152825180840184527f05feb7d56a9986c47fdc054458f0d7e019c609ae56b17d7cfe6f992dd563266d81527f1e3f5d83deca691ee8858a5f366537849fa4deba04a2ccddf6b87c81456fec0681830152610220830152825180840184527f301b668b7687cccd144ccab5d172599e92ab00e27983709d3acc399e724fa08981527f03afbd6bef34d27f73f2c2ef1678d9969c69e0bd86e9908945cc6c3295c0090481830152610240830152825180840184527f2f3bcebf67cfa380ce275b66bd9178846ec1be04cd9e06204c4d443927c0cf7f81527f23b1a64cd299df5a432dc217f1f361a14460ada19e0d45cf828db68f9cfaefe181830152610260830152825180840184527f2d6c321862c3aa30e9b4b66b70060e0aea1e133061b675427fe39522ce012ea881527f1eba18798edbec1060227506469e89a123e099e3b95c704a93ada168ae81f5c481830152610280830152825180840184527f1781012bf8c7de058d607e795e3faccba2b6df23de293531812c72d1f6c5171481527f161b233f25692c552bdb2ff50741cdf0de32e1ba2f53d4a7cd710cc7cf513c61818301526102a0830152825180840184527f27bad9fa5ae460989027e26d09c17b90c92a3dc6341c1e86d47d2b7d19489e1f81527f07dfa5905f100e7f78a75aa8eb0703270952e439690749e863a611d4829e2dc0818301526102c0830152825180840184527f20c0130bd51e5ceedf15109c9bf127c23381349bb0fd690e82d2c4fe171e0d9581527f16bdc06516a411f55f23123ddaffa88b8d519f9c9d28127258b2948940b21606818301526102e0830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610300830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610320830152825180840184527f09d569252b4b229e483b00b1e67384ac4db29395d32e28c82f8b73983d30ac6b81527f2c47d5809e56ba32be655d4177db195bb450fd12587756c4b85b6506a7844ddb81830152610340830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c81830152610360830152825180840184526001815260028183015261038083015282518084019093527f06ad58dd57c4f4d270d31c29a2f81a1b56d69300cdb4170f44fa556cf681cee283527f0f84ac41134a63eae2611149b18f3aea22c40c3eb7db195cd6e4075b8b3d2ca2908301526103a081019190915290565b5f602082146119df5760405162461bcd60e51b815260206004820152602e60248201525f5160206152855f395f51905f5260448201526d393ab1ba1023391039b1b0b630b960911b60648201526084015b60405180910390fd5b6119ec610618838561504f565b9392505050565b6119fb614c8e565b60808214611a505760405162461bcd60e51b815260206004820152602f60248201525f5160206152855f395f51905f5260448201526e1c9d58dd08184811cc481c1bda5b9d608a1b60648201526084016119d6565b604080516080810190915280611a6960205f8688614ffc565b611a729161504f565b8152602090810190611a88906040908688614ffc565b611a919161504f565b8152602001611aa4606060408688614ffc565b611aad9161504f565b8152602001611ac0608060608688614ffc565b611ac99161504f565b90529392505050565b611ada614cb2565b5f611ae98989898989896128ad565b604086019190915260208501919091529083529250611b08838a612d53565b608085019190915260608401919091529199919850909650505050505050565b611b30614ce2565b5f611b39614d01565b848152610100848101805151602080850191909152815181015160408086019190915282518101516060808701919091529251830151608086015260a080890180515191870191909152805183015160c0870152805182015160e087015251909201519284019290925251611bcf91611bb49184910161506c565b60405160208183030381529060405280519060200120612070565b9150611bda82612e22565b6020850152835260015b611bf06002601a6150b4565b811015611c7057611c0d83604051602001611bb491815260200190565b9250611c1883612e22565b85611c24846002614fbf565b601a8110611c3457611c34615023565b6020020186611c44856002614fbf565b611c4f906001614fe9565b601a8110611c5f57611c5f615023565b602002019190915252600101611be4565b50509250929050565b611c81614d20565b5f805b601c811015611cd357611ca384604051602001611bb491815260200190565b93505f611caf85612e22565b8584601c8110611cc157611cc1615023565b60200201919091525050600101611c84565b5090929050565b611ce2614d20565b5f805b601c811015611da557611cf6614d01565b8481525f5b6008811015611d5f5786610120015183601c8110611d1b57611d1b615023565b60200201518160088110611d3157611d31615023565b602002015182611d42836001614fe9565b60098110611d5257611d52615023565b6020020152600101611cfb565b50611d7481604051602001611bb4919061506c565b94505f611d8086612e22565b8685601c8110611d9257611d92615023565b6020020191909152505050600101611ce5565b50909391925050565b5f5f611db8614d3f565b8381525f5b6028811015611e0b578561014001518160288110611ddd57611ddd615023565b602002015182611dee836001614fe9565b60298110611dfe57611dfe615023565b6020020152600101611dbd565b50611e2081604051602001611bb491906150c7565b91505f611e2c83612e22565b5096929550919350505050565b5f5f611e43614d5e565b8381525f5b611e546001601c614fd6565b811015611f925785610160015181601b8110611e7257611e72615023565b60200201515182611e84836004614fbf565b611e8f906001614fe9565b606d8110611e9f57611e9f615023565b602002015261016086015181601b8110611ebb57611ebb615023565b60200201516020015182826004611ed29190614fbf565b611edd906002614fe9565b606d8110611eed57611eed615023565b602002015261016086015181601b8110611f0957611f09615023565b60200201516040015182611f1e836004614fbf565b611f29906003614fe9565b606d8110611f3957611f39615023565b602002015261016086015181601b8110611f5557611f55615023565b60200201516060015182611f6a836004614fbf565b611f75906004614fe9565b606d8110611f8557611f85615023565b6020020152600101611e48565b50611e2081604051602001611bb491906150fb565b5f5f611fb1614d7d565b8381525f5b601c8110156120045785610180015181601c8110611fd657611fd6615023565b602002015182611fe7836001614fe9565b601d8110611ff757611ff7615023565b6020020152600101611fb6565b50611e2081604051602001611bb4919061512f565b5f5f612023614d9c565b8381526101a085018051516020808401919091528151810151604080850191909152825181015160608086019190915292519092015160808401529051611e2091611bb491849101615163565b5f6120885f5160206152c55f395f51905f5283615196565b92915050565b5f5f5160206152c55f395f51905f528284099392505050565b5f5f5160206152c55f395f51905f528284089392505050565b5f5f5160206152c55f395f51905f526120e6835f5160206152c55f395f51905f52614fd6565b84089392505050565b5f6119ec8361061d846123c7565b81515f90819061210f908560016108b3565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b6008811015612201576121f78261061d87846120c0565b91506001016121e0565b5061220a614dba565b5f5b600881101561226b575f84826008811061222857612228615023565b6020020151905061223d8161061d89856120c0565b9050612248816123c7565b90508083836008811061225d5761225d615023565b60200201525060010161220c565b505f5b60088110156122be575f87826008811061228a5761228a615023565b602002015190506122a781848460088110610edb57610edb615023565b90506122b386826120a7565b95505060010161226e565b5061084a848361208e565b5f5f6122df60016106228561061d8960016120c0565b90506122eb848261208e565b95945050505050565b5f6122fd614dd9565b612308868285612e52565b61231486868386612ffe565b612320868683866131e6565b61232b868285613411565b612336868285613605565b6123428686838661394e565b61234d8682856141e8565b6123588682856145b3565b61084a81856148a8565b61236a614d20565b81815260015b601c8110156123c1576123a282612388600184614fd6565b601c811061239857612398615023565b60200201516125a2565b8282601c81106123b4576123b4615023565b6020020152600101612370565b50919050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f5160206152c55f395f51905f520360808201525f5160206152c55f395f51905f5260a082015260205f60c08360055afa905080612425575f5ffd5b50505f519392505050565b612438614df8565b604051806040016040528060888460200151901b845f015117815260200160888460600151901b8460400151178152509050919050565b5f612088825f5160206152c55f395f51905f52614fd6565b61248f614d20565b601c5b8015612598575f846124a5600184614fd6565b601c81106124b5576124b5615023565b602002015190505f886124c9600185614fd6565b601c81106124d9576124d9615023565b602002015190505f6125346124f86124f1858c61208e565b600261208e565b6106408a612507600189614fd6565b601c811061251757612517615023565b602002015161061d61252e8861061d60018a6120c0565b876120c0565b90506125558161061d61089761254f8761061d6001896120c0565b866120a7565b905085841161258457975087808561256e600187614fd6565b601c811061257e5761257e615023565b60200201525b50505080612591906151a9565b9050612492565b5095945050505050565b5f612088828361208e565b6125b5614df8565b5f6125c2601c6028614fe9565b6125cd906002614fe9565b90506001604051855151604082015285516020015160608201528451608082015260408160606040840160075afa8216915060015b8381101561265b5760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612602565b50805184526020810151602085015250505092915050565b61267b614df8565b5f5160206152a55f395f51905f5282602001515f5160206152a55f395f51905f526126a69190614fd6565b6126b09190615196565b60208301525090565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b03168360405161284f91906151be565b5f60405180830381855afa9150503d805f8114612887576040519150601f19603f3d011682016040523d82523d5f602084013e61288c565b606091505b509150915081801561084a57508080602001905181019061084a91906151d4565b5f808080806128bd876003614fe9565b6128c890600c614fe9565b6001600160401b038111156128df576128df6151f3565b604051908082528060200260200182016040528015612908578160200160208202803683370190505b509050875f1b815f8151811061292057612920615023565b602002602001018181525050865f1b8160018151811061294257612942615023565b602002602001018181525050855f1b8160028151811061296457612964615023565b60209081029190910101525f5b61297c601089614fd6565b8110156129cd578a8a8281811061299557612995615023565b90506020020135828260036129aa9190614fe9565b815181106129ba576129ba615023565b6020908102919091010152600101612971565b505f5b6010811015612a3e578b516129f89082601081106129f0576129f0615023565b602002015190565b82826010612a078c6003614fe9565b612a119190614fd6565b612a1b9190614fe9565b81518110612a2b57612a2b615023565b60209081029190910101526001016129d0565b5060208b01515181612a51896003614fe9565b81518110612a6157612a61615023565b6020908102919091018101919091528b810151015181612a82896003614fe9565b612a8d906001614fe9565b81518110612a9d57612a9d615023565b6020908102919091018101919091528b01516040015181612abf896003614fe9565b612aca906002614fe9565b81518110612ada57612ada615023565b6020908102919091018101919091528b01516060015181612afc896003614fe9565b612b07906003614fe9565b81518110612b1757612b17615023565b602090810291909101015260408b01515181612b34896003614fe9565b612b3f906004614fe9565b81518110612b4f57612b4f615023565b60209081029190910181019190915260408c0151015181612b71896003614fe9565b612b7c906005614fe9565b81518110612b8c57612b8c615023565b60209081029190910101526040808c0151015181612bab896003614fe9565b612bb6906006614fe9565b81518110612bc657612bc6615023565b602090810291909101015260408b01516060015181612be6896003614fe9565b612bf1906007614fe9565b81518110612c0157612c01615023565b602090810291909101015260608b01515181612c1e896003614fe9565b612c29906008614fe9565b81518110612c3957612c39615023565b60209081029190910181019190915260608c0151015181612c5b896003614fe9565b612c66906009614fe9565b81518110612c7657612c76615023565b602090810291909101015260608b01516040015181612c96896003614fe9565b612ca190600a614fe9565b81518110612cb157612cb1615023565b60209081029190910101526060808c0151015181612cd0896003614fe9565b612cdb90600b614fe9565b81518110612ceb57612ceb615023565b602002602001018181525050612d0b81604051602001611bb49190615207565b9150612d1682612e22565b6040805160208101869052929750909550612d319101611bb4565b91505f612d3d83612e22565b50959c949b509499509097509195505050505050565b5f5f5f612d5e614e10565b85815260c085810180515160208085019190915281518101516040808601919091528251810151606080870191909152925183015160808087019190915260e0808b0180515160a089015280518501519688019690965285518301519087015293518301516101008601529288018051516101208601528051820151610140860152805184015161016086015251909101516101808401529051612e0891611bb49184910161523c565b9150612e1382612e22565b90979096509194509092505050565b5f80826001600160801b038116608082901c612e3d82612070565b9450612e4881612070565b9350505050915091565b5f612e5e84600761490d565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f612ebf612eb9612e938560036120c0565b61061d612eae612ea38b5f61490d565b61061d8c601c61490d565b61061d8b601b61490d565b8361208e565b9050612f40612f35612f1c612f03612eea85610622612edf8d600261490d565b61061d8e601b61490d565b610622612ef88c600361490d565b61061d8d601c61490d565b610622612f118b600461490d565b61061d8c601d61490d565b610622612f2a8a600561490d565b61061d8b601e61490d565b61062288600161490d565b9050612f5f81610622612f548660016120c0565b61061d8a602661490d565b9050612f6b818461208e565b9050612f77818561208e565b8552505f9050612fb1612fa7612f9c612f9188601b61490d565b61062289601e61490d565b61064088602361490d565b610622875f61490d565b9050612fc28161061d8460026120c0565b9050612fd38161061d8460016120c0565b9050612fdf818361208e565b9050612feb818461208e565b9050808460015b60200201525050505050565b5f5f5f61303461302a61301289601b61490d565b6106226130208b601161490d565b8a6060015161208e565b87608001516120a7565b905061306d8161061d61306361304b8b601c61490d565b6106226130598d601261490d565b8c6060015161208e565b89608001516120a7565b90506130928161061d6130636130848b601d61490d565b6106226130598d601361490d565b90506130b78161061d6130636130a98b601e61490d565b6106226130598d601461490d565b92505f90506130db61302a6130cd89601b61490d565b6106226130208b600d61490d565b90506131008161061d6130636130f28b601c61490d565b6106226130598d600e61490d565b90506131258161061d6130636131178b601d61490d565b6106226130598d600f61490d565b905061314a8161061d61306361313c8b601e61490d565b6106226130598d601061490d565b91505f905061317161316b61316089601f61490d565b6106228a601961490d565b8461208e565b90506131a6816106406131a06131888b602761490d565b6106226131968d601a61490d565b8c60a0015161208e565b8561208e565b90506131b2818561208e565b6040860152505f6131d56131a06131ca89601a61490d565b61061d8a602761490d565b606090950194909452505050505050565b5f5f61324461322c6132146131ff6130638a601561490d565b61062261320d8b601661490d565b8a5161208e565b6106226132228a601761490d565b896020015161208e565b61062261323a89601861490d565b886040015161208e565b91505f61327b61326261325889601b61490d565b88608001516120a7565b6106226132708a600361490d565b61061d8b602361490d565b90505f6132a461328c89601c61490d565b6106226132998b5f61490d565b61061d8c602461490d565b90505f6132ce6132b58a601d61490d565b6106226132c38c600161490d565b61061d8d602561490d565b905061330d6132f56132e785610622868d5f015161208e565b610622848c6020015161208e565b6106226133038c600461490d565b8b6040015161208e565b93505050505f61332161316b88602061490d565b90505f61333261316b89602061490d565b90505f61336a6133516133468b602261490d565b6106228c600661490d565b61064061335f8c602261490d565b61061d8d600661490d565b90505f61338e61338861337d878961208e565b61061d8d602061490d565b836120c0565b905061339a818861208e565b90505f6133c26133b46133ae8d600661490d565b8761208e565b6106406133ae8e602161490d565b90505f6133d08c602261490d565b90505f6133e0613388838461208e565b60808c0185905260a08c0184905290506133fa818b61208e565b8b6006602002015250505050505050505050505050565b5f61341d5f60016120c0565b90505f61342b5f60026120c0565b90505f6134395f60036120c0565b90505f61345561344a88601c61490d565b61064089601b61490d565b90505f61347161346689601d61490d565b6106408a601c61490d565b90505f61348d6134828a601e61490d565b6106408b601d61490d565b90505f6134a961349e8b602361490d565b6106408c601e61490d565b9050836134ba8161061d818b6120a7565b90506134ca8161061d878a6120a7565b90506134da8161061d87896120a7565b90506134eb8161061d8d600861490d565b90506134f7818a61208e565b60e08b0152508261350c8161061d818b6120a7565b905061351c8161061d868a6120a7565b905061352c8161061d86896120a7565b905061353d8161061d8d600861490d565b9050613549818a61208e565b6101008b0152508161355f8161061d818b6120a7565b905061356f8161061d858a6120a7565b905061357f8161061d85896120a7565b90506135908161061d8d600861490d565b905061359c818a61208e565b6101208b015250806135b28161061d818b6120a7565b90506135c28161061d848a6120a7565b90506135d28161061d84896120a7565b90506135e38161061d8d600861490d565b90506135ef818a61208e565b610140909a019990995250505050505050505050565b61363e6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61364984601c61490d565b815261365684601d61490d565b602082015261366684602361490d565b604082015261367684602661490d565b606082015261368684602561490d565b608082015261369684602461490d565b60a08201525f6136a785600261490d565b90505f6136b4865f61490d565b90505f6136c88460400151855f01516120c0565b90505f6136dd8560200151866020015161208e565b606086015190915086905f906136f3908061208e565b90505f61371161370b89602001518a6060015161208e565b8861208e565b90505f6137306137298a60a001518b604001516120a7565b8a516120a7565b905061373f6133ae828861208e565b905061376661376061375a61375484876120c0565b886120c0565b846120a7565b836120a7565b905061378e613783613778838761208e565b61061d8f600961490d565b61061d60018a6120c0565b6101608c015250505050602085015160808601515f916137ad916120a7565b90505f6137cb6137c188606001518861208e565b88602001516120c0565b90505f6137ef6137db848761208e565b6106226131a08b60a001518c5f01516120c0565b905061381761380c613801838c61208e565b61061d8e600961490d565b61061d6001896120c0565b6101808b0152505f915061383890506138318360116120a7565b875161208e565b90505f61384583846120a7565b905061385181826120a7565b90505f61385f83600961208e565b905061388861388261316b61387b8b60a001518c5f01516120a7565b8b516120a7565b826120c0565b60c089018190525f906138a39061370b90613778908d61208e565b90506138b68b600b6020020151826120a7565b6101608c0152505086515f92506138dd9150613831906138d690806120a7565b88516120a7565b90505f61391d6138f88361061d8a5f01518b60a001516120c0565b60208901516106409061390b90806120a7565b61061d8b602001518c608001516120a7565b905061393a89600c602002015161062261370b613778858d61208e565b89600c602002015250505050505050505050565b6139e2604051806102c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613a176139fe6139f387601b61490d565b61061d88602461490d565b610622613a0c88602361490d565b61061d89601c61490d565b8152613a5c613a51613a38613a2d88601b61490d565b61061d89601e61490d565b610622613a4689601c61490d565b61061d8a601d61490d565b61064087602561490d565b60408201819052613a7190600160441b61208e565b60408201819052613a879061064087602661490d565b604082018190528151613a9a91906120a7565b60408201819052613ab09061061d87600561490d565b60408201528051613ac590600160441b61208e565b808252613ae590610622613ada88602361490d565b61061d89602461490d565b80825260208201819052613b0190610640612f9188601d61490d565b60208201819052613b179061061d87600461490d565b6020820152805160608201819052613b349061062287601e61490d565b60608201819052613b5890610640613b4d88602561490d565b61062289602661490d565b60608201819052613b6d9061061d875f61490d565b8160600181815250505f613b96613b8c836020015184604001516120a7565b83606001516120a7565b9050613ba78161061d88600361490d565b9050613bbf613bb787602461490d565b61400061208e565b60808301819052613bd59061062288602361490d565b60808301819052613be89061400061208e565b60808301819052613bfe9061062288601d61490d565b60808301819052613c119061400061208e565b60808301819052613c279061062288601c61490d565b60808301819052613c3a9061400061208e565b60808301819052613c509061062288601b61490d565b60808301819052613c669061064088601e61490d565b60808301819052613c7c9061061d88600561490d565b6080830152613c8f613bb787602561490d565b60a08301819052613ca59061062288602461490d565b60a08301819052613cb89061400061208e565b60a08301819052613cce9061062288602361490d565b60a08301819052613ce19061400061208e565b60a08301819052613cf79061062288601e61490d565b60a08301819052613d0a9061400061208e565b60a08301819052613d209061062288601d61490d565b60a08301819052613d369061064088602661490d565b60a08301819052613d4b9061061d885f61490d565b60a0830181905260808301515f91613d6391906120a7565b9050613d748161061d89600461490d565b9050613d8e613d8488601d61490d565b876040015161208e565b60c08401819052613da7906106226132228a601c61490d565b60c08401819052613dc790610622613dc08a601b61490d565b895161208e565b60c08401819052613ddd9061062289600161490d565b60c0840181905260e08401819052613dfa9061064089601e61490d565b60c0840152613e0d61344a88602361490d565b610140840152613e2c613e2188602661490d565b61064089601e61490d565b610120840152610140830151613e5190613e46908061208e565b8461014001516120c0565b610280840152610140830151613e9390613e8890613e819061061d60015f5160206152c55f395f51905f52614fd6565b60016120a7565b84610120015161208e565b6101608401819052613eca90613ebc9061061d613eb18b600261490d565b61061d8c600361490d565b61061d6133ae8a600a61490d565b6101c0860152610280830151613eec90613ebc9061061d613eb18b600261490d565b6101e086015260c0830151613f149061061d613f098a600261490d565b61061d8b600361490d565b6101e08401525f613f33613f2989601e61490d565b8560e001516120c0565b9050613f42613882828361208e565b6101a0850152613f5661323a89602561490d565b6101008501819052613f7a90610622613f708b602461490d565b8a6020015161208e565b6101008501819052613f949061062261320d8b602361490d565b610100850152613fb3613fa889602661490d565b8561010001516120c0565b6101008501525f613fc86134828a602561490d565b905061401c613ff6612eb9613e8188610140015160015f5160206152c55f395f51905f5261061d9190614fd6565b61061d613e8188610100015160015f5160206152c55f395f51905f5261061d9190614fd6565b61018086015261010085015161404190614036908061208e565b8661010001516120c0565b6101c0860152610180850151614074906140609061061d8c600761490d565b61061d61406e8c600a61490d565b8961208e565b610200880152610280850151614093906140609061061d8c600761490d565b6102208801526101c08501516140b2906140609061061d8c600761490d565b6102408801526101a08501516140cd9061061d8b600761490d565b6102008601526140ec6140e18a602461490d565b6106408b601c61490d565b61022086015261014085015161412b906134829061412090613e819061061d60015f5160206152c55f395f51905f52614fd6565b87610220015161208e565b61024086018190526101e08601516102608701819052614162916106229061061d6141578e600561490d565b61061d8f600261490d565b610260860181905260c086015161418591906106229061061d6141578e5f61490d565b610260860181905261020086015161419d91906120a7565b61026086018190526141b39061375a90866120a7565b6102a086018190526141cd9061061d61406e8c600a61490d565b6102a0860181905287600d6020020152505050505050505050565b61425e6040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61427761426c85601b61490d565b61062286600261490d565b815261429261428785601c61490d565b61062286600361490d565b60208201526142b06142a585601d61490d565b61062286600461490d565b60408201526142ce6142c385601e61490d565b61062286600561490d565b60608201528051614300906142f9906142f2906142eb908061208e565b845161208e565b835161208e565b825161208e565b6080820152602081015161433e906143349061432a90614320908061208e565b846020015161208e565b836020015161208e565b826020015161208e565b60a0820152604081015161437c90614372906143689061435e908061208e565b846040015161208e565b836040015161208e565b826040015161208e565b60c082015260608101516143ba906143b0906143a69061439c908061208e565b846060015161208e565b836060015161208e565b826060015161208e565b60e0820152608081015160a08201516143d391906120a7565b61010082015260c081015160e08201516143ed91906120a7565b61012082015260a08101516144119061440690806120a7565b8261012001516120a7565b61014082015260e08101516144359061442a90806120a7565b8261010001516120a7565b61016082015261012081015161444b90806120a7565b6101e0820181905261446c9061446190806120a7565b8261016001516120a7565b6101e082015261010081015161448290806120a7565b6101a082018190526144a39061449890806120a7565b8261014001516120a7565b6101a082018190526101608201516144ba916120a7565b6101808201526101408101516101e08201516144d691906120a7565b6101c08201526144ea612eb985600b61490d565b6102008201819052610260840151610180830151614515926106229161061d906106408a602361490d565b8360136020020152614545836014602002015161062283610200015161061d856101a001516106408a602461490d565b8360146020020152614575836015602002015161062283610200015161061d856101c001516106408a602561490d565b83601560200201526145a5836016602002015161062283610200015161061d856101e001516106408a602661490d565b836016602002015250505050565b6146056040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f604051806080016040528061463a7f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e7612070565b81526020016146687f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b612070565b81526020016146957e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac15612070565b81526020016146c37f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b612070565b905290506146e06146d586601b61490d565b61062287600261490d565b61012083018190526147149061470990613e88906146fe908061208e565b85610120015161208e565b83610120015161208e565b825261472185601c61490d565b602083015261473185601d61490d565b604083015261474185601e61490d565b60608301528151602083015161476991613b8c9161475f91906120a7565b84604001516120a7565b608083015261477c61316b86600c61490d565b610140830152815161479d9061479390835f610edb565b83608001516120a7565b60a08301526147c9846017602002015161062284610140015161061d8660a001516106408b602361490d565b6102e085015260208201516147e49061479390836001610edb565b60c0830152614810846018602002015161062284610140015161061d8660c001516106408b602461490d565b610300850152604082015161482b9061479390836002610edb565b60e0830152614857846019602002015161062284610140015161061d8660e001516106408b602561490d565b61032085015260608201516148729061479390836003610edb565b6101008301526148a084601a602002015161062284610140015161061d8661010001516106408b602661490d565b84601a612ff2565b5f6148b48184816108b3565b905060015b601b811015614906576148fc826106228684601b81106148db576148db615023565b6020020151866148ec600187614fd6565b601a8110610edb57610edb615023565b91506001016148b9565b5092915050565b5f8282602781111561492157614921615270565b6028811061493157614931615023565b60200201519392505050565b604051806103c001604052805f81526020015f81526020015f8152602001614963614df8565b8152602001614970614df8565b815260200161497d614df8565b815260200161498a614df8565b8152602001614997614df8565b81526020016149a4614df8565b81526020016149b1614df8565b81526020016149be614df8565b81526020016149cb614df8565b81526020016149d8614df8565b81526020016149e5614df8565b81526020016149f2614df8565b81526020016149ff614df8565b8152602001614a0c614df8565b8152602001614a19614df8565b8152602001614a26614df8565b8152602001614a33614df8565b8152602001614a40614df8565b8152602001614a4d614df8565b8152602001614a5a614df8565b8152602001614a67614df8565b8152602001614a74614df8565b8152602001614a81614df8565b8152602001614a8e614df8565b8152602001614a9b614df8565b8152602001614aa8614df8565b8152602001614ab5614df8565b905290565b604051806101e00160405280614ace614e2f565b8152602001614adb614c8e565b8152602001614ae8614c8e565b8152602001614af5614c8e565b8152602001614b02614c8e565b8152602001614b0f614c8e565b8152602001614b1c614c8e565b8152602001614b29614c8e565b8152602001614b36614c8e565b8152602001614b43614e4e565b8152602001614b50614e7c565b8152602001614b5d614e9b565b8152602001614b6a614d20565b8152602001614b77614c8e565b8152602001614ab5614c8e565b604051806101000160405280614b98614cb2565b8152602001614ba5614ce2565b8152602001614bb2614d20565b8152602001614bbf614d20565b81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f8152602001614c0f614ec9565b8152602001614c1c614ec9565b81526020015f81526020015f81526020015f81526020015f8152602001614ab5614d20565b604051806108c001604052806046906020820280368337509192915050565b604051806108c001604052806046905b614c78614df8565b815260200190600190039081614c705790505090565b60405180608001604052805f81526020015f81526020015f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806103400160405280601a906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061052001604052806029906020820280368337509192915050565b60405180610da00160405280606d906020820280368337509192915050565b604051806103a00160405280601d906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b604051806103600160405280601b906020820280368337509192915050565b60405180604001604052805f81526020015f81525090565b604051806101a00160405280600d906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b614e66614dba565b815260200190600190039081614e5e5790505090565b6040518061050001604052806028906020820280368337509192915050565b604051806103600160405280601b905b614eb3614c8e565b815260200190600190039081614eab5790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f60408587031215614efa575f5ffd5b84356001600160401b03811115614f0f575f5ffd5b8501601f81018713614f1f575f5ffd5b80356001600160401b03811115614f34575f5ffd5b876020828401011115614f45575f5ffd5b6020918201955093508501356001600160401b03811115614f64575f5ffd5b8501601f81018713614f74575f5ffd5b80356001600160401b03811115614f89575f5ffd5b8760208260051b8401011115614f9d575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761208857612088614fab565b8181038181111561208857612088614fab565b8082018082111561208857612088614fab565b5f5f8585111561500a575f5ffd5b83861115615016575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b5f6001820161504857615048614fab565b5060010190565b80356020831015612088575f19602084900360031b1b1692915050565b5f8183825b6009811015615090578151835260209283019290910190600101615071565b5050506101208201905092915050565b634e487b7160e01b5f52601260045260245ffd5b5f826150c2576150c26150a0565b500490565b5f8183825b60298110156150eb5781518352602092830192909101906001016150cc565b5050506105208201905092915050565b5f8183825b606d81101561511f578151835260209283019290910190600101615100565b505050610da08201905092915050565b5f8183825b601d811015615153578151835260209283019290910190600101615134565b5050506103a08201905092915050565b5f8183825b6005811015615187578151835260209283019290910190600101615168565b50505060a08201905092915050565b5f826151a4576151a46150a0565b500690565b5f816151b7576151b7614fab565b505f190190565b5f82518060208501845e5f920191825250919050565b5f602082840312156151e4575f5ffd5b815180151581146119ec575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b81515f90829060208501835b82811015615231578151845260209384019390910190600101615213565b509195945050505050565b5f8183825b600d811015615260578151835260209283019290910190600101615241565b5050506101a08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe696e76616c6964206e756d626572206f6620627974657320746f20636f6e737430644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
|
|
4
|
+
export declare const HonkVerifierBytecode = "0x610100604052348015610010575f5ffd5b506302000000608052601960a0527f02efc4a80f7c62e55ebec99324ed8ff0d1a90e09a174d2f3871671aa17ed54ec60c05260ae60e05260805160a05160c05160e051615b146100e85f395f818161018101526107ca01525f61016001525f8181605b01528181609401528181610101015281816101a2015281816108e3015281816109f001528181610a1c01528181610a96015281816112d701528181611377015281816113aa015281816115e10152818161162d0152818161167b015281816116d20152612d8201525f61076e0152615b145ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004615738565b610054565b604051901515815260200160405180910390f35b5f5f61007f7f000000000000000000000000000000000000000000000000000000000000000061028c565b905061008c816020615810565b85146100ee577f0000000000000000000000000000000000000000000000000000000000000000856100bf836020615810565b6040516359895a5360e01b81526004810193909352602483019190915260448201526064015b60405180910390fd5b5f6100f761033a565b90505f61012588887f000000000000000000000000000000000000000000000000000000000000000061034f565b9050601082604001516101389190615827565b85146101575760405163fa06659360e01b815260040160405180910390fd5b5f6101c68288887f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006106a6565b90506102168787808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505085518551606081015160809091015191935091506001610758565b815160a001525f61022783836108db565b905080610247576040516313f8744360e31b815260040160405180910390fd5b5f6102538486856109dc565b905080610273576040516352ec174560e11b815260040160405180910390fd5b81801561027d5750805b9b9a5050505050505050505050565b5f8061029a60026008615810565b905060016102a9600885615810565b6102b39190615810565b6102bd908261583a565b90506102cb60016029615810565b6102d5908261583a565b905060026102e4600185615827565b6102ee9190615810565b6102f8908261583a565b9050610305600184615810565b61030f908261583a565b905061031c600280615810565b610326908261583a565b905061033360108261583a565b9392505050565b610342615240565b61034a6117a4565b905090565b6103576153ca565b5f805b60108110156103b95761038686838761037460208361583a565b926103819392919061584d565b6120e0565b8351826010811061039957610399615874565b6020020181815250506020826103af919061583a565b915060010161035a565b506103dd8582866103cb60408361583a565b926103d89392919061584d565b6120f3565b60208301526103ed60408261583a565b90506104008582866103cb60408361583a565b604080840191909152610413908261583a565b90506104268582866103cb60408361583a565b606083015261043660408261583a565b90506104498582866103cb60408361583a565b60c083015261045960408261583a565b905061046c8582866103cb60408361583a565b60e083015261047c60408261583a565b905061048f8582866103cb60408361583a565b608083015261049f60408261583a565b90506104b28582866103cb60408361583a565b6101008301526104c360408261583a565b90506104d68582866103cb60408361583a565b60a08301526104e660408261583a565b90505f5b83811015610564575f5b600881101561055b5761050e87848861037460208361583a565b84610120015183601c811061052557610525615874565b6020020151826008811061053b5761053b615874565b602002018181525050602083610551919061583a565b92506001016104f4565b506001016104ea565b505f5b60298110156105b85761058186838761037460208361583a565b836101400151826029811061059857610598615874565b6020020181815250506020826105ae919061583a565b9150600101610567565b505f5b6105c6600185615827565b81101561060f576105de8683876103cb60408361583a565b83610160015182601b81106105f5576105f5615874565b602002015261060560408361583a565b91506001016105bb565b505f5b838110156106625761062b86838761037460208361583a565b83610180015182601c811061064257610642615874565b602002018181525050602082610658919061583a565b9150600101610612565b506106748582866103cb60408361583a565b6101a083015261068560408261583a565b90506106988582866103cb60408361583a565b6101c0830152509392505050565b6106ae61547a565b5f6106bd888888888886612175565b90835290506106cc81896121c9565b602084019190915290506106e08184612376565b604084019190915290506106f58882856123d7565b6060840191909152905061070988826124ab565b6080840191909152905061071e888285612536565b60a084019190915290506107338882856126aa565b60c08401919091529050610747888261276e565b5060e0830152509695505050505050565b5f600180826107a18661079c896107976107928a7f000000000000000000000000000000000000000000000000000000000000000061583a565b6127ab565b6127c3565b6127de565b90505f6107bf876107ba8a6107976107928b600161583a565b6127f7565b90505f5b6107ee60107f0000000000000000000000000000000000000000000000000000000000000000615827565b81101561085b575f6108188c838151811061080b5761080b615874565b602002602001015161281f565b90506108288661079786846127de565b95506108388561079785846127de565b9450610844848b6127de565b9350610850838b6127f7565b9250506001016107c3565b505f5b60108110156108c2575f8a826010811061087a5761087a615874565b6020020151905061088f8661079786846127de565b955061089f8561079785846127de565b94506108ab848b6127de565b93506108b7838b6127f7565b92505060010161085e565b506108cd8484612834565b9a9950505050505050505050565b5f806001815b7f00000000000000000000000000000000000000000000000000000000000000008110156109b2575f86610120015182601c811061092157610921615874565b602002015190505f6109338286612842565b905080610953576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c811061096a5761096a615874565b6020020151905061097b8382612865565b95506109a2886040015185601c811061099657610996615874565b60200201518683612a14565b94505050508060010190506108e1565b505f6109cc866101400151865f0151876020015185612a3f565b90508281145b9695505050505050565b5f6109e56154d3565b5f610a148460a001517f0000000000000000000000000000000000000000000000000000000000000000612ab8565b90505f610a427f0000000000000000000000000000000000000000000000000000000000000000602461583a565b610a4d90600261583a565b6001600160401b03811115610a6457610a64615888565b604051908082528060200260200182016040528015610a8d578160200160208202803683370190505b5090505f610abc7f0000000000000000000000000000000000000000000000000000000000000000602461583a565b610ac790600261583a565b6001600160401b03811115610ade57610ade615888565b604051908082528060200260200182016040528015610b1757816020015b610b04615543565b815260200190600190039081610afc5790505b509050610b49610b448760e00151855f81518110610b3757610b37615874565b60200260200101516127f7565b612b81565b84610120018181525050610b7d610b448760e00151855f81518110610b7057610b70615874565b60200260200101516127de565b610140850181905261012085015160c0880151610b9e9261079c91906127c3565b845260a0860151610bce90610bb290612b81565b6107978661012001516107ba8a60c001518961014001516127c3565b6020850152815160019083905f90610be857610be8615874565b602002602001018181525050876101a00151815f81518110610c0c57610c0c615874565b6020908102919091010152600160a08501525f60c08501528351610c2f90612bf1565b60408501526020840151610c4290612bf1565b606085015260015b60248111610ced57610c6485604001518660a001516127c3565b838281518110610c7657610c76615874565b602002602001018181525050610cbf8560c0015161079c8b6101400151600185610ca09190615827565b60298110610cb057610cb0615874565b60200201518860a001516127c3565b60c086015260a08501516080880151610cd891906127c3565b60a0860152610ce68161589c565b9050610c4a565b505f5b6005811015610dbb575f610d05601d8361583a565b90505f610d1360248461583a565b9050610d44858381518110610d2a57610d2a615874565b602002602001015161079c89606001518a60a001516127c3565b858381518110610d5657610d56615874565b602002602001018181525050610d938760c0015161079c8d61014001518460298110610d8457610d84615874565b60200201518a60a001516127c3565b60c088015260a087015160808a0151610dac91906127c3565b60a08801525050600101610cf0565b50866060015181600181518110610dd457610dd4615874565b6020026020010181905250866080015181600281518110610df757610df7615874565b60200260200101819052508660a0015181600381518110610e1a57610e1a615874565b60200260200101819052508660c0015181600481518110610e3d57610e3d615874565b60200260200101819052508660e0015181600581518110610e6057610e60615874565b602002602001018190525086610100015181600681518110610e8457610e84615874565b602002602001018190525086610120015181600781518110610ea857610ea8615874565b602002602001018190525086610140015181600881518110610ecc57610ecc615874565b602002602001018190525086610160015181600981518110610ef057610ef0615874565b6020026020010181905250866101c0015181600a81518110610f1457610f14615874565b602002602001018190525086610180015181600b81518110610f3857610f38615874565b6020026020010181905250866101a0015181600c81518110610f5c57610f5c615874565b6020026020010181905250866101e0015181600d81518110610f8057610f80615874565b602002602001018190525086610200015181600e81518110610fa457610fa4615874565b602002602001018190525086610220015181600f81518110610fc857610fc8615874565b602002602001018190525086610240015181601081518110610fec57610fec615874565b60200260200101819052508661026001518160118151811061101057611010615874565b60200260200101819052508661028001518160128151811061103457611034615874565b6020026020010181905250866102a001518160138151811061105857611058615874565b6020026020010181905250866102c001518160148151811061107c5761107c615874565b6020026020010181905250866102e00151816015815181106110a0576110a0615874565b6020026020010181905250866103000151816016815181106110c4576110c4615874565b6020026020010181905250866103200151816017815181106110e8576110e8615874565b60200260200101819052508661034001518160188151811061110c5761110c615874565b60200260200101819052508661036001518160198151811061113057611130615874565b602002602001018190525086610380015181601a8151811061115457611154615874565b6020026020010181905250866103a0015181601b8151811061117857611178615874565b6020026020010181905250866103c0015181601c8151811061119c5761119c615874565b6020026020010181905250876020015181601d815181106111bf576111bf615874565b6020026020010181905250876040015181601e815181106111e2576111e2615874565b6020026020010181905250876060015181601f8151811061120557611205615874565b602002602001018190525087608001518160208151811061122857611228615874565b60200260200101819052508760a001518160218151811061124b5761124b615874565b60200260200101819052508761010001518160228151811061126f5761126f615874565b60200260200101819052508760c001518160238151811061129257611292615874565b60200260200101819052508760e00151816024815181106112b5576112b5615874565b60200260200101819052505f6112fb87606001518660c001518b6101800151877f0000000000000000000000000000000000000000000000000000000000000000612c03565b9050611325815f8151811061131257611312615874565b60200260200101518661012001516127c3565b608086018190526101808a01515160c0890151611356929161079c9161134b91906127c3565b8861014001516127c3565b608086015260c087015161136990612d69565b60a08601525f5b61139b60017f0000000000000000000000000000000000000000000000000000000000000000615827565b8110156115c5575f6113ce60017f0000000000000000000000000000000000000000000000000000000000000000615827565b82101590508061156d57611401610b448a60e00151888560016113f1919061583a565b81518110610b3757610b37615874565b61012088015260e089015161143090610b44908861142086600161583a565b81518110610b7057610b70615874565b61014088015260a087015161012088015161144b91906127c3565b61016088015260a087015160c08a01516114689161134b916127c3565b610180880181905261148b9061147d90612bf1565b61079c896101600151612bf1565b85836114996024600161583a565b6114a3919061583a565b815181106114b3576114b3615874565b6020026020010181815250505f6114f68861018001518d61018001518560016114dc919061583a565b601c81106114ec576114ec615874565b60200201516127c3565b90506115308161079c8a610160015187876001611513919061583a565b8151811061152357611523615874565b60200260200101516127c3565b90506115408860800151826127de565b608089015260a088015160c08b01516115669161155c916127c3565b8b60c001516127c3565b60a0890152505b8a610160015182601b811061158457611584615874565b602002015184836115976024600161583a565b6115a1919061583a565b815181106115b1576115b1615874565b602090810291909101015250600101611370565b50604080518082019091526001815260026020820152826116077f0000000000000000000000000000000000000000000000000000000000000000602461583a565b8151811061161757611617615874565b60209081029190910101526080850151836116537f0000000000000000000000000000000000000000000000000000000000000000602461583a565b8151811061166357611663615874565b60209081029190910101526101c089015180836116a17f0000000000000000000000000000000000000000000000000000000000000000602461583a565b6116ac90600161583a565b815181106116bc576116bc615874565b602090810291909101015260e0880151846116f87f0000000000000000000000000000000000000000000000000000000000000000602461583a565b61170390600161583a565b8151811061171357611713615874565b6020026020010181815250505f61172a8486612d74565b90505f61173683612e84565b90505f6117478d5f01518484612eca565b90505f5f6117578f5f0151612f40565b9150915061176482613001565b61176d81613001565b6117788583856130a0565b94506117858482856130a0565b935061179185856130c6565b9f9e505050505050505050505050505050565b6117ac615240565b50604080516103e08101825263020000008152601960208083019190915260ae82840152825180840184527f1a282d579de0851cd21a4165427b976dc6b9ef67cfb76b85ec9f47194e62e9aa81527f1c4277ae98f9833ea486a6f308041378c9926a631b6b186401f96746b7b0aacb818301526060830152825180840184527f22ca870cfcf3b08422a3ae2a596cb98c2d3d81c0d599022227376acdb05c572481527f2ffe37574895f146586e45e5afcf70f9755160c6a4d2ad355a5809fc9c0b16a9818301526080830152825180840184527f1b4000ff12f00c4ca6b7a7b7537af18f21ca06b9e87aeb77b3b497efe73b1b6c81527f1caa9a59a45b472f77f59f4910a29f4e1282865c26f255cdf56b1ede36cf3e768183015260a0830152825180840184527f11730a6495d975a84f65fb8776ccee94ce01f0a424baa5f005db7763711a097181527f21e7be4fa547074ef92762d9e72256a53880fe518a0ff8b463445a6ba291cbfc8183015260c0830152825180840184527f0c2224a23f97a4490be4874ea238b14df30b7b6a005e489f6d1f9a4e23ad287c81527f29f98922eea1cc91a027429d8402e7e8877516a1c761a766046fd180345e6c728183015260e0830152825180840184527f1c7c28e4a01e69196649bf075a1c18168b2ca2fdd2689fc2e28d57d06e42c64f81527f0a50df8a9e82b3e1b8adad3aeee918223f773220343fb9b3c3341c60a490542181830152610100830152825180840184527f107d2d79c20982125b9f302008ecbd7b7f25eebc71271311c28f58223170c78b81527f0f3c9104533084fca88d92d900c94cb1400899b1c3c2b40cf32807f7d8517f4781830152610120830152825180840184527f1affb59c95c90c44820e003057cf0258fbeb33e90a9846b66298831720717f4081527f209337c2e91890a5368bc0c0d15dd578d52c7dffb8f26f4f532d53fde79683c781830152610140830152825180840184527f0dbe912213504e8e618ac46ec344fbcd2079cd644fb700e474d5ad1d3f9e59ef81527f2f2d778251e4230b60ba35a27c9987703c18a7a0827a4fe4bf61f7715b7142d081830152610160830152825180840184527f1bd4812cc18da46c90c0df7ad2ab3625b348777c74d7cfd2ef3a57904bcf450681527f272e0c95dd04534f4f3b2d97cc139d34fc52369563762cee3bcdfd6ea563576981830152610180830152825180840184527f193de17f27517d9f701223f74c2bfca3080e5ff0f7dc1ea8c61be3e28a78d7f681527f1b68b36d7c3da58f7728cc3f663d617f83b7d7889213b1a1a3c1678fd2916fd6818301526101a0830152825180840184527f27861a4ccb7471b7348a0cbef681587c321fa41b0c6fde3be5bcfc9fd2585df381527f23df46cc92442f2c32e40a6f23cd103c0bcc5c179d1f0f14ccf22ca9b3a7bdec818301526101c0830152825180840184527f2bc6b8f00645f278d5b882f10c4e55fec4fe551aba9a16aa18b0adcc411c50b481527f0472a2c4a32ca081e99533a3d5dddadc10ee5afbee55fccd428a0804ec1a5393818301526101e0830152825180840184527f1410954ae3a1cc739e89fc51cd79433baae6beb6d3fc32a967e5badaa7be59e181527f20a4c789c9f4899bf1ff5f1d2631843e9f9d3f72f500287464bf3df695d4ab1781830152610200830152825180840184527f2a5c64273414894b3d4dc159e6eafc4f6b2c130e2d13ab74d028a298aa2096bd81527f0a46c35bb829438ebd75d4bdab506a58066019d0bfc3be369763fab1a91adf7781830152610220830152825180840184527f0dbef22cc83b45da1105954cd08af5e8f95cbbe91f051971f2f2cc07a169d7a581527f0d6722ee01657b36fd8cb68ac16a6d19388a0a968f2c5d1e84daa1eb0c72a1ee81830152610240830152825180840184527f06c4666777cce62e0ddbfeb6600079cebac907c90ee14e88fc568f8af654824b81527f2d9cd2e89ffa8b328e4a7583a62afa59ac2948b11f73fbe19aa4e722e70ea4f481830152610260830152825180840184527f155596b37705f6196fb1561efe4cd46b39f1f0986f241d13c60cea0d6405bc4381527f2130304e7e258f649a1580890dd31db7759ef46720290e26399c72ea300dc0fa81830152610280830152825180840184527f162d50826e5d38846238976c6a078af139f71b4d39d3647496e1e165fbff1f5081527f075362c52b7f127067bc9252b3498366d1dc03dff328baec52b69d1d2052c005818301526102a0830152825180840184527f1c4db612d5922269909790ad620294716134e977ee7ae77e0421fa0065a8edf181527f269bf77a7ec8e17a7d48bbc0a7ae5747ba794c450bd3a3538f6176af198914d0818301526102c0830152825180840184527f03e85dd6bc989fd704750cc23949243ad0a52301ab6d7ff1289cee06697bbab881527f026ad908bc4329db999706d39db0c4d6daae1f1e6f2b245ba7aecec3f9c1e77f818301526102e0830152825180840184527f25196fedcef0527b83c846d412f222b6c2eb3b375f13843611ebb52299c5f3f781527f126439ea4ef0d92bf45c29a5517629331da48d738fcbc7e9a78f3a3aeac68b4181830152610300830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610320830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610340830152825180840184527f20db30b046148206e1ce5d50fe2559d2e60dbe3472bb605600c6e01d0965df8281527f0d5d5be706d7b3b8a7d3d02043ef0e324676187770f682c791ce1cd3deadc05881830152610360830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c8183015261038083015282518084018452600181526002818301526103a083015282518084019093527f033c9a82d0df9b87d2c963f9950073c025e4b62dd83133c92da4fdff5c8cfc2a83527f0d757acf0a4de6b20e939b75bb83b07334d0a4bd6f13d63d2299fc08dfdab7af908301526103c081019190915290565b5f6103336120ee83856158b4565b61281f565b6120fb615543565b60408051808201909152805f516020615ad45f395f51905f5261212160205f878961584d565b61212a916158b4565b61213491906158e5565b81526020908101905f516020615ad45f395f51905f529061215990604090878961584d565b612162916158b4565b61216c91906158e5565b90529392505050565b61217d61555b565b5f61218b88888888886132ba565b6040860191909152602085019190915290835292506121aa83896135b7565b6080850191909152606084019190915291989197509095505050505050565b6121d161558b565b5f6121da6155aa565b8481526101008401805151602080840191909152905181015160408084019190915260a0860180515160608501525182015160808401525161223d91612222918491016158f8565b6040516020818303038152906040528051906020012061281f565b91506122488261363e565b6020850152835260015b60026122606001601c615827565b61226a919061592b565b8110156122ea576122878360405160200161222291815260200190565b92506122928361363e565b8561229e846002615810565b601b81106122ae576122ae615874565b60200201866122be856002615810565b6122c990600161583a565b601b81106122d9576122d9615874565b602002019190915252600101612252565b506122f76001601c615827565b6001166001148015612314575060026123126001601c615827565b115b1561236e5761232f8260405160200161222291815260200190565b91505f61233b8361363e565b85600161234981601c615827565b6123539190615827565b601b811061236357612363615874565b602002019190915250505b509250929050565b61237e6155c8565b5f805b838110156123cf5761239f8560405160200161222291815260200190565b94505f6123ab8661363e565b8584601c81106123bd576123bd615874565b60200201919091525050600101612381565b509093915050565b6123df6155c8565b5f805b838110156124a1576123f26155e7565b8581525f5b600881101561245b5787610120015183601c811061241757612417615874565b6020020151816008811061242d5761242d615874565b60200201518261243e83600161583a565b6009811061244e5761244e615874565b60200201526001016123f7565b5061247081604051602001612222919061593e565b95505f61247c8761363e565b8685601c811061248e5761248e615874565b60200201919091525050506001016123e2565b5090949293505050565b5f5f6124b5615606565b8381525f5b60298110156125085785610140015181602981106124da576124da615874565b6020020151826124eb83600161583a565b602a81106124fb576124fb615874565b60200201526001016124ba565b5061251d816040516020016122229190615972565b91505f6125298361363e565b5096929550919350505050565b5f8080612544600185615827565b61254f906002615810565b61255a90600161583a565b6001600160401b0381111561257157612571615888565b60405190808252806020026020018201604052801561259a578160200160208202803683370190505b50905084815f815181106125b0576125b0615874565b60209081029190910101525f5b6125c8600186615827565b81101561267b5786610160015181601b81106125e6576125e6615874565b602002015151826125f8836002615810565b61260390600161583a565b8151811061261357612613615874565b60200260200101818152505086610160015181601b811061263657612636615874565b6020020151602001518282600261264d9190615810565b61265890600261583a565b8151811061266857612668615874565b60209081029190910101526001016125bd565b506126908160405160200161222291906159a6565b91505f61269c8361363e565b509792965091945050505050565b5f80806126b884600161583a565b6001600160401b038111156126cf576126cf615888565b6040519080825280602002602001820160405280156126f8578160200160208202803683370190505b50905084815f8151811061270e5761270e615874565b60209081029190910101525f5b8481101561267b5786610180015181601c811061273a5761273a615874565b60200201518261274b83600161583a565b8151811061275b5761275b615874565b602090810291909101015260010161271b565b5f5f612778615625565b8381526101a0850180515160208084019190915290518101516040808401919091525161251d91612222918491016159db565b5f5f516020615af45f395f51905f52825b0692915050565b5f5f516020615af45f395f51905f5282840990505b92915050565b5f5f516020615af45f395f51905f528284089392505050565b5f5f516020615af45f395f51905f52825f516020615af45f395f51905f520384089392505050565b5f5f516020615af45f395f51905f52826127bc565b5f6103338361079784612b81565b81515f90819061285a908560015b60200201516127de565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b600881101561294c576129428261079787846127f7565b915060010161292b565b50612955615643565b5f5b60088110156129b6575f84826008811061297357612973615874565b602002015190506129888161079789856127f7565b905061299381612b81565b9050808383600881106129a8576129a8615874565b602002015250600101612957565b505f5b6008811015612a09575f8782600881106129d5576129d5615874565b602002015190506129f2818484600881106114ec576114ec615874565b90506129fe86826127de565b9550506001016129b9565b506109d284836127c3565b5f5f612a2a600161079c856107978960016127f7565b9050612a3684826127c3565b95945050505050565b5f612a486155c8565b612a5386828561366e565b612a5f8686838661381a565b612a6b86868386613a06565b612a76868285613c31565b612a81868285613e25565b612a8d8686838661416e565b612a98868285614621565b612aa3868285614a33565b612aae868285614df4565b6109d281856150f4565b60605f826001600160401b03811115612ad357612ad3615888565b604051908082528060200260200182016040528015612afc578160200160208202803683370190505b50905083815f81518110612b1257612b12615874565b602090810291909101015260015b83811015612b7957612b5482612b37600184615827565b81518110612b4757612b47615874565b6020026020010151612d69565b828281518110612b6657612b66615874565b6020908102919091010152600101612b20565b509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f516020615af45f395f51905f520360808201525f516020615af45f395f51905f5260a082015260205f60c08360055afa80612bdd575f5ffd5b505f51608091909101604052949350505050565b5f516020615af45f395f51905f520390565b60605f826001600160401b03811115612c1e57612c1e615888565b604051908082528060200260200182016040528015612c47578160200160208202803683370190505b509050825b8015612d5e575f85612c5f600184615827565b81518110612c6f57612c6f615874565b602002602001015190505f89600184612c889190615827565b601c8110612c9857612c98615874565b602002015190505f612cf3612cb7612cb0858d6127c3565b60026127c3565b6107ba8b612cc6600189615827565b601c8110612cd657612cd6615874565b6020020151610797612ced8861079760018a6127f7565b876127f7565b9050612d1481610797610b44612d0e876107976001896127f7565b866127de565b9050868411612d4a579850888085612d2d600187615827565b81518110612d3d57612d3d615874565b6020026020010181815250505b50505080612d5790615a0e565b9050612c4c565b509695505050505050565b5f6127d882836127c3565b612d7c615543565b5f612da87f0000000000000000000000000000000000000000000000000000000000000000602461583a565b612db390600261583a565b90505f5b81811015612de957612de1858281518110612dd457612dd4615874565b6020026020010151613001565b600101612db7565b50604051600190815b60018401811015612e4e5760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612df2565b5080518452602081015160208501525080612e7c576040516352ec174560e11b815260040160405180910390fd5b505092915050565b612e8c615543565b5f516020615ad45f395f51905f5282602001515f516020615ad45f395f51905f52612eb79190615827565b612ec191906158e5565b60208301525090565b5f5f5f612ed686612f40565b91509150612ee2615643565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e084015251612f359161222291849101615a23565b979650505050505050565b612f48615543565b612f50615543565b82516020808501516040860151606087015160cc90811b608892831b604494851b90961795909517949094178652608087015160a088015160c089015160e08a0151871b90841b91851b9092171717868401526101008701516101208801516101408901516101608a0151871b90841b91851b909217171785526101808701516101a08801516101c08901516101e09099015190951b9790911b9390911b1791909117939093179281019290925291565b805160208201515f5f516020615ad45f395f51905f528380095f516020615ad45f395f51905f5260035f516020615ad45f395f51905f52838709085f516020615ad45f395f51905f52848509149150508061309a5760405162461bcd60e51b8152602060048201526019602482015278706f696e74206973206e6f74206f6e2074686520637572766560381b60448201526064016100e5565b50505050565b6130a8615543565b6130b0615543565b6130ba8386615159565b9050612a3681856151af565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b03168360405161325c9190615a57565b5f60405180830381855afa9150503d805f8114613294576040519150601f19603f3d011682016040523d82523d5f602084013e613299565b606091505b50915091508180156109d25750808060200190518101906109d29190615a6d565b5f808080806132ca86600161583a565b6132d590600661583a565b6001600160401b038111156132ec576132ec615888565b604051908082528060200260200182016040528015613315578160200160208202803683370190505b509050865f1b815f8151811061332d5761332d615874565b60209081029190910101525f5b613345601088615827565b8110156133965789898281811061335e5761335e615874565b9050602002013582826001613373919061583a565b8151811061338357613383615874565b602090810291909101015260010161333a565b505f5b6010811015613407578a516133c19082601081106133b9576133b9615874565b602002015190565b828260106133d08b600161583a565b6133da9190615827565b6133e4919061583a565b815181106133f4576133f4615874565b6020908102919091010152600101613399565b5060208a0151518161341a88600161583a565b8151811061342a5761342a615874565b6020908102919091018101919091528a81015101518161344b88600161583a565b61345690600161583a565b8151811061346657613466615874565b602090810291909101015260408a0151518161348388600161583a565b61348e90600261583a565b8151811061349e5761349e615874565b60209081029190910181019190915260408b01510151816134c088600161583a565b6134cb90600361583a565b815181106134db576134db615874565b602090810291909101015260608a015151816134f888600161583a565b61350390600461583a565b8151811061351357613513615874565b60209081029190910181019190915260608b015101518161353588600161583a565b61354090600561583a565b8151811061355057613550615874565b6020026020010181815250506135708160405160200161222291906159a6565b915061357b8261363e565b60408051602081018690529297509095506135969101612222565b91505f6135a28361363e565b50959b949a5094985090965091945050505050565b5f5f5f6135c2615662565b85815260c0858101805151602080850191909152905181015160408085019190915260e08801805151606086015251820151608080860191909152880180515160a0860152518201519284019290925290516136249161222291849101615a8c565b915061362f8261363e565b90979096509194509092505050565b5f80826001600160801b038116608082901c6136598261281f565b94506136648161281f565b9350505050915091565b5f61367a846007615210565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f6136db6136d56136af8560036127f7565b6107976136ca6136bf8b5f615210565b6107978c601d615210565b6107978b601c615210565b836127c3565b905061375c61375161373861371f6137068561079c6136fb8d6002615210565b6107978e601c615210565b61079c6137148c6003615210565b6107978d601d615210565b61079c61372d8b6004615210565b6107978c601e615210565b61079c6137468a6005615210565b6107978b601f615210565b61079c886001615210565b905061377b8161079c6137708660016127f7565b6107978a6027615210565b905061378781846127c3565b905061379381856127c3565b8552505f90506137cd6137c36137b86137ad88601c615210565b61079c89601f615210565b6107ba886024615210565b61079c875f615210565b90506137de816107978460026127f7565b90506137ef816107978460016127f7565b90506137fb81836127c3565b905061380781846127c3565b9050808460015b60200201525050505050565b5f5f5f61385061384661382e89601c615210565b61079c61383c8b6012615210565b8a606001516127c3565b87608001516127de565b90506138898161079761387f6138678b601d615210565b61079c6138758d6013615210565b8c606001516127c3565b89608001516127de565b90506138ae8161079761387f6138a08b601e615210565b61079c6138758d6014615210565b90506138d38161079761387f6138c58b601f615210565b61079c6138758d6015615210565b92505f90506138f76138466138e989601c615210565b61079c61383c8b600e615210565b905061391c8161079761387f61390e8b601d615210565b61079c6138758d600f615210565b90506139418161079761387f6139338b601e615210565b61079c6138758d6010615210565b90506139668161079761387f6139588b601f615210565b61079c6138758d6011615210565b91505f905061398d61398761397c896020615210565b61079c8a601a615210565b846127c3565b90506139c2816107ba6139bc6139a48b6028615210565b61079c6139b28d601b615210565b8c60a001516127c3565b856127c3565b90506139ce81856127c3565b6040860152505f6139f16139bc6139e689601b615210565b6107978a6028615210565b9050808560035b602002015250505050505050565b5f5f613a64613a4c613a34613a1f61387f8a6016615210565b61079c613a2d8b6017615210565b8a516127c3565b61079c613a428a6018615210565b89602001516127c3565b61079c613a5a896019615210565b88604001516127c3565b91505f613a9b613a82613a7889601c615210565b88608001516127de565b61079c613a908a6003615210565b6107978b6024615210565b90505f613ac4613aac89601d615210565b61079c613ab98b5f615210565b6107978c6025615210565b90505f613aee613ad58a601e615210565b61079c613ae38c6001615210565b6107978d6026615210565b9050613b2d613b15613b078561079c868d5f01516127c3565b61079c848c602001516127c3565b61079c613b238c6004615210565b8b604001516127c3565b93505050505f613b41613987886021615210565b90505f613b52613987896021615210565b90505f613b8a613b71613b668b6023615210565b61079c8c6006615210565b6107ba613b7f8c6023615210565b6107978d6006615210565b90505f613bae613ba8613b9d87896127c3565b6107978d6021615210565b836127f7565b9050613bba81886127c3565b90505f613be2613bd4613bce8d6006615210565b876127c3565b6107ba613bce8e6022615210565b90505f613bf08c6023615210565b90505f613c00613ba883846127c3565b60808c0185905260a08c018490529050613c1a818b6127c3565b8b6006602002015250505050505050505050505050565b5f613c3d5f60016127f7565b90505f613c4b5f60026127f7565b90505f613c595f60036127f7565b90505f613c75613c6a88601d615210565b6107ba89601c615210565b90505f613c91613c8689601e615210565b6107ba8a601d615210565b90505f613cad613ca28a601f615210565b6107ba8b601e615210565b90505f613cc9613cbe8b6024615210565b6107ba8c601f615210565b905083613cda81610797818b6127de565b9050613cea81610797878a6127de565b9050613cfa8161079787896127de565b9050613d0b816107978d6008615210565b9050613d17818a6127c3565b60e08b01525082613d2c81610797818b6127de565b9050613d3c81610797868a6127de565b9050613d4c8161079786896127de565b9050613d5d816107978d6008615210565b9050613d69818a6127c3565b6101008b01525081613d7f81610797818b6127de565b9050613d8f81610797858a6127de565b9050613d9f8161079785896127de565b9050613db0816107978d6008615210565b9050613dbc818a6127c3565b6101208b01525080613dd281610797818b6127de565b9050613de281610797848a6127de565b9050613df28161079784896127de565b9050613e03816107978d6008615210565b9050613e0f818a6127c3565b610140909a019990995250505050505050505050565b613e5e6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613e6984601d615210565b8152613e7684601e615210565b6020820152613e86846024615210565b6040820152613e96846027615210565b6060820152613ea6846026615210565b6080820152613eb6846025615210565b60a08201525f613ec7856002615210565b90505f613ed4865f615210565b90505f613ee88460400151855f01516127f7565b90505f613efd856020015186602001516127c3565b606086015190915086905f90613f1390806127c3565b90505f613f31613f2b89602001518a606001516127c3565b886127c3565b90505f613f50613f498a60a001518b604001516127de565b8a516127de565b9050613f5f613bce82886127c3565b9050613f86613f80613f7a613f7484876127f7565b886127f7565b846127de565b836127de565b9050613fae613fa3613f9883876127c3565b6107978f6009615210565b61079760018a6127f7565b6101608c015250505050602085015160808601515f91613fcd916127de565b90505f613feb613fe18860600151886127c3565b88602001516127f7565b90505f61400f613ffb84876127c3565b61079c6139bc8b60a001518c5f01516127f7565b905061403761402c614021838c6127c3565b6107978e6009615210565b6107976001896127f7565b6101808b0152505f915061405890506140518360116127de565b87516127c3565b90505f61406583846127de565b905061407181826127de565b90505f61407f8360096127c3565b90506140a86140a261398761409b8b60a001518c5f01516127de565b8b516127de565b826127f7565b60c089018190525f906140c390613f2b90613f98908d6127c3565b90506140d68b600b6020020151826127de565b6101608c0152505086515f92506140fd9150614051906140f690806127de565b88516127de565b90505f61413d614118836107978a5f01518b60a001516127f7565b60208901516107ba9061412b90806127de565b6107978b602001518c608001516127de565b905061415a89600c602002015161079c613f2b613f98858d6127c3565b89600c602002015250505050505050505050565b6141d8604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6141f06141e686601e615210565b85604001516127c3565b80825261420f9061079c61420588601d615210565b87602001516127c3565b8082526142249061079c61405188601c615210565b8082526142369061079c876001615210565b8082526020820181905261424f906107ba87601f615210565b815261426a61425f866024615210565b6107ba87601c615210565b608082015261428861427d866027615210565b6107ba87601f615210565b606082015260808101516142aa906142a090806127c3565b82608001516127f7565b6101c082015260808101516142ea906142e0906142d99061079760015f516020615af45f395f51905f52615827565b60016127de565b82606001516127c3565b60a082018190526143209061431290610797614307896002615210565b6107978a6003615210565b6107976139bc88600a615210565b83600e60200201526101c08101516143449061431290610797614307896002615210565b6101e084015280516143699061079761435e886002615210565b610797896003615210565b6101208201525f61438861437e87601f615210565b83602001516127f7565b90506143976140a282836127c3565b60e08301526143b46143aa876026615210565b86604001516127c3565b604083018190526143d79061079c6143cd896025615210565b88602001516127c3565b604083018190526143f79061079c6143f0896024615210565b88516127c3565b604083015261441461440a876027615210565b83604001516127f7565b60408301525f614433614428886026615210565b6107ba89601e615210565b90506144856144606136d56142d9866080015160015f516020615af45f395f51905f526107979190615827565b6107976142d9866040015160015f516020615af45f395f51905f526107979190615827565b60c084015260408301516144a79061449d90806127c3565b84604001516127f7565b61010084015260c08301516144d3906144c5906107978a6004615210565b610797613bce8a600a615210565b6102008601526101c08301516144f2906144c5906107978a6004615210565b610220860152610100830151614511906144c5906107978a6004615210565b61024086015260e083015161452b90610797896004615210565b61014084015261454a61453f886025615210565b6107ba89601d615210565b6101608401526080830151614588906144289061457d906142d99061079760015f516020615af45f395f51905f52615827565b8561016001516127c3565b61018084018190526101208401516101a085018190526145bf9161079c906107976145b48c6005615210565b6107978d6002615210565b6101a0840181905283516145df919061079c906107976145b48c5f615210565b6101a084018190526101408401516145f791906127de565b6101a0840181905261461190610797613bce8a600a615210565b6101a0840181905285600d6139f8565b61465a6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61468f61467661466b86601c615210565b610797876025615210565b61079c614684876024615210565b61079788601d615210565b81526146d46146c96146b06146a587601c615210565b61079788601f615210565b61079c6146be88601d615210565b61079789601e615210565b6107ba866026615210565b604082018190526146e990600160441b6127c3565b604082018190526146ff906107ba866027615210565b60408201819052815161471291906127de565b6040820181905261472890610797866005615210565b6040820152805161473d90600160441b6127c3565b80825261475d9061079c614752876024615210565b610797886025615210565b80825260208201819052614784906107ba61477987601e615210565b61079c88601f615210565b6020820181905261479a90610797866004615210565b60208201528051606082018190526147b79061079c86601f615210565b606082018190526147db906107ba6147d0876026615210565b61079c886027615210565b606082018190526147f090610797865f615210565b8160600181815250505f61481961480f836020015184604001516127de565b83606001516127de565b905061482a81610797876003615210565b905061484261483a866025615210565b6140006127c3565b608083018190526148589061079c876024615210565b6080830181905261486b906140006127c3565b608083018190526148819061079c87601e615210565b60808301819052614894906140006127c3565b608083018190526148aa9061079c87601d615210565b608083018190526148bd906140006127c3565b608083018190526148d39061079c87601c615210565b608083018190526148e9906107ba87601f615210565b608083018190526148ff90610797876005615210565b608083015261491261483a866026615210565b60a083018190526149289061079c876025615210565b60a0830181905261493b906140006127c3565b60a083018190526149519061079c876024615210565b60a08301819052614964906140006127c3565b60a0830181905261497a9061079c87601f615210565b60a0830181905261498d906140006127c3565b60a083018190526149a39061079c87601e615210565b60a083018190526149b9906107ba876027615210565b60a083018190526149ce90610797875f615210565b60a0830181905260808301515f916149e691906127de565b90506149f781610797886004615210565b9050614a0382826127de565b60c08401819052614a1c90610797613bce89600b615210565b60c084018190528560136020020152505050505050565b614aa96040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b614ac2614ab785601c615210565b61079c866002615210565b8152614add614ad285601d615210565b61079c866003615210565b6020820152614afb614af085601e615210565b61079c866004615210565b6040820152614b19614b0e85601f615210565b61079c866005615210565b60608201528051614b4b90614b4490614b3d90614b3690806127c3565b84516127c3565b83516127c3565b82516127c3565b60808201526020810151614b8990614b7f90614b7590614b6b90806127c3565b84602001516127c3565b83602001516127c3565b82602001516127c3565b60a08201526040810151614bc790614bbd90614bb390614ba990806127c3565b84604001516127c3565b83604001516127c3565b82604001516127c3565b60c08201526060810151614bfb906142e090614bf190614be790806127c3565b84606001516127c3565b83606001516127c3565b60e0820152608081015160a0820151614c1491906127de565b61010082015260c081015160e0820151614c2e91906127de565b61012082015260a0810151614c5290614c4790806127de565b8261012001516127de565b61014082015260e0810151614c7690614c6b90806127de565b8261010001516127de565b610160820152610120810151614c8c90806127de565b6101e08201819052614cad90614ca290806127de565b8261016001516127de565b6101e0820152610100810151614cc390806127de565b6101a08201819052614ce490614cd990806127de565b8261014001516127de565b6101a08201819052610160820151614cfb916127de565b6101808201526101408101516101e0820151614d1791906127de565b6101c0820152614d2b6136d585600c615210565b6102008201819052610280840151610180830151614d569261079c91610797906107ba8a6024615210565b8360146020020152614d86836015602002015161079c836102000151610797856101a001516107ba8a6025615210565b8360156020020152614db6836016602002015161079c836102000151610797856101c001516107ba8a6026615210565b8360166020020152614de6836017602002015161079c836102000151610797856101e001516107ba8a6027615210565b836017602002015250505050565b614e466040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6040518060800160405280614e7b7f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e76127ab565b8152602001614ea97f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b6127ab565b8152602001614ed67e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac156127ab565b8152602001614f047f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b6127ab565b90529050614f21614f1686601c615210565b61079c876002615210565b6101208301819052614f6090614f5590614f4a90614f3f90806127c3565b8561012001516127c3565b8461012001516127c3565b8361012001516127c3565b8252614f6d85601d615210565b6020830152614f7d85601e615210565b6040830152614f8d85601f615210565b606083015281516020830151614fb59161480f91614fab91906127de565b84604001516127de565b6080830152614fc861398786600d615210565b6101408301528151614fe990614fdf90835f6114ec565b83608001516127de565b60a0830152615015846018602002015161079c8461014001516107978660a001516107ba8b6024615210565b610300850152602082015161503090614fdf908360016114ec565b60c083015261505c846019602002015161079c8461014001516107978660c001516107ba8b6025615210565b610320850152604082015161507790614fdf908360026114ec565b60e08301526150a384601a602002015161079c8461014001516107978660e001516107ba8b6026615210565b61034085015260608201516150be90614fdf908360036114ec565b6101008301526150ec84601b602002015161079c8461014001516107978661010001516107ba8b6027615210565b84601b61380e565b5f615100818481612850565b905060015b601c811015615152576151488261079c8684601c811061512757615127615874565b602002015186615138600187615827565b601b81106114ec576114ec615874565b9150600101615105565b5092915050565b615161615543565b615169615543565b604051835181526020840151602082015284604082015260408160608360075afa80615193575f5ffd5b5080518252602080820151908301526060016040529392505050565b6151b7615543565b6151bf615543565b6040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa806151f4575f5ffd5b5080518252602080820151908301526080016040529392505050565b5f8282602881111561522457615224615abf565b6029811061523457615234615874565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f8152602001615266615543565b8152602001615273615543565b8152602001615280615543565b815260200161528d615543565b815260200161529a615543565b81526020016152a7615543565b81526020016152b4615543565b81526020016152c1615543565b81526020016152ce615543565b81526020016152db615543565b81526020016152e8615543565b81526020016152f5615543565b8152602001615302615543565b815260200161530f615543565b815260200161531c615543565b8152602001615329615543565b8152602001615336615543565b8152602001615343615543565b8152602001615350615543565b815260200161535d615543565b815260200161536a615543565b8152602001615377615543565b8152602001615384615543565b8152602001615391615543565b815260200161539e615543565b81526020016153ab615543565b81526020016153b8615543565b81526020016153c5615543565b905290565b604051806101e001604052806153de615680565b81526020016153eb615543565b81526020016153f8615543565b8152602001615405615543565b8152602001615412615543565b815260200161541f615543565b815260200161542c615543565b8152602001615439615543565b8152602001615446615543565b815260200161545361569f565b81526020016154606156cd565b815260200161546d6156ec565b81526020016153ab6155c8565b60405180610100016040528061548e61555b565b815260200161549b61558b565b81526020016154a86155c8565b81526020016154b56155c8565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806101c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f815260200161551161571a565b815260200161551e61571a565b81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b60405180604001604052805f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806103600160405280601b906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b6156b7615643565b8152602001906001900390816156af5790505090565b6040518061052001604052806029906020820280368337509192915050565b604051806103600160405280601b905b615704615543565b8152602001906001900390816156fc5790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f6040858703121561574b575f5ffd5b84356001600160401b03811115615760575f5ffd5b8501601f81018713615770575f5ffd5b80356001600160401b03811115615785575f5ffd5b876020828401011115615796575f5ffd5b6020918201955093508501356001600160401b038111156157b5575f5ffd5b8501601f810187136157c5575f5ffd5b80356001600160401b038111156157da575f5ffd5b8760208260051b84010111156157ee575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176127d8576127d86157fc565b818103818111156127d8576127d86157fc565b808201808211156127d8576127d86157fc565b5f5f8585111561585b575f5ffd5b83861115615867575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f600182016158ad576158ad6157fc565b5060010190565b803560208310156127d8575f19602084900360031b1b1692915050565b634e487b7160e01b5f52601260045260245ffd5b5f826158f3576158f36158d1565b500690565b5f8183825b600581101561591c5781518352602092830192909101906001016158fd565b50505060a08201905092915050565b5f82615939576159396158d1565b500490565b5f8183825b6009811015615962578151835260209283019290910190600101615943565b5050506101208201905092915050565b5f8183825b602a811015615996578151835260209283019290910190600101615977565b5050506105408201905092915050565b81515f90829060208501835b828110156159d05781518452602093840193909101906001016159b2565b509195945050505050565b5f8183825b60038110156159ff5781518352602092830192909101906001016159e0565b50505060608201905092915050565b5f81615a1c57615a1c6157fc565b505f190190565b5f8183825b6008811015615a47578151835260209283019290910190600101615a28565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f60208284031215615a7d575f5ffd5b81518015158114610333575f5ffd5b5f8183825b6007811015615ab0578151835260209283019290910190600101615a91565b50505060e08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
|
|
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,+/7CAA+/7C,CAAC;AACji8C;;GAEG;AACH,eAAO,MAAM,0BAA0B,IAAc,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* HonkVerifier bytecode.
|
|
3
|
-
*/ export const HonkVerifierBytecode = "0x60e060405234801561000f575f5ffd5b506302000000608052601960a05260ae60c05260805160a05160c0516152e56100605f395f818160d6015261065001525f818161075b01528181610d030152610da001525f6105f401526152e55ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004614ee7565b610054565b604051901515815260200160405180910390f35b5f6100626101c86020614fbf565b8414610081576040516376ba560560e11b815260040160405180910390fd5b5f61008a6101c1565b90505f61009787876101d6565b9050601082604001516100aa9190614fd6565b84146100c95760405163fa06659360e01b815260040160405180910390fd5b5f6100fc828787865f01517f0000000000000000000000000000000000000000000000000000000000000000600161052f565b905061014c8686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050855185516060810151608090910151919350915060016105de565b815160a001525f61015d8383610753565b90508061017d576040516313f8744360e31b815260040160405180910390fd5b5f610189848685610854565b9050806101a9576040516352ec174560e11b815260040160405180910390fd5b8180156101b35750805b9a9950505050505050505050565b6101c961493d565b6101d161109e565b905090565b6101de614aba565b5f805b60108110156102405761020d8583866101fb826020614fe9565b9261020893929190614ffc565b611985565b8351826010811061022057610220615023565b6020020181815250506020826102369190614fe9565b91506001016101e1565b50610264848285610252826080614fe9565b9261025f93929190614ffc565b6119f3565b6020830152610274608082614fe9565b9050610287848285610252826080614fe9565b6040830152610297608082614fe9565b90506102aa848285610252826080614fe9565b60608301526102ba608082614fe9565b90506102cd848285610252826080614fe9565b60c08301526102dd608082614fe9565b90506102f0848285610252826080614fe9565b60e0830152610300608082614fe9565b9050610313848285610252826080614fe9565b6080808401919091526103269082614fe9565b9050610339848285610252826080614fe9565b61010083015261034a608082614fe9565b905061035d848285610252826080614fe9565b60a083015261036d608082614fe9565b90505f5b601c8110156103ec575f5b60088110156103e3576103968684876101fb826020614fe9565b84610120015183601c81106103ad576103ad615023565b602002015182600881106103c3576103c3615023565b6020020181815250506020836103d99190614fe9565b925060010161037c565b50600101610371565b505f5b6028811015610440576104098583866101fb826020614fe9565b836101400151826028811061042057610420615023565b6020020181815250506020826104369190614fe9565b91506001016103ef565b505f5b61044f6001601c614fd6565b81101561049857610467858386610252826080614fe9565b83610160015182601b811061047e5761047e615023565b602002015261048e608083614fe9565b9150600101610443565b505f5b601c8110156104ec576104b58583866101fb826020614fe9565b83610180015182601c81106104cc576104cc615023565b6020020181815250506020826104e29190614fe9565b915060010161049b565b506104fe848285610252826080614fe9565b6101a083015261050f608082614fe9565b9050610522848285610252826080614fe9565b6101c08301525092915050565b610537614b84565b5f61054788888888888887611ad2565b90835290506105568189611b28565b6020840191909152905061056981611c79565b6040840191909152905061057d8882611cda565b606084019190915290506105918882611dae565b608084019190915290506105a58882611e39565b60a084019190915290506105b98882611fa7565b60c084019190915290506105cd8882612019565b5060e0830152509695505050505050565b5f60018082610627866106228961061d6106188a7f0000000000000000000000000000000000000000000000000000000000000000614fe9565b612070565b61208e565b6120a7565b90505f610645876106408a61061d6106188b6001614fe9565b6120c0565b90505f5b61067460107f0000000000000000000000000000000000000000000000000000000000000000614fd6565b8110156106e1575f61069e8c838151811061069157610691615023565b6020026020010151612070565b90506106ae8661061d86846120a7565b95506106be8561061d85846120a7565b94506106ca848b6120a7565b93506106d6838b6120c0565b925050600101610649565b505f5b6010811015610748575f8a826010811061070057610700615023565b602002015190506107158661061d86846120a7565b95506107258561061d85846120a7565b9450610731848b6120a7565b935061073d838b6120c0565b9250506001016106e4565b506101b384846120ef565b5f806001815b7f000000000000000000000000000000000000000000000000000000000000000081101561082a575f86610120015182601c811061079957610799615023565b602002015190505f6107ab82866120fd565b9050806107cb576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c81106107e2576107e2615023565b602002015190506107f3838261211a565b955061081a886040015185601c811061080e5761080e615023565b602002015186836122c9565b9450505050806001019050610759565b505f610844866101400151865f01518760200151856122f4565b90508281145b9695505050505050565b5f61085d614bdd565b5f61086b8460a00151612362565b9050610875614c41565b61087d614c60565b60e086015161089c9061089790855f5b60200201516120c0565b6123c7565b60e0808601919091528601516108bd9061089790855f5b60200201516120a7565b610100850181905260e085015160c08801516108dd92610622919061208e565b845260a086015161090c906108f1906123c7565b61061d8660e001516106408a60c0015189610100015161208e565b6020850152600182526101a088015161092490612430565b81526001606085018190525f60808601525b602381116109dc5761095761094d865f015161246f565b866060015161208e565b83826046811061096957610969615023565b602002015260808501516101408a01516109ac91906106229061098d600186614fd6565b6028811061099d5761099d615023565b6020020151886060015161208e565b8560800181815250506109c78560600151886080015161208e565b60608601526109d581615037565b9050610936565b505f6109ea60236001614fe9565b90505b60288111610a6b57610a0561094d866020015161246f565b838260468110610a1757610a17615023565b602002015260808501516101408a0151610a3b91906106229061098d600186614fd6565b856080018181525050610a568560600151886080015161208e565b6060860152610a6481615037565b90506109ed565b50606087015181600160200201526080870151816002602002015260a0870151816003602002015260c0870151816004602002015260e0870151816005602002015261010087015181600660200201526101208701518160076020020152610140870151816008602002015261016087015181600960200201526101a087015181600a602002015261018087015181600b60200201526101c087015181600c60200201526101e087015181600d602002015261020087015181600e602002015261022087015181600f60200201526102408701518160106020020152610260870151816011602002015261028087015181601260200201526102a087015181601360200201526102c087015181601460200201526102e08701518160156020020152610300870151816016602002015261032087015181601760200201526103408701518160186020020152610360870151816019602002015261038087015181601a60200201526103a087015181601b6020020181905250610bf18860200151612430565b6103808201526040880151610c0590612430565b6103a08201526060880151610c1990612430565b6103c08201526080880151610c2d90612430565b6103e082015260a0880151610c4190612430565b610400820152610100880151610c5690612430565b61042082015260c0880151610c6a90612430565b61044082015260e0880151610c7e90612430565b6104608201526020880151610c9290612430565b6104808201526040880151610ca690612430565b6104a08201526060880151610cba90612430565b6104c08201526080880151610cce90612430565b6104e082015260a0880151610ce290612430565b610500820152606086015160808501516101808a01515f92610d27929091877f0000000000000000000000000000000000000000000000000000000000000000612487565b805160e0870151919250610d3a9161208e565b604086018190526101808a01515160c0890151610d6b929161062291610d60919061208e565b88610100015161208e565b604086015260c0870151610d7e906125a2565b60608601525f5b610d916001601c614fd6565b811015610f99575f610dc460017f0000000000000000000000000000000000000000000000000000000000000000614fd6565b821015905080610f3f57610df76108978a60e0015188856001610de79190614fe9565b601c811061088d5761088d615023565b60e080890191909152890151610e27906108979088610e17866001614fe9565b601c81106108b3576108b3615023565b610100880152606087015160e0880151610e41919061208e565b610120880152606087015160c08a0151610e5e91610d609161208e565b6101408801819052610e8190610e739061246f565b61062289610120015161246f565b8583610e8f60286001614fe9565b610e999190614fe9565b60468110610ea957610ea9615023565b60200201526101408701516101808c01515f91610ee591610ecb866001614fe9565b601c8110610edb57610edb615023565b602002015161208e565b9050610f02816106228a610120015187876001610ecb9190614fe9565b9050610f128860400151826120a7565b6040890152606088015160c08b0151610f3891610f2e9161208e565b8b60c0015161208e565b6060890152505b610f638b610160015183601b8110610f5957610f59615023565b6020020151612430565b8483610f7160286001614fe9565b610f7b9190614fe9565b60468110610f8b57610f8b615023565b602002015250600101610d85565b5060408051808201909152600181526002602082015282610fbc601c6028614fe9565b60468110610fcc57610fcc615023565b6020020152604085015183610fe3601c6028614fe9565b60468110610ff357610ff3615023565b60200201526101c08901515f9061100990612430565b90508083611019601c6028614fe9565b611024906001614fe9565b6046811061103457611034615023565b602002015260e08801518461104b601c6028614fe9565b611056906001614fe9565b6046811061106657611066615023565b60200201525f61107684866125ad565b90505f61108283612673565b905061108e82826126b9565b9c9b505050505050505050505050565b6110a661493d565b50604080516103c08101825263020000008152601960208083019190915260ae82840152825180840184527f1423766d01328ff8377b448b5b49fb4a527732bc924bba29d386f62c81c65a3781527f21bfb9be34603e4c42b95f2c36b4a31223aa2a6f8ac7360d510fcbb2c3d44913818301526060830152825180840184527f2b625f18a941fc78de476155de5616987149e29b738f3e5c5187c18e7f0e18c581527f05161e0a5bfac2e25d84464915782eb06380ef8eedf20c97dd8f8cd8aebe23c8818301526080830152825180840184527f28212e3defb5c7ca1c54d0a574f7ca18ee14e2fd831770c8ff962739338e69c281527f26ef277853861d48a0cd5b6c4b5899e5dbf4e05395e75f2bfe793778820d43be8183015260a0830152825180840184527f117c88119ed0bb25c19476f5020b728f0ba6d26e85a7860b5033aae0412d89ce81527f06e2394027f1db6ae82ea7dc2fccc12fc6e067e3eeb6dae8294c286921510d418183015260c0830152825180840184527f12c762b379eef32e1dff404bd41db35854b10241e958d657788976c743e7b54081527f269c1047fe2c5a258a0aff434c39d2fbe8a4fffa425a48b227ed18ba4f767f818183015260e0830152825180840184527f15615b19d313afcb9b6fdabbe9fa76ef15cbeefc3100859dddc3763c7e6b184381527f2d7c6247a26fc1a1eb59648a05435073793ac2157a2547eb6b620ee307e0601a81830152610100830152825180840184527f107d2d79c20982125b9f302008ecbd7b7f25eebc71271311c28f58223170c78b81527f0f3c9104533084fca88d92d900c94cb1400899b1c3c2b40cf32807f7d8517f4781830152610120830152825180840184527f243160f269b7f443194874c29a90c807c8f603f223b03b06f7f3ee6fde11117681527f2ccbe7a268180a7f5f24c78655f281bd107e9845918069a3a19e811e99c1c75181830152610140830152825180840184527f11eba65da2b0d0a72b78d1ce79f4c115b5e6640ee69564c9a2dc526e8129013e81527f1e1929f83c7d88a51eeef186ee0070ec65a1cf2e05320d502aa0dff87863853381830152610160830152825180840184527f21f545a2ad9d42f5fc45275a1368ba7002e0e0c65a2acd6901a73b5edb66a4f881527f18202a8dd1765b44b7d189ba867a37f6a2c490f463deb76a284aef21728292aa81830152610180830152825180840184527f13ab11708e1645a57e85a50de8e19a3ab82a549770c8343e7bf22da2fb33b93681527f2ef46751fa5128c2a890561273b8ab974624a72ef0a3a85130ea01c59c5ece1b818301526101a0830152825180840184527f1f374592c28b75aed8394aa019cfef0c9ed6f5d816f7d9f0a298c19c4f5d5b6d81527f0c9eb6a081260fb3f87c0e44649812d3d86637282763736dfed69b0564454ca7818301526101c0830152825180840184527f2825bf2c1f9a28fa6fa57dd00146aad2ba809c20900f144b1df9badadb40f29981527f060bdf672bb6f598872f654118c0ec3c2cb2597969bf0eb93436f3d035937485818301526101e0830152825180840184527f09fad36b6aa67602c5940cdc81e422ff2c89a4cbe8138da989211d5cf846e29b81527f0664bb2cceb113878ccc1cf42ea0dafabc622563b6323ad7ce90c8b27d9ced6181830152610200830152825180840184527f05feb7d56a9986c47fdc054458f0d7e019c609ae56b17d7cfe6f992dd563266d81527f1e3f5d83deca691ee8858a5f366537849fa4deba04a2ccddf6b87c81456fec0681830152610220830152825180840184527f301b668b7687cccd144ccab5d172599e92ab00e27983709d3acc399e724fa08981527f03afbd6bef34d27f73f2c2ef1678d9969c69e0bd86e9908945cc6c3295c0090481830152610240830152825180840184527f2f3bcebf67cfa380ce275b66bd9178846ec1be04cd9e06204c4d443927c0cf7f81527f23b1a64cd299df5a432dc217f1f361a14460ada19e0d45cf828db68f9cfaefe181830152610260830152825180840184527f2d6c321862c3aa30e9b4b66b70060e0aea1e133061b675427fe39522ce012ea881527f1eba18798edbec1060227506469e89a123e099e3b95c704a93ada168ae81f5c481830152610280830152825180840184527f1781012bf8c7de058d607e795e3faccba2b6df23de293531812c72d1f6c5171481527f161b233f25692c552bdb2ff50741cdf0de32e1ba2f53d4a7cd710cc7cf513c61818301526102a0830152825180840184527f27bad9fa5ae460989027e26d09c17b90c92a3dc6341c1e86d47d2b7d19489e1f81527f07dfa5905f100e7f78a75aa8eb0703270952e439690749e863a611d4829e2dc0818301526102c0830152825180840184527f20c0130bd51e5ceedf15109c9bf127c23381349bb0fd690e82d2c4fe171e0d9581527f16bdc06516a411f55f23123ddaffa88b8d519f9c9d28127258b2948940b21606818301526102e0830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610300830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610320830152825180840184527f09d569252b4b229e483b00b1e67384ac4db29395d32e28c82f8b73983d30ac6b81527f2c47d5809e56ba32be655d4177db195bb450fd12587756c4b85b6506a7844ddb81830152610340830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c81830152610360830152825180840184526001815260028183015261038083015282518084019093527f06ad58dd57c4f4d270d31c29a2f81a1b56d69300cdb4170f44fa556cf681cee283527f0f84ac41134a63eae2611149b18f3aea22c40c3eb7db195cd6e4075b8b3d2ca2908301526103a081019190915290565b5f602082146119df5760405162461bcd60e51b815260206004820152602e60248201525f5160206152855f395f51905f5260448201526d393ab1ba1023391039b1b0b630b960911b60648201526084015b60405180910390fd5b6119ec610618838561504f565b9392505050565b6119fb614c8e565b60808214611a505760405162461bcd60e51b815260206004820152602f60248201525f5160206152855f395f51905f5260448201526e1c9d58dd08184811cc481c1bda5b9d608a1b60648201526084016119d6565b604080516080810190915280611a6960205f8688614ffc565b611a729161504f565b8152602090810190611a88906040908688614ffc565b611a919161504f565b8152602001611aa4606060408688614ffc565b611aad9161504f565b8152602001611ac0608060608688614ffc565b611ac99161504f565b90529392505050565b611ada614cb2565b5f611ae98989898989896128ad565b604086019190915260208501919091529083529250611b08838a612d53565b608085019190915260608401919091529199919850909650505050505050565b611b30614ce2565b5f611b39614d01565b848152610100848101805151602080850191909152815181015160408086019190915282518101516060808701919091529251830151608086015260a080890180515191870191909152805183015160c0870152805182015160e087015251909201519284019290925251611bcf91611bb49184910161506c565b60405160208183030381529060405280519060200120612070565b9150611bda82612e22565b6020850152835260015b611bf06002601a6150b4565b811015611c7057611c0d83604051602001611bb491815260200190565b9250611c1883612e22565b85611c24846002614fbf565b601a8110611c3457611c34615023565b6020020186611c44856002614fbf565b611c4f906001614fe9565b601a8110611c5f57611c5f615023565b602002019190915252600101611be4565b50509250929050565b611c81614d20565b5f805b601c811015611cd357611ca384604051602001611bb491815260200190565b93505f611caf85612e22565b8584601c8110611cc157611cc1615023565b60200201919091525050600101611c84565b5090929050565b611ce2614d20565b5f805b601c811015611da557611cf6614d01565b8481525f5b6008811015611d5f5786610120015183601c8110611d1b57611d1b615023565b60200201518160088110611d3157611d31615023565b602002015182611d42836001614fe9565b60098110611d5257611d52615023565b6020020152600101611cfb565b50611d7481604051602001611bb4919061506c565b94505f611d8086612e22565b8685601c8110611d9257611d92615023565b6020020191909152505050600101611ce5565b50909391925050565b5f5f611db8614d3f565b8381525f5b6028811015611e0b578561014001518160288110611ddd57611ddd615023565b602002015182611dee836001614fe9565b60298110611dfe57611dfe615023565b6020020152600101611dbd565b50611e2081604051602001611bb491906150c7565b91505f611e2c83612e22565b5096929550919350505050565b5f5f611e43614d5e565b8381525f5b611e546001601c614fd6565b811015611f925785610160015181601b8110611e7257611e72615023565b60200201515182611e84836004614fbf565b611e8f906001614fe9565b606d8110611e9f57611e9f615023565b602002015261016086015181601b8110611ebb57611ebb615023565b60200201516020015182826004611ed29190614fbf565b611edd906002614fe9565b606d8110611eed57611eed615023565b602002015261016086015181601b8110611f0957611f09615023565b60200201516040015182611f1e836004614fbf565b611f29906003614fe9565b606d8110611f3957611f39615023565b602002015261016086015181601b8110611f5557611f55615023565b60200201516060015182611f6a836004614fbf565b611f75906004614fe9565b606d8110611f8557611f85615023565b6020020152600101611e48565b50611e2081604051602001611bb491906150fb565b5f5f611fb1614d7d565b8381525f5b601c8110156120045785610180015181601c8110611fd657611fd6615023565b602002015182611fe7836001614fe9565b601d8110611ff757611ff7615023565b6020020152600101611fb6565b50611e2081604051602001611bb4919061512f565b5f5f612023614d9c565b8381526101a085018051516020808401919091528151810151604080850191909152825181015160608086019190915292519092015160808401529051611e2091611bb491849101615163565b5f6120885f5160206152c55f395f51905f5283615196565b92915050565b5f5f5160206152c55f395f51905f528284099392505050565b5f5f5160206152c55f395f51905f528284089392505050565b5f5f5160206152c55f395f51905f526120e6835f5160206152c55f395f51905f52614fd6565b84089392505050565b5f6119ec8361061d846123c7565b81515f90819061210f908560016108b3565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b6008811015612201576121f78261061d87846120c0565b91506001016121e0565b5061220a614dba565b5f5b600881101561226b575f84826008811061222857612228615023565b6020020151905061223d8161061d89856120c0565b9050612248816123c7565b90508083836008811061225d5761225d615023565b60200201525060010161220c565b505f5b60088110156122be575f87826008811061228a5761228a615023565b602002015190506122a781848460088110610edb57610edb615023565b90506122b386826120a7565b95505060010161226e565b5061084a848361208e565b5f5f6122df60016106228561061d8960016120c0565b90506122eb848261208e565b95945050505050565b5f6122fd614dd9565b612308868285612e52565b61231486868386612ffe565b612320868683866131e6565b61232b868285613411565b612336868285613605565b6123428686838661394e565b61234d8682856141e8565b6123588682856145b3565b61084a81856148a8565b61236a614d20565b81815260015b601c8110156123c1576123a282612388600184614fd6565b601c811061239857612398615023565b60200201516125a2565b8282601c81106123b4576123b4615023565b6020020152600101612370565b50919050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f5160206152c55f395f51905f520360808201525f5160206152c55f395f51905f5260a082015260205f60c08360055afa905080612425575f5ffd5b50505f519392505050565b612438614df8565b604051806040016040528060888460200151901b845f015117815260200160888460600151901b8460400151178152509050919050565b5f612088825f5160206152c55f395f51905f52614fd6565b61248f614d20565b601c5b8015612598575f846124a5600184614fd6565b601c81106124b5576124b5615023565b602002015190505f886124c9600185614fd6565b601c81106124d9576124d9615023565b602002015190505f6125346124f86124f1858c61208e565b600261208e565b6106408a612507600189614fd6565b601c811061251757612517615023565b602002015161061d61252e8861061d60018a6120c0565b876120c0565b90506125558161061d61089761254f8761061d6001896120c0565b866120a7565b905085841161258457975087808561256e600187614fd6565b601c811061257e5761257e615023565b60200201525b50505080612591906151a9565b9050612492565b5095945050505050565b5f612088828361208e565b6125b5614df8565b5f6125c2601c6028614fe9565b6125cd906002614fe9565b90506001604051855151604082015285516020015160608201528451608082015260408160606040840160075afa8216915060015b8381101561265b5760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612602565b50805184526020810151602085015250505092915050565b61267b614df8565b5f5160206152a55f395f51905f5282602001515f5160206152a55f395f51905f526126a69190614fd6565b6126b09190615196565b60208301525090565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b03168360405161284f91906151be565b5f60405180830381855afa9150503d805f8114612887576040519150601f19603f3d011682016040523d82523d5f602084013e61288c565b606091505b509150915081801561084a57508080602001905181019061084a91906151d4565b5f808080806128bd876003614fe9565b6128c890600c614fe9565b6001600160401b038111156128df576128df6151f3565b604051908082528060200260200182016040528015612908578160200160208202803683370190505b509050875f1b815f8151811061292057612920615023565b602002602001018181525050865f1b8160018151811061294257612942615023565b602002602001018181525050855f1b8160028151811061296457612964615023565b60209081029190910101525f5b61297c601089614fd6565b8110156129cd578a8a8281811061299557612995615023565b90506020020135828260036129aa9190614fe9565b815181106129ba576129ba615023565b6020908102919091010152600101612971565b505f5b6010811015612a3e578b516129f89082601081106129f0576129f0615023565b602002015190565b82826010612a078c6003614fe9565b612a119190614fd6565b612a1b9190614fe9565b81518110612a2b57612a2b615023565b60209081029190910101526001016129d0565b5060208b01515181612a51896003614fe9565b81518110612a6157612a61615023565b6020908102919091018101919091528b810151015181612a82896003614fe9565b612a8d906001614fe9565b81518110612a9d57612a9d615023565b6020908102919091018101919091528b01516040015181612abf896003614fe9565b612aca906002614fe9565b81518110612ada57612ada615023565b6020908102919091018101919091528b01516060015181612afc896003614fe9565b612b07906003614fe9565b81518110612b1757612b17615023565b602090810291909101015260408b01515181612b34896003614fe9565b612b3f906004614fe9565b81518110612b4f57612b4f615023565b60209081029190910181019190915260408c0151015181612b71896003614fe9565b612b7c906005614fe9565b81518110612b8c57612b8c615023565b60209081029190910101526040808c0151015181612bab896003614fe9565b612bb6906006614fe9565b81518110612bc657612bc6615023565b602090810291909101015260408b01516060015181612be6896003614fe9565b612bf1906007614fe9565b81518110612c0157612c01615023565b602090810291909101015260608b01515181612c1e896003614fe9565b612c29906008614fe9565b81518110612c3957612c39615023565b60209081029190910181019190915260608c0151015181612c5b896003614fe9565b612c66906009614fe9565b81518110612c7657612c76615023565b602090810291909101015260608b01516040015181612c96896003614fe9565b612ca190600a614fe9565b81518110612cb157612cb1615023565b60209081029190910101526060808c0151015181612cd0896003614fe9565b612cdb90600b614fe9565b81518110612ceb57612ceb615023565b602002602001018181525050612d0b81604051602001611bb49190615207565b9150612d1682612e22565b6040805160208101869052929750909550612d319101611bb4565b91505f612d3d83612e22565b50959c949b509499509097509195505050505050565b5f5f5f612d5e614e10565b85815260c085810180515160208085019190915281518101516040808601919091528251810151606080870191909152925183015160808087019190915260e0808b0180515160a089015280518501519688019690965285518301519087015293518301516101008601529288018051516101208601528051820151610140860152805184015161016086015251909101516101808401529051612e0891611bb49184910161523c565b9150612e1382612e22565b90979096509194509092505050565b5f80826001600160801b038116608082901c612e3d82612070565b9450612e4881612070565b9350505050915091565b5f612e5e84600761490d565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f612ebf612eb9612e938560036120c0565b61061d612eae612ea38b5f61490d565b61061d8c601c61490d565b61061d8b601b61490d565b8361208e565b9050612f40612f35612f1c612f03612eea85610622612edf8d600261490d565b61061d8e601b61490d565b610622612ef88c600361490d565b61061d8d601c61490d565b610622612f118b600461490d565b61061d8c601d61490d565b610622612f2a8a600561490d565b61061d8b601e61490d565b61062288600161490d565b9050612f5f81610622612f548660016120c0565b61061d8a602661490d565b9050612f6b818461208e565b9050612f77818561208e565b8552505f9050612fb1612fa7612f9c612f9188601b61490d565b61062289601e61490d565b61064088602361490d565b610622875f61490d565b9050612fc28161061d8460026120c0565b9050612fd38161061d8460016120c0565b9050612fdf818361208e565b9050612feb818461208e565b9050808460015b60200201525050505050565b5f5f5f61303461302a61301289601b61490d565b6106226130208b601161490d565b8a6060015161208e565b87608001516120a7565b905061306d8161061d61306361304b8b601c61490d565b6106226130598d601261490d565b8c6060015161208e565b89608001516120a7565b90506130928161061d6130636130848b601d61490d565b6106226130598d601361490d565b90506130b78161061d6130636130a98b601e61490d565b6106226130598d601461490d565b92505f90506130db61302a6130cd89601b61490d565b6106226130208b600d61490d565b90506131008161061d6130636130f28b601c61490d565b6106226130598d600e61490d565b90506131258161061d6130636131178b601d61490d565b6106226130598d600f61490d565b905061314a8161061d61306361313c8b601e61490d565b6106226130598d601061490d565b91505f905061317161316b61316089601f61490d565b6106228a601961490d565b8461208e565b90506131a6816106406131a06131888b602761490d565b6106226131968d601a61490d565b8c60a0015161208e565b8561208e565b90506131b2818561208e565b6040860152505f6131d56131a06131ca89601a61490d565b61061d8a602761490d565b606090950194909452505050505050565b5f5f61324461322c6132146131ff6130638a601561490d565b61062261320d8b601661490d565b8a5161208e565b6106226132228a601761490d565b896020015161208e565b61062261323a89601861490d565b886040015161208e565b91505f61327b61326261325889601b61490d565b88608001516120a7565b6106226132708a600361490d565b61061d8b602361490d565b90505f6132a461328c89601c61490d565b6106226132998b5f61490d565b61061d8c602461490d565b90505f6132ce6132b58a601d61490d565b6106226132c38c600161490d565b61061d8d602561490d565b905061330d6132f56132e785610622868d5f015161208e565b610622848c6020015161208e565b6106226133038c600461490d565b8b6040015161208e565b93505050505f61332161316b88602061490d565b90505f61333261316b89602061490d565b90505f61336a6133516133468b602261490d565b6106228c600661490d565b61064061335f8c602261490d565b61061d8d600661490d565b90505f61338e61338861337d878961208e565b61061d8d602061490d565b836120c0565b905061339a818861208e565b90505f6133c26133b46133ae8d600661490d565b8761208e565b6106406133ae8e602161490d565b90505f6133d08c602261490d565b90505f6133e0613388838461208e565b60808c0185905260a08c0184905290506133fa818b61208e565b8b6006602002015250505050505050505050505050565b5f61341d5f60016120c0565b90505f61342b5f60026120c0565b90505f6134395f60036120c0565b90505f61345561344a88601c61490d565b61064089601b61490d565b90505f61347161346689601d61490d565b6106408a601c61490d565b90505f61348d6134828a601e61490d565b6106408b601d61490d565b90505f6134a961349e8b602361490d565b6106408c601e61490d565b9050836134ba8161061d818b6120a7565b90506134ca8161061d878a6120a7565b90506134da8161061d87896120a7565b90506134eb8161061d8d600861490d565b90506134f7818a61208e565b60e08b0152508261350c8161061d818b6120a7565b905061351c8161061d868a6120a7565b905061352c8161061d86896120a7565b905061353d8161061d8d600861490d565b9050613549818a61208e565b6101008b0152508161355f8161061d818b6120a7565b905061356f8161061d858a6120a7565b905061357f8161061d85896120a7565b90506135908161061d8d600861490d565b905061359c818a61208e565b6101208b015250806135b28161061d818b6120a7565b90506135c28161061d848a6120a7565b90506135d28161061d84896120a7565b90506135e38161061d8d600861490d565b90506135ef818a61208e565b610140909a019990995250505050505050505050565b61363e6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61364984601c61490d565b815261365684601d61490d565b602082015261366684602361490d565b604082015261367684602661490d565b606082015261368684602561490d565b608082015261369684602461490d565b60a08201525f6136a785600261490d565b90505f6136b4865f61490d565b90505f6136c88460400151855f01516120c0565b90505f6136dd8560200151866020015161208e565b606086015190915086905f906136f3908061208e565b90505f61371161370b89602001518a6060015161208e565b8861208e565b90505f6137306137298a60a001518b604001516120a7565b8a516120a7565b905061373f6133ae828861208e565b905061376661376061375a61375484876120c0565b886120c0565b846120a7565b836120a7565b905061378e613783613778838761208e565b61061d8f600961490d565b61061d60018a6120c0565b6101608c015250505050602085015160808601515f916137ad916120a7565b90505f6137cb6137c188606001518861208e565b88602001516120c0565b90505f6137ef6137db848761208e565b6106226131a08b60a001518c5f01516120c0565b905061381761380c613801838c61208e565b61061d8e600961490d565b61061d6001896120c0565b6101808b0152505f915061383890506138318360116120a7565b875161208e565b90505f61384583846120a7565b905061385181826120a7565b90505f61385f83600961208e565b905061388861388261316b61387b8b60a001518c5f01516120a7565b8b516120a7565b826120c0565b60c089018190525f906138a39061370b90613778908d61208e565b90506138b68b600b6020020151826120a7565b6101608c0152505086515f92506138dd9150613831906138d690806120a7565b88516120a7565b90505f61391d6138f88361061d8a5f01518b60a001516120c0565b60208901516106409061390b90806120a7565b61061d8b602001518c608001516120a7565b905061393a89600c602002015161062261370b613778858d61208e565b89600c602002015250505050505050505050565b6139e2604051806102c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613a176139fe6139f387601b61490d565b61061d88602461490d565b610622613a0c88602361490d565b61061d89601c61490d565b8152613a5c613a51613a38613a2d88601b61490d565b61061d89601e61490d565b610622613a4689601c61490d565b61061d8a601d61490d565b61064087602561490d565b60408201819052613a7190600160441b61208e565b60408201819052613a879061064087602661490d565b604082018190528151613a9a91906120a7565b60408201819052613ab09061061d87600561490d565b60408201528051613ac590600160441b61208e565b808252613ae590610622613ada88602361490d565b61061d89602461490d565b80825260208201819052613b0190610640612f9188601d61490d565b60208201819052613b179061061d87600461490d565b6020820152805160608201819052613b349061062287601e61490d565b60608201819052613b5890610640613b4d88602561490d565b61062289602661490d565b60608201819052613b6d9061061d875f61490d565b8160600181815250505f613b96613b8c836020015184604001516120a7565b83606001516120a7565b9050613ba78161061d88600361490d565b9050613bbf613bb787602461490d565b61400061208e565b60808301819052613bd59061062288602361490d565b60808301819052613be89061400061208e565b60808301819052613bfe9061062288601d61490d565b60808301819052613c119061400061208e565b60808301819052613c279061062288601c61490d565b60808301819052613c3a9061400061208e565b60808301819052613c509061062288601b61490d565b60808301819052613c669061064088601e61490d565b60808301819052613c7c9061061d88600561490d565b6080830152613c8f613bb787602561490d565b60a08301819052613ca59061062288602461490d565b60a08301819052613cb89061400061208e565b60a08301819052613cce9061062288602361490d565b60a08301819052613ce19061400061208e565b60a08301819052613cf79061062288601e61490d565b60a08301819052613d0a9061400061208e565b60a08301819052613d209061062288601d61490d565b60a08301819052613d369061064088602661490d565b60a08301819052613d4b9061061d885f61490d565b60a0830181905260808301515f91613d6391906120a7565b9050613d748161061d89600461490d565b9050613d8e613d8488601d61490d565b876040015161208e565b60c08401819052613da7906106226132228a601c61490d565b60c08401819052613dc790610622613dc08a601b61490d565b895161208e565b60c08401819052613ddd9061062289600161490d565b60c0840181905260e08401819052613dfa9061064089601e61490d565b60c0840152613e0d61344a88602361490d565b610140840152613e2c613e2188602661490d565b61064089601e61490d565b610120840152610140830151613e5190613e46908061208e565b8461014001516120c0565b610280840152610140830151613e9390613e8890613e819061061d60015f5160206152c55f395f51905f52614fd6565b60016120a7565b84610120015161208e565b6101608401819052613eca90613ebc9061061d613eb18b600261490d565b61061d8c600361490d565b61061d6133ae8a600a61490d565b6101c0860152610280830151613eec90613ebc9061061d613eb18b600261490d565b6101e086015260c0830151613f149061061d613f098a600261490d565b61061d8b600361490d565b6101e08401525f613f33613f2989601e61490d565b8560e001516120c0565b9050613f42613882828361208e565b6101a0850152613f5661323a89602561490d565b6101008501819052613f7a90610622613f708b602461490d565b8a6020015161208e565b6101008501819052613f949061062261320d8b602361490d565b610100850152613fb3613fa889602661490d565b8561010001516120c0565b6101008501525f613fc86134828a602561490d565b905061401c613ff6612eb9613e8188610140015160015f5160206152c55f395f51905f5261061d9190614fd6565b61061d613e8188610100015160015f5160206152c55f395f51905f5261061d9190614fd6565b61018086015261010085015161404190614036908061208e565b8661010001516120c0565b6101c0860152610180850151614074906140609061061d8c600761490d565b61061d61406e8c600a61490d565b8961208e565b610200880152610280850151614093906140609061061d8c600761490d565b6102208801526101c08501516140b2906140609061061d8c600761490d565b6102408801526101a08501516140cd9061061d8b600761490d565b6102008601526140ec6140e18a602461490d565b6106408b601c61490d565b61022086015261014085015161412b906134829061412090613e819061061d60015f5160206152c55f395f51905f52614fd6565b87610220015161208e565b61024086018190526101e08601516102608701819052614162916106229061061d6141578e600561490d565b61061d8f600261490d565b610260860181905260c086015161418591906106229061061d6141578e5f61490d565b610260860181905261020086015161419d91906120a7565b61026086018190526141b39061375a90866120a7565b6102a086018190526141cd9061061d61406e8c600a61490d565b6102a0860181905287600d6020020152505050505050505050565b61425e6040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61427761426c85601b61490d565b61062286600261490d565b815261429261428785601c61490d565b61062286600361490d565b60208201526142b06142a585601d61490d565b61062286600461490d565b60408201526142ce6142c385601e61490d565b61062286600561490d565b60608201528051614300906142f9906142f2906142eb908061208e565b845161208e565b835161208e565b825161208e565b6080820152602081015161433e906143349061432a90614320908061208e565b846020015161208e565b836020015161208e565b826020015161208e565b60a0820152604081015161437c90614372906143689061435e908061208e565b846040015161208e565b836040015161208e565b826040015161208e565b60c082015260608101516143ba906143b0906143a69061439c908061208e565b846060015161208e565b836060015161208e565b826060015161208e565b60e0820152608081015160a08201516143d391906120a7565b61010082015260c081015160e08201516143ed91906120a7565b61012082015260a08101516144119061440690806120a7565b8261012001516120a7565b61014082015260e08101516144359061442a90806120a7565b8261010001516120a7565b61016082015261012081015161444b90806120a7565b6101e0820181905261446c9061446190806120a7565b8261016001516120a7565b6101e082015261010081015161448290806120a7565b6101a082018190526144a39061449890806120a7565b8261014001516120a7565b6101a082018190526101608201516144ba916120a7565b6101808201526101408101516101e08201516144d691906120a7565b6101c08201526144ea612eb985600b61490d565b6102008201819052610260840151610180830151614515926106229161061d906106408a602361490d565b8360136020020152614545836014602002015161062283610200015161061d856101a001516106408a602461490d565b8360146020020152614575836015602002015161062283610200015161061d856101c001516106408a602561490d565b83601560200201526145a5836016602002015161062283610200015161061d856101e001516106408a602661490d565b836016602002015250505050565b6146056040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f604051806080016040528061463a7f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e7612070565b81526020016146687f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b612070565b81526020016146957e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac15612070565b81526020016146c37f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b612070565b905290506146e06146d586601b61490d565b61062287600261490d565b61012083018190526147149061470990613e88906146fe908061208e565b85610120015161208e565b83610120015161208e565b825261472185601c61490d565b602083015261473185601d61490d565b604083015261474185601e61490d565b60608301528151602083015161476991613b8c9161475f91906120a7565b84604001516120a7565b608083015261477c61316b86600c61490d565b610140830152815161479d9061479390835f610edb565b83608001516120a7565b60a08301526147c9846017602002015161062284610140015161061d8660a001516106408b602361490d565b6102e085015260208201516147e49061479390836001610edb565b60c0830152614810846018602002015161062284610140015161061d8660c001516106408b602461490d565b610300850152604082015161482b9061479390836002610edb565b60e0830152614857846019602002015161062284610140015161061d8660e001516106408b602561490d565b61032085015260608201516148729061479390836003610edb565b6101008301526148a084601a602002015161062284610140015161061d8661010001516106408b602661490d565b84601a612ff2565b5f6148b48184816108b3565b905060015b601b811015614906576148fc826106228684601b81106148db576148db615023565b6020020151866148ec600187614fd6565b601a8110610edb57610edb615023565b91506001016148b9565b5092915050565b5f8282602781111561492157614921615270565b6028811061493157614931615023565b60200201519392505050565b604051806103c001604052805f81526020015f81526020015f8152602001614963614df8565b8152602001614970614df8565b815260200161497d614df8565b815260200161498a614df8565b8152602001614997614df8565b81526020016149a4614df8565b81526020016149b1614df8565b81526020016149be614df8565b81526020016149cb614df8565b81526020016149d8614df8565b81526020016149e5614df8565b81526020016149f2614df8565b81526020016149ff614df8565b8152602001614a0c614df8565b8152602001614a19614df8565b8152602001614a26614df8565b8152602001614a33614df8565b8152602001614a40614df8565b8152602001614a4d614df8565b8152602001614a5a614df8565b8152602001614a67614df8565b8152602001614a74614df8565b8152602001614a81614df8565b8152602001614a8e614df8565b8152602001614a9b614df8565b8152602001614aa8614df8565b8152602001614ab5614df8565b905290565b604051806101e00160405280614ace614e2f565b8152602001614adb614c8e565b8152602001614ae8614c8e565b8152602001614af5614c8e565b8152602001614b02614c8e565b8152602001614b0f614c8e565b8152602001614b1c614c8e565b8152602001614b29614c8e565b8152602001614b36614c8e565b8152602001614b43614e4e565b8152602001614b50614e7c565b8152602001614b5d614e9b565b8152602001614b6a614d20565b8152602001614b77614c8e565b8152602001614ab5614c8e565b604051806101000160405280614b98614cb2565b8152602001614ba5614ce2565b8152602001614bb2614d20565b8152602001614bbf614d20565b81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f8152602001614c0f614ec9565b8152602001614c1c614ec9565b81526020015f81526020015f81526020015f81526020015f8152602001614ab5614d20565b604051806108c001604052806046906020820280368337509192915050565b604051806108c001604052806046905b614c78614df8565b815260200190600190039081614c705790505090565b60405180608001604052805f81526020015f81526020015f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806103400160405280601a906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061052001604052806029906020820280368337509192915050565b60405180610da00160405280606d906020820280368337509192915050565b604051806103a00160405280601d906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b604051806103600160405280601b906020820280368337509192915050565b60405180604001604052805f81526020015f81525090565b604051806101a00160405280600d906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b614e66614dba565b815260200190600190039081614e5e5790505090565b6040518061050001604052806028906020820280368337509192915050565b604051806103600160405280601b905b614eb3614c8e565b815260200190600190039081614eab5790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f60408587031215614efa575f5ffd5b84356001600160401b03811115614f0f575f5ffd5b8501601f81018713614f1f575f5ffd5b80356001600160401b03811115614f34575f5ffd5b876020828401011115614f45575f5ffd5b6020918201955093508501356001600160401b03811115614f64575f5ffd5b8501601f81018713614f74575f5ffd5b80356001600160401b03811115614f89575f5ffd5b8760208260051b8401011115614f9d575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761208857612088614fab565b8181038181111561208857612088614fab565b8082018082111561208857612088614fab565b5f5f8585111561500a575f5ffd5b83861115615016575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b5f6001820161504857615048614fab565b5060010190565b80356020831015612088575f19602084900360031b1b1692915050565b5f8183825b6009811015615090578151835260209283019290910190600101615071565b5050506101208201905092915050565b634e487b7160e01b5f52601260045260245ffd5b5f826150c2576150c26150a0565b500490565b5f8183825b60298110156150eb5781518352602092830192909101906001016150cc565b5050506105208201905092915050565b5f8183825b606d81101561511f578151835260209283019290910190600101615100565b505050610da08201905092915050565b5f8183825b601d811015615153578151835260209283019290910190600101615134565b5050506103a08201905092915050565b5f8183825b6005811015615187578151835260209283019290910190600101615168565b50505060a08201905092915050565b5f826151a4576151a46150a0565b500690565b5f816151b7576151b7614fab565b505f190190565b5f82518060208501845e5f920191825250919050565b5f602082840312156151e4575f5ffd5b815180151581146119ec575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b81515f90829060208501835b82811015615231578151845260209384019390910190600101615213565b509195945050505050565b5f8183825b600d811015615260578151835260209283019290910190600101615241565b5050506101a08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe696e76616c6964206e756d626572206f6620627974657320746f20636f6e737430644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
|
|
3
|
+
*/ export const HonkVerifierBytecode = "0x610100604052348015610010575f5ffd5b506302000000608052601960a0527f02efc4a80f7c62e55ebec99324ed8ff0d1a90e09a174d2f3871671aa17ed54ec60c05260ae60e05260805160a05160c05160e051615b146100e85f395f818161018101526107ca01525f61016001525f8181605b01528181609401528181610101015281816101a2015281816108e3015281816109f001528181610a1c01528181610a96015281816112d701528181611377015281816113aa015281816115e10152818161162d0152818161167b015281816116d20152612d8201525f61076e0152615b145ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004615738565b610054565b604051901515815260200160405180910390f35b5f5f61007f7f000000000000000000000000000000000000000000000000000000000000000061028c565b905061008c816020615810565b85146100ee577f0000000000000000000000000000000000000000000000000000000000000000856100bf836020615810565b6040516359895a5360e01b81526004810193909352602483019190915260448201526064015b60405180910390fd5b5f6100f761033a565b90505f61012588887f000000000000000000000000000000000000000000000000000000000000000061034f565b9050601082604001516101389190615827565b85146101575760405163fa06659360e01b815260040160405180910390fd5b5f6101c68288887f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006106a6565b90506102168787808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505085518551606081015160809091015191935091506001610758565b815160a001525f61022783836108db565b905080610247576040516313f8744360e31b815260040160405180910390fd5b5f6102538486856109dc565b905080610273576040516352ec174560e11b815260040160405180910390fd5b81801561027d5750805b9b9a5050505050505050505050565b5f8061029a60026008615810565b905060016102a9600885615810565b6102b39190615810565b6102bd908261583a565b90506102cb60016029615810565b6102d5908261583a565b905060026102e4600185615827565b6102ee9190615810565b6102f8908261583a565b9050610305600184615810565b61030f908261583a565b905061031c600280615810565b610326908261583a565b905061033360108261583a565b9392505050565b610342615240565b61034a6117a4565b905090565b6103576153ca565b5f805b60108110156103b95761038686838761037460208361583a565b926103819392919061584d565b6120e0565b8351826010811061039957610399615874565b6020020181815250506020826103af919061583a565b915060010161035a565b506103dd8582866103cb60408361583a565b926103d89392919061584d565b6120f3565b60208301526103ed60408261583a565b90506104008582866103cb60408361583a565b604080840191909152610413908261583a565b90506104268582866103cb60408361583a565b606083015261043660408261583a565b90506104498582866103cb60408361583a565b60c083015261045960408261583a565b905061046c8582866103cb60408361583a565b60e083015261047c60408261583a565b905061048f8582866103cb60408361583a565b608083015261049f60408261583a565b90506104b28582866103cb60408361583a565b6101008301526104c360408261583a565b90506104d68582866103cb60408361583a565b60a08301526104e660408261583a565b90505f5b83811015610564575f5b600881101561055b5761050e87848861037460208361583a565b84610120015183601c811061052557610525615874565b6020020151826008811061053b5761053b615874565b602002018181525050602083610551919061583a565b92506001016104f4565b506001016104ea565b505f5b60298110156105b85761058186838761037460208361583a565b836101400151826029811061059857610598615874565b6020020181815250506020826105ae919061583a565b9150600101610567565b505f5b6105c6600185615827565b81101561060f576105de8683876103cb60408361583a565b83610160015182601b81106105f5576105f5615874565b602002015261060560408361583a565b91506001016105bb565b505f5b838110156106625761062b86838761037460208361583a565b83610180015182601c811061064257610642615874565b602002018181525050602082610658919061583a565b9150600101610612565b506106748582866103cb60408361583a565b6101a083015261068560408261583a565b90506106988582866103cb60408361583a565b6101c0830152509392505050565b6106ae61547a565b5f6106bd888888888886612175565b90835290506106cc81896121c9565b602084019190915290506106e08184612376565b604084019190915290506106f58882856123d7565b6060840191909152905061070988826124ab565b6080840191909152905061071e888285612536565b60a084019190915290506107338882856126aa565b60c08401919091529050610747888261276e565b5060e0830152509695505050505050565b5f600180826107a18661079c896107976107928a7f000000000000000000000000000000000000000000000000000000000000000061583a565b6127ab565b6127c3565b6127de565b90505f6107bf876107ba8a6107976107928b600161583a565b6127f7565b90505f5b6107ee60107f0000000000000000000000000000000000000000000000000000000000000000615827565b81101561085b575f6108188c838151811061080b5761080b615874565b602002602001015161281f565b90506108288661079786846127de565b95506108388561079785846127de565b9450610844848b6127de565b9350610850838b6127f7565b9250506001016107c3565b505f5b60108110156108c2575f8a826010811061087a5761087a615874565b6020020151905061088f8661079786846127de565b955061089f8561079785846127de565b94506108ab848b6127de565b93506108b7838b6127f7565b92505060010161085e565b506108cd8484612834565b9a9950505050505050505050565b5f806001815b7f00000000000000000000000000000000000000000000000000000000000000008110156109b2575f86610120015182601c811061092157610921615874565b602002015190505f6109338286612842565b905080610953576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c811061096a5761096a615874565b6020020151905061097b8382612865565b95506109a2886040015185601c811061099657610996615874565b60200201518683612a14565b94505050508060010190506108e1565b505f6109cc866101400151865f0151876020015185612a3f565b90508281145b9695505050505050565b5f6109e56154d3565b5f610a148460a001517f0000000000000000000000000000000000000000000000000000000000000000612ab8565b90505f610a427f0000000000000000000000000000000000000000000000000000000000000000602461583a565b610a4d90600261583a565b6001600160401b03811115610a6457610a64615888565b604051908082528060200260200182016040528015610a8d578160200160208202803683370190505b5090505f610abc7f0000000000000000000000000000000000000000000000000000000000000000602461583a565b610ac790600261583a565b6001600160401b03811115610ade57610ade615888565b604051908082528060200260200182016040528015610b1757816020015b610b04615543565b815260200190600190039081610afc5790505b509050610b49610b448760e00151855f81518110610b3757610b37615874565b60200260200101516127f7565b612b81565b84610120018181525050610b7d610b448760e00151855f81518110610b7057610b70615874565b60200260200101516127de565b610140850181905261012085015160c0880151610b9e9261079c91906127c3565b845260a0860151610bce90610bb290612b81565b6107978661012001516107ba8a60c001518961014001516127c3565b6020850152815160019083905f90610be857610be8615874565b602002602001018181525050876101a00151815f81518110610c0c57610c0c615874565b6020908102919091010152600160a08501525f60c08501528351610c2f90612bf1565b60408501526020840151610c4290612bf1565b606085015260015b60248111610ced57610c6485604001518660a001516127c3565b838281518110610c7657610c76615874565b602002602001018181525050610cbf8560c0015161079c8b6101400151600185610ca09190615827565b60298110610cb057610cb0615874565b60200201518860a001516127c3565b60c086015260a08501516080880151610cd891906127c3565b60a0860152610ce68161589c565b9050610c4a565b505f5b6005811015610dbb575f610d05601d8361583a565b90505f610d1360248461583a565b9050610d44858381518110610d2a57610d2a615874565b602002602001015161079c89606001518a60a001516127c3565b858381518110610d5657610d56615874565b602002602001018181525050610d938760c0015161079c8d61014001518460298110610d8457610d84615874565b60200201518a60a001516127c3565b60c088015260a087015160808a0151610dac91906127c3565b60a08801525050600101610cf0565b50866060015181600181518110610dd457610dd4615874565b6020026020010181905250866080015181600281518110610df757610df7615874565b60200260200101819052508660a0015181600381518110610e1a57610e1a615874565b60200260200101819052508660c0015181600481518110610e3d57610e3d615874565b60200260200101819052508660e0015181600581518110610e6057610e60615874565b602002602001018190525086610100015181600681518110610e8457610e84615874565b602002602001018190525086610120015181600781518110610ea857610ea8615874565b602002602001018190525086610140015181600881518110610ecc57610ecc615874565b602002602001018190525086610160015181600981518110610ef057610ef0615874565b6020026020010181905250866101c0015181600a81518110610f1457610f14615874565b602002602001018190525086610180015181600b81518110610f3857610f38615874565b6020026020010181905250866101a0015181600c81518110610f5c57610f5c615874565b6020026020010181905250866101e0015181600d81518110610f8057610f80615874565b602002602001018190525086610200015181600e81518110610fa457610fa4615874565b602002602001018190525086610220015181600f81518110610fc857610fc8615874565b602002602001018190525086610240015181601081518110610fec57610fec615874565b60200260200101819052508661026001518160118151811061101057611010615874565b60200260200101819052508661028001518160128151811061103457611034615874565b6020026020010181905250866102a001518160138151811061105857611058615874565b6020026020010181905250866102c001518160148151811061107c5761107c615874565b6020026020010181905250866102e00151816015815181106110a0576110a0615874565b6020026020010181905250866103000151816016815181106110c4576110c4615874565b6020026020010181905250866103200151816017815181106110e8576110e8615874565b60200260200101819052508661034001518160188151811061110c5761110c615874565b60200260200101819052508661036001518160198151811061113057611130615874565b602002602001018190525086610380015181601a8151811061115457611154615874565b6020026020010181905250866103a0015181601b8151811061117857611178615874565b6020026020010181905250866103c0015181601c8151811061119c5761119c615874565b6020026020010181905250876020015181601d815181106111bf576111bf615874565b6020026020010181905250876040015181601e815181106111e2576111e2615874565b6020026020010181905250876060015181601f8151811061120557611205615874565b602002602001018190525087608001518160208151811061122857611228615874565b60200260200101819052508760a001518160218151811061124b5761124b615874565b60200260200101819052508761010001518160228151811061126f5761126f615874565b60200260200101819052508760c001518160238151811061129257611292615874565b60200260200101819052508760e00151816024815181106112b5576112b5615874565b60200260200101819052505f6112fb87606001518660c001518b6101800151877f0000000000000000000000000000000000000000000000000000000000000000612c03565b9050611325815f8151811061131257611312615874565b60200260200101518661012001516127c3565b608086018190526101808a01515160c0890151611356929161079c9161134b91906127c3565b8861014001516127c3565b608086015260c087015161136990612d69565b60a08601525f5b61139b60017f0000000000000000000000000000000000000000000000000000000000000000615827565b8110156115c5575f6113ce60017f0000000000000000000000000000000000000000000000000000000000000000615827565b82101590508061156d57611401610b448a60e00151888560016113f1919061583a565b81518110610b3757610b37615874565b61012088015260e089015161143090610b44908861142086600161583a565b81518110610b7057610b70615874565b61014088015260a087015161012088015161144b91906127c3565b61016088015260a087015160c08a01516114689161134b916127c3565b610180880181905261148b9061147d90612bf1565b61079c896101600151612bf1565b85836114996024600161583a565b6114a3919061583a565b815181106114b3576114b3615874565b6020026020010181815250505f6114f68861018001518d61018001518560016114dc919061583a565b601c81106114ec576114ec615874565b60200201516127c3565b90506115308161079c8a610160015187876001611513919061583a565b8151811061152357611523615874565b60200260200101516127c3565b90506115408860800151826127de565b608089015260a088015160c08b01516115669161155c916127c3565b8b60c001516127c3565b60a0890152505b8a610160015182601b811061158457611584615874565b602002015184836115976024600161583a565b6115a1919061583a565b815181106115b1576115b1615874565b602090810291909101015250600101611370565b50604080518082019091526001815260026020820152826116077f0000000000000000000000000000000000000000000000000000000000000000602461583a565b8151811061161757611617615874565b60209081029190910101526080850151836116537f0000000000000000000000000000000000000000000000000000000000000000602461583a565b8151811061166357611663615874565b60209081029190910101526101c089015180836116a17f0000000000000000000000000000000000000000000000000000000000000000602461583a565b6116ac90600161583a565b815181106116bc576116bc615874565b602090810291909101015260e0880151846116f87f0000000000000000000000000000000000000000000000000000000000000000602461583a565b61170390600161583a565b8151811061171357611713615874565b6020026020010181815250505f61172a8486612d74565b90505f61173683612e84565b90505f6117478d5f01518484612eca565b90505f5f6117578f5f0151612f40565b9150915061176482613001565b61176d81613001565b6117788583856130a0565b94506117858482856130a0565b935061179185856130c6565b9f9e505050505050505050505050505050565b6117ac615240565b50604080516103e08101825263020000008152601960208083019190915260ae82840152825180840184527f1a282d579de0851cd21a4165427b976dc6b9ef67cfb76b85ec9f47194e62e9aa81527f1c4277ae98f9833ea486a6f308041378c9926a631b6b186401f96746b7b0aacb818301526060830152825180840184527f22ca870cfcf3b08422a3ae2a596cb98c2d3d81c0d599022227376acdb05c572481527f2ffe37574895f146586e45e5afcf70f9755160c6a4d2ad355a5809fc9c0b16a9818301526080830152825180840184527f1b4000ff12f00c4ca6b7a7b7537af18f21ca06b9e87aeb77b3b497efe73b1b6c81527f1caa9a59a45b472f77f59f4910a29f4e1282865c26f255cdf56b1ede36cf3e768183015260a0830152825180840184527f11730a6495d975a84f65fb8776ccee94ce01f0a424baa5f005db7763711a097181527f21e7be4fa547074ef92762d9e72256a53880fe518a0ff8b463445a6ba291cbfc8183015260c0830152825180840184527f0c2224a23f97a4490be4874ea238b14df30b7b6a005e489f6d1f9a4e23ad287c81527f29f98922eea1cc91a027429d8402e7e8877516a1c761a766046fd180345e6c728183015260e0830152825180840184527f1c7c28e4a01e69196649bf075a1c18168b2ca2fdd2689fc2e28d57d06e42c64f81527f0a50df8a9e82b3e1b8adad3aeee918223f773220343fb9b3c3341c60a490542181830152610100830152825180840184527f107d2d79c20982125b9f302008ecbd7b7f25eebc71271311c28f58223170c78b81527f0f3c9104533084fca88d92d900c94cb1400899b1c3c2b40cf32807f7d8517f4781830152610120830152825180840184527f1affb59c95c90c44820e003057cf0258fbeb33e90a9846b66298831720717f4081527f209337c2e91890a5368bc0c0d15dd578d52c7dffb8f26f4f532d53fde79683c781830152610140830152825180840184527f0dbe912213504e8e618ac46ec344fbcd2079cd644fb700e474d5ad1d3f9e59ef81527f2f2d778251e4230b60ba35a27c9987703c18a7a0827a4fe4bf61f7715b7142d081830152610160830152825180840184527f1bd4812cc18da46c90c0df7ad2ab3625b348777c74d7cfd2ef3a57904bcf450681527f272e0c95dd04534f4f3b2d97cc139d34fc52369563762cee3bcdfd6ea563576981830152610180830152825180840184527f193de17f27517d9f701223f74c2bfca3080e5ff0f7dc1ea8c61be3e28a78d7f681527f1b68b36d7c3da58f7728cc3f663d617f83b7d7889213b1a1a3c1678fd2916fd6818301526101a0830152825180840184527f27861a4ccb7471b7348a0cbef681587c321fa41b0c6fde3be5bcfc9fd2585df381527f23df46cc92442f2c32e40a6f23cd103c0bcc5c179d1f0f14ccf22ca9b3a7bdec818301526101c0830152825180840184527f2bc6b8f00645f278d5b882f10c4e55fec4fe551aba9a16aa18b0adcc411c50b481527f0472a2c4a32ca081e99533a3d5dddadc10ee5afbee55fccd428a0804ec1a5393818301526101e0830152825180840184527f1410954ae3a1cc739e89fc51cd79433baae6beb6d3fc32a967e5badaa7be59e181527f20a4c789c9f4899bf1ff5f1d2631843e9f9d3f72f500287464bf3df695d4ab1781830152610200830152825180840184527f2a5c64273414894b3d4dc159e6eafc4f6b2c130e2d13ab74d028a298aa2096bd81527f0a46c35bb829438ebd75d4bdab506a58066019d0bfc3be369763fab1a91adf7781830152610220830152825180840184527f0dbef22cc83b45da1105954cd08af5e8f95cbbe91f051971f2f2cc07a169d7a581527f0d6722ee01657b36fd8cb68ac16a6d19388a0a968f2c5d1e84daa1eb0c72a1ee81830152610240830152825180840184527f06c4666777cce62e0ddbfeb6600079cebac907c90ee14e88fc568f8af654824b81527f2d9cd2e89ffa8b328e4a7583a62afa59ac2948b11f73fbe19aa4e722e70ea4f481830152610260830152825180840184527f155596b37705f6196fb1561efe4cd46b39f1f0986f241d13c60cea0d6405bc4381527f2130304e7e258f649a1580890dd31db7759ef46720290e26399c72ea300dc0fa81830152610280830152825180840184527f162d50826e5d38846238976c6a078af139f71b4d39d3647496e1e165fbff1f5081527f075362c52b7f127067bc9252b3498366d1dc03dff328baec52b69d1d2052c005818301526102a0830152825180840184527f1c4db612d5922269909790ad620294716134e977ee7ae77e0421fa0065a8edf181527f269bf77a7ec8e17a7d48bbc0a7ae5747ba794c450bd3a3538f6176af198914d0818301526102c0830152825180840184527f03e85dd6bc989fd704750cc23949243ad0a52301ab6d7ff1289cee06697bbab881527f026ad908bc4329db999706d39db0c4d6daae1f1e6f2b245ba7aecec3f9c1e77f818301526102e0830152825180840184527f25196fedcef0527b83c846d412f222b6c2eb3b375f13843611ebb52299c5f3f781527f126439ea4ef0d92bf45c29a5517629331da48d738fcbc7e9a78f3a3aeac68b4181830152610300830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610320830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610340830152825180840184527f20db30b046148206e1ce5d50fe2559d2e60dbe3472bb605600c6e01d0965df8281527f0d5d5be706d7b3b8a7d3d02043ef0e324676187770f682c791ce1cd3deadc05881830152610360830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c8183015261038083015282518084018452600181526002818301526103a083015282518084019093527f033c9a82d0df9b87d2c963f9950073c025e4b62dd83133c92da4fdff5c8cfc2a83527f0d757acf0a4de6b20e939b75bb83b07334d0a4bd6f13d63d2299fc08dfdab7af908301526103c081019190915290565b5f6103336120ee83856158b4565b61281f565b6120fb615543565b60408051808201909152805f516020615ad45f395f51905f5261212160205f878961584d565b61212a916158b4565b61213491906158e5565b81526020908101905f516020615ad45f395f51905f529061215990604090878961584d565b612162916158b4565b61216c91906158e5565b90529392505050565b61217d61555b565b5f61218b88888888886132ba565b6040860191909152602085019190915290835292506121aa83896135b7565b6080850191909152606084019190915291989197509095505050505050565b6121d161558b565b5f6121da6155aa565b8481526101008401805151602080840191909152905181015160408084019190915260a0860180515160608501525182015160808401525161223d91612222918491016158f8565b6040516020818303038152906040528051906020012061281f565b91506122488261363e565b6020850152835260015b60026122606001601c615827565b61226a919061592b565b8110156122ea576122878360405160200161222291815260200190565b92506122928361363e565b8561229e846002615810565b601b81106122ae576122ae615874565b60200201866122be856002615810565b6122c990600161583a565b601b81106122d9576122d9615874565b602002019190915252600101612252565b506122f76001601c615827565b6001166001148015612314575060026123126001601c615827565b115b1561236e5761232f8260405160200161222291815260200190565b91505f61233b8361363e565b85600161234981601c615827565b6123539190615827565b601b811061236357612363615874565b602002019190915250505b509250929050565b61237e6155c8565b5f805b838110156123cf5761239f8560405160200161222291815260200190565b94505f6123ab8661363e565b8584601c81106123bd576123bd615874565b60200201919091525050600101612381565b509093915050565b6123df6155c8565b5f805b838110156124a1576123f26155e7565b8581525f5b600881101561245b5787610120015183601c811061241757612417615874565b6020020151816008811061242d5761242d615874565b60200201518261243e83600161583a565b6009811061244e5761244e615874565b60200201526001016123f7565b5061247081604051602001612222919061593e565b95505f61247c8761363e565b8685601c811061248e5761248e615874565b60200201919091525050506001016123e2565b5090949293505050565b5f5f6124b5615606565b8381525f5b60298110156125085785610140015181602981106124da576124da615874565b6020020151826124eb83600161583a565b602a81106124fb576124fb615874565b60200201526001016124ba565b5061251d816040516020016122229190615972565b91505f6125298361363e565b5096929550919350505050565b5f8080612544600185615827565b61254f906002615810565b61255a90600161583a565b6001600160401b0381111561257157612571615888565b60405190808252806020026020018201604052801561259a578160200160208202803683370190505b50905084815f815181106125b0576125b0615874565b60209081029190910101525f5b6125c8600186615827565b81101561267b5786610160015181601b81106125e6576125e6615874565b602002015151826125f8836002615810565b61260390600161583a565b8151811061261357612613615874565b60200260200101818152505086610160015181601b811061263657612636615874565b6020020151602001518282600261264d9190615810565b61265890600261583a565b8151811061266857612668615874565b60209081029190910101526001016125bd565b506126908160405160200161222291906159a6565b91505f61269c8361363e565b509792965091945050505050565b5f80806126b884600161583a565b6001600160401b038111156126cf576126cf615888565b6040519080825280602002602001820160405280156126f8578160200160208202803683370190505b50905084815f8151811061270e5761270e615874565b60209081029190910101525f5b8481101561267b5786610180015181601c811061273a5761273a615874565b60200201518261274b83600161583a565b8151811061275b5761275b615874565b602090810291909101015260010161271b565b5f5f612778615625565b8381526101a0850180515160208084019190915290518101516040808401919091525161251d91612222918491016159db565b5f5f516020615af45f395f51905f52825b0692915050565b5f5f516020615af45f395f51905f5282840990505b92915050565b5f5f516020615af45f395f51905f528284089392505050565b5f5f516020615af45f395f51905f52825f516020615af45f395f51905f520384089392505050565b5f5f516020615af45f395f51905f52826127bc565b5f6103338361079784612b81565b81515f90819061285a908560015b60200201516127de565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b600881101561294c576129428261079787846127f7565b915060010161292b565b50612955615643565b5f5b60088110156129b6575f84826008811061297357612973615874565b602002015190506129888161079789856127f7565b905061299381612b81565b9050808383600881106129a8576129a8615874565b602002015250600101612957565b505f5b6008811015612a09575f8782600881106129d5576129d5615874565b602002015190506129f2818484600881106114ec576114ec615874565b90506129fe86826127de565b9550506001016129b9565b506109d284836127c3565b5f5f612a2a600161079c856107978960016127f7565b9050612a3684826127c3565b95945050505050565b5f612a486155c8565b612a5386828561366e565b612a5f8686838661381a565b612a6b86868386613a06565b612a76868285613c31565b612a81868285613e25565b612a8d8686838661416e565b612a98868285614621565b612aa3868285614a33565b612aae868285614df4565b6109d281856150f4565b60605f826001600160401b03811115612ad357612ad3615888565b604051908082528060200260200182016040528015612afc578160200160208202803683370190505b50905083815f81518110612b1257612b12615874565b602090810291909101015260015b83811015612b7957612b5482612b37600184615827565b81518110612b4757612b47615874565b6020026020010151612d69565b828281518110612b6657612b66615874565b6020908102919091010152600101612b20565b509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f516020615af45f395f51905f520360808201525f516020615af45f395f51905f5260a082015260205f60c08360055afa80612bdd575f5ffd5b505f51608091909101604052949350505050565b5f516020615af45f395f51905f520390565b60605f826001600160401b03811115612c1e57612c1e615888565b604051908082528060200260200182016040528015612c47578160200160208202803683370190505b509050825b8015612d5e575f85612c5f600184615827565b81518110612c6f57612c6f615874565b602002602001015190505f89600184612c889190615827565b601c8110612c9857612c98615874565b602002015190505f612cf3612cb7612cb0858d6127c3565b60026127c3565b6107ba8b612cc6600189615827565b601c8110612cd657612cd6615874565b6020020151610797612ced8861079760018a6127f7565b876127f7565b9050612d1481610797610b44612d0e876107976001896127f7565b866127de565b9050868411612d4a579850888085612d2d600187615827565b81518110612d3d57612d3d615874565b6020026020010181815250505b50505080612d5790615a0e565b9050612c4c565b509695505050505050565b5f6127d882836127c3565b612d7c615543565b5f612da87f0000000000000000000000000000000000000000000000000000000000000000602461583a565b612db390600261583a565b90505f5b81811015612de957612de1858281518110612dd457612dd4615874565b6020026020010151613001565b600101612db7565b50604051600190815b60018401811015612e4e5760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612df2565b5080518452602081015160208501525080612e7c576040516352ec174560e11b815260040160405180910390fd5b505092915050565b612e8c615543565b5f516020615ad45f395f51905f5282602001515f516020615ad45f395f51905f52612eb79190615827565b612ec191906158e5565b60208301525090565b5f5f5f612ed686612f40565b91509150612ee2615643565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e084015251612f359161222291849101615a23565b979650505050505050565b612f48615543565b612f50615543565b82516020808501516040860151606087015160cc90811b608892831b604494851b90961795909517949094178652608087015160a088015160c089015160e08a0151871b90841b91851b9092171717868401526101008701516101208801516101408901516101608a0151871b90841b91851b909217171785526101808701516101a08801516101c08901516101e09099015190951b9790911b9390911b1791909117939093179281019290925291565b805160208201515f5f516020615ad45f395f51905f528380095f516020615ad45f395f51905f5260035f516020615ad45f395f51905f52838709085f516020615ad45f395f51905f52848509149150508061309a5760405162461bcd60e51b8152602060048201526019602482015278706f696e74206973206e6f74206f6e2074686520637572766560381b60448201526064016100e5565b50505050565b6130a8615543565b6130b0615543565b6130ba8386615159565b9050612a3681856151af565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b03168360405161325c9190615a57565b5f60405180830381855afa9150503d805f8114613294576040519150601f19603f3d011682016040523d82523d5f602084013e613299565b606091505b50915091508180156109d25750808060200190518101906109d29190615a6d565b5f808080806132ca86600161583a565b6132d590600661583a565b6001600160401b038111156132ec576132ec615888565b604051908082528060200260200182016040528015613315578160200160208202803683370190505b509050865f1b815f8151811061332d5761332d615874565b60209081029190910101525f5b613345601088615827565b8110156133965789898281811061335e5761335e615874565b9050602002013582826001613373919061583a565b8151811061338357613383615874565b602090810291909101015260010161333a565b505f5b6010811015613407578a516133c19082601081106133b9576133b9615874565b602002015190565b828260106133d08b600161583a565b6133da9190615827565b6133e4919061583a565b815181106133f4576133f4615874565b6020908102919091010152600101613399565b5060208a0151518161341a88600161583a565b8151811061342a5761342a615874565b6020908102919091018101919091528a81015101518161344b88600161583a565b61345690600161583a565b8151811061346657613466615874565b602090810291909101015260408a0151518161348388600161583a565b61348e90600261583a565b8151811061349e5761349e615874565b60209081029190910181019190915260408b01510151816134c088600161583a565b6134cb90600361583a565b815181106134db576134db615874565b602090810291909101015260608a015151816134f888600161583a565b61350390600461583a565b8151811061351357613513615874565b60209081029190910181019190915260608b015101518161353588600161583a565b61354090600561583a565b8151811061355057613550615874565b6020026020010181815250506135708160405160200161222291906159a6565b915061357b8261363e565b60408051602081018690529297509095506135969101612222565b91505f6135a28361363e565b50959b949a5094985090965091945050505050565b5f5f5f6135c2615662565b85815260c0858101805151602080850191909152905181015160408085019190915260e08801805151606086015251820151608080860191909152880180515160a0860152518201519284019290925290516136249161222291849101615a8c565b915061362f8261363e565b90979096509194509092505050565b5f80826001600160801b038116608082901c6136598261281f565b94506136648161281f565b9350505050915091565b5f61367a846007615210565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f6136db6136d56136af8560036127f7565b6107976136ca6136bf8b5f615210565b6107978c601d615210565b6107978b601c615210565b836127c3565b905061375c61375161373861371f6137068561079c6136fb8d6002615210565b6107978e601c615210565b61079c6137148c6003615210565b6107978d601d615210565b61079c61372d8b6004615210565b6107978c601e615210565b61079c6137468a6005615210565b6107978b601f615210565b61079c886001615210565b905061377b8161079c6137708660016127f7565b6107978a6027615210565b905061378781846127c3565b905061379381856127c3565b8552505f90506137cd6137c36137b86137ad88601c615210565b61079c89601f615210565b6107ba886024615210565b61079c875f615210565b90506137de816107978460026127f7565b90506137ef816107978460016127f7565b90506137fb81836127c3565b905061380781846127c3565b9050808460015b60200201525050505050565b5f5f5f61385061384661382e89601c615210565b61079c61383c8b6012615210565b8a606001516127c3565b87608001516127de565b90506138898161079761387f6138678b601d615210565b61079c6138758d6013615210565b8c606001516127c3565b89608001516127de565b90506138ae8161079761387f6138a08b601e615210565b61079c6138758d6014615210565b90506138d38161079761387f6138c58b601f615210565b61079c6138758d6015615210565b92505f90506138f76138466138e989601c615210565b61079c61383c8b600e615210565b905061391c8161079761387f61390e8b601d615210565b61079c6138758d600f615210565b90506139418161079761387f6139338b601e615210565b61079c6138758d6010615210565b90506139668161079761387f6139588b601f615210565b61079c6138758d6011615210565b91505f905061398d61398761397c896020615210565b61079c8a601a615210565b846127c3565b90506139c2816107ba6139bc6139a48b6028615210565b61079c6139b28d601b615210565b8c60a001516127c3565b856127c3565b90506139ce81856127c3565b6040860152505f6139f16139bc6139e689601b615210565b6107978a6028615210565b9050808560035b602002015250505050505050565b5f5f613a64613a4c613a34613a1f61387f8a6016615210565b61079c613a2d8b6017615210565b8a516127c3565b61079c613a428a6018615210565b89602001516127c3565b61079c613a5a896019615210565b88604001516127c3565b91505f613a9b613a82613a7889601c615210565b88608001516127de565b61079c613a908a6003615210565b6107978b6024615210565b90505f613ac4613aac89601d615210565b61079c613ab98b5f615210565b6107978c6025615210565b90505f613aee613ad58a601e615210565b61079c613ae38c6001615210565b6107978d6026615210565b9050613b2d613b15613b078561079c868d5f01516127c3565b61079c848c602001516127c3565b61079c613b238c6004615210565b8b604001516127c3565b93505050505f613b41613987886021615210565b90505f613b52613987896021615210565b90505f613b8a613b71613b668b6023615210565b61079c8c6006615210565b6107ba613b7f8c6023615210565b6107978d6006615210565b90505f613bae613ba8613b9d87896127c3565b6107978d6021615210565b836127f7565b9050613bba81886127c3565b90505f613be2613bd4613bce8d6006615210565b876127c3565b6107ba613bce8e6022615210565b90505f613bf08c6023615210565b90505f613c00613ba883846127c3565b60808c0185905260a08c018490529050613c1a818b6127c3565b8b6006602002015250505050505050505050505050565b5f613c3d5f60016127f7565b90505f613c4b5f60026127f7565b90505f613c595f60036127f7565b90505f613c75613c6a88601d615210565b6107ba89601c615210565b90505f613c91613c8689601e615210565b6107ba8a601d615210565b90505f613cad613ca28a601f615210565b6107ba8b601e615210565b90505f613cc9613cbe8b6024615210565b6107ba8c601f615210565b905083613cda81610797818b6127de565b9050613cea81610797878a6127de565b9050613cfa8161079787896127de565b9050613d0b816107978d6008615210565b9050613d17818a6127c3565b60e08b01525082613d2c81610797818b6127de565b9050613d3c81610797868a6127de565b9050613d4c8161079786896127de565b9050613d5d816107978d6008615210565b9050613d69818a6127c3565b6101008b01525081613d7f81610797818b6127de565b9050613d8f81610797858a6127de565b9050613d9f8161079785896127de565b9050613db0816107978d6008615210565b9050613dbc818a6127c3565b6101208b01525080613dd281610797818b6127de565b9050613de281610797848a6127de565b9050613df28161079784896127de565b9050613e03816107978d6008615210565b9050613e0f818a6127c3565b610140909a019990995250505050505050505050565b613e5e6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613e6984601d615210565b8152613e7684601e615210565b6020820152613e86846024615210565b6040820152613e96846027615210565b6060820152613ea6846026615210565b6080820152613eb6846025615210565b60a08201525f613ec7856002615210565b90505f613ed4865f615210565b90505f613ee88460400151855f01516127f7565b90505f613efd856020015186602001516127c3565b606086015190915086905f90613f1390806127c3565b90505f613f31613f2b89602001518a606001516127c3565b886127c3565b90505f613f50613f498a60a001518b604001516127de565b8a516127de565b9050613f5f613bce82886127c3565b9050613f86613f80613f7a613f7484876127f7565b886127f7565b846127de565b836127de565b9050613fae613fa3613f9883876127c3565b6107978f6009615210565b61079760018a6127f7565b6101608c015250505050602085015160808601515f91613fcd916127de565b90505f613feb613fe18860600151886127c3565b88602001516127f7565b90505f61400f613ffb84876127c3565b61079c6139bc8b60a001518c5f01516127f7565b905061403761402c614021838c6127c3565b6107978e6009615210565b6107976001896127f7565b6101808b0152505f915061405890506140518360116127de565b87516127c3565b90505f61406583846127de565b905061407181826127de565b90505f61407f8360096127c3565b90506140a86140a261398761409b8b60a001518c5f01516127de565b8b516127de565b826127f7565b60c089018190525f906140c390613f2b90613f98908d6127c3565b90506140d68b600b6020020151826127de565b6101608c0152505086515f92506140fd9150614051906140f690806127de565b88516127de565b90505f61413d614118836107978a5f01518b60a001516127f7565b60208901516107ba9061412b90806127de565b6107978b602001518c608001516127de565b905061415a89600c602002015161079c613f2b613f98858d6127c3565b89600c602002015250505050505050505050565b6141d8604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6141f06141e686601e615210565b85604001516127c3565b80825261420f9061079c61420588601d615210565b87602001516127c3565b8082526142249061079c61405188601c615210565b8082526142369061079c876001615210565b8082526020820181905261424f906107ba87601f615210565b815261426a61425f866024615210565b6107ba87601c615210565b608082015261428861427d866027615210565b6107ba87601f615210565b606082015260808101516142aa906142a090806127c3565b82608001516127f7565b6101c082015260808101516142ea906142e0906142d99061079760015f516020615af45f395f51905f52615827565b60016127de565b82606001516127c3565b60a082018190526143209061431290610797614307896002615210565b6107978a6003615210565b6107976139bc88600a615210565b83600e60200201526101c08101516143449061431290610797614307896002615210565b6101e084015280516143699061079761435e886002615210565b610797896003615210565b6101208201525f61438861437e87601f615210565b83602001516127f7565b90506143976140a282836127c3565b60e08301526143b46143aa876026615210565b86604001516127c3565b604083018190526143d79061079c6143cd896025615210565b88602001516127c3565b604083018190526143f79061079c6143f0896024615210565b88516127c3565b604083015261441461440a876027615210565b83604001516127f7565b60408301525f614433614428886026615210565b6107ba89601e615210565b90506144856144606136d56142d9866080015160015f516020615af45f395f51905f526107979190615827565b6107976142d9866040015160015f516020615af45f395f51905f526107979190615827565b60c084015260408301516144a79061449d90806127c3565b84604001516127f7565b61010084015260c08301516144d3906144c5906107978a6004615210565b610797613bce8a600a615210565b6102008601526101c08301516144f2906144c5906107978a6004615210565b610220860152610100830151614511906144c5906107978a6004615210565b61024086015260e083015161452b90610797896004615210565b61014084015261454a61453f886025615210565b6107ba89601d615210565b6101608401526080830151614588906144289061457d906142d99061079760015f516020615af45f395f51905f52615827565b8561016001516127c3565b61018084018190526101208401516101a085018190526145bf9161079c906107976145b48c6005615210565b6107978d6002615210565b6101a0840181905283516145df919061079c906107976145b48c5f615210565b6101a084018190526101408401516145f791906127de565b6101a0840181905261461190610797613bce8a600a615210565b6101a0840181905285600d6139f8565b61465a6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61468f61467661466b86601c615210565b610797876025615210565b61079c614684876024615210565b61079788601d615210565b81526146d46146c96146b06146a587601c615210565b61079788601f615210565b61079c6146be88601d615210565b61079789601e615210565b6107ba866026615210565b604082018190526146e990600160441b6127c3565b604082018190526146ff906107ba866027615210565b60408201819052815161471291906127de565b6040820181905261472890610797866005615210565b6040820152805161473d90600160441b6127c3565b80825261475d9061079c614752876024615210565b610797886025615210565b80825260208201819052614784906107ba61477987601e615210565b61079c88601f615210565b6020820181905261479a90610797866004615210565b60208201528051606082018190526147b79061079c86601f615210565b606082018190526147db906107ba6147d0876026615210565b61079c886027615210565b606082018190526147f090610797865f615210565b8160600181815250505f61481961480f836020015184604001516127de565b83606001516127de565b905061482a81610797876003615210565b905061484261483a866025615210565b6140006127c3565b608083018190526148589061079c876024615210565b6080830181905261486b906140006127c3565b608083018190526148819061079c87601e615210565b60808301819052614894906140006127c3565b608083018190526148aa9061079c87601d615210565b608083018190526148bd906140006127c3565b608083018190526148d39061079c87601c615210565b608083018190526148e9906107ba87601f615210565b608083018190526148ff90610797876005615210565b608083015261491261483a866026615210565b60a083018190526149289061079c876025615210565b60a0830181905261493b906140006127c3565b60a083018190526149519061079c876024615210565b60a08301819052614964906140006127c3565b60a0830181905261497a9061079c87601f615210565b60a0830181905261498d906140006127c3565b60a083018190526149a39061079c87601e615210565b60a083018190526149b9906107ba876027615210565b60a083018190526149ce90610797875f615210565b60a0830181905260808301515f916149e691906127de565b90506149f781610797886004615210565b9050614a0382826127de565b60c08401819052614a1c90610797613bce89600b615210565b60c084018190528560136020020152505050505050565b614aa96040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b614ac2614ab785601c615210565b61079c866002615210565b8152614add614ad285601d615210565b61079c866003615210565b6020820152614afb614af085601e615210565b61079c866004615210565b6040820152614b19614b0e85601f615210565b61079c866005615210565b60608201528051614b4b90614b4490614b3d90614b3690806127c3565b84516127c3565b83516127c3565b82516127c3565b60808201526020810151614b8990614b7f90614b7590614b6b90806127c3565b84602001516127c3565b83602001516127c3565b82602001516127c3565b60a08201526040810151614bc790614bbd90614bb390614ba990806127c3565b84604001516127c3565b83604001516127c3565b82604001516127c3565b60c08201526060810151614bfb906142e090614bf190614be790806127c3565b84606001516127c3565b83606001516127c3565b60e0820152608081015160a0820151614c1491906127de565b61010082015260c081015160e0820151614c2e91906127de565b61012082015260a0810151614c5290614c4790806127de565b8261012001516127de565b61014082015260e0810151614c7690614c6b90806127de565b8261010001516127de565b610160820152610120810151614c8c90806127de565b6101e08201819052614cad90614ca290806127de565b8261016001516127de565b6101e0820152610100810151614cc390806127de565b6101a08201819052614ce490614cd990806127de565b8261014001516127de565b6101a08201819052610160820151614cfb916127de565b6101808201526101408101516101e0820151614d1791906127de565b6101c0820152614d2b6136d585600c615210565b6102008201819052610280840151610180830151614d569261079c91610797906107ba8a6024615210565b8360146020020152614d86836015602002015161079c836102000151610797856101a001516107ba8a6025615210565b8360156020020152614db6836016602002015161079c836102000151610797856101c001516107ba8a6026615210565b8360166020020152614de6836017602002015161079c836102000151610797856101e001516107ba8a6027615210565b836017602002015250505050565b614e466040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6040518060800160405280614e7b7f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e76127ab565b8152602001614ea97f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b6127ab565b8152602001614ed67e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac156127ab565b8152602001614f047f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b6127ab565b90529050614f21614f1686601c615210565b61079c876002615210565b6101208301819052614f6090614f5590614f4a90614f3f90806127c3565b8561012001516127c3565b8461012001516127c3565b8361012001516127c3565b8252614f6d85601d615210565b6020830152614f7d85601e615210565b6040830152614f8d85601f615210565b606083015281516020830151614fb59161480f91614fab91906127de565b84604001516127de565b6080830152614fc861398786600d615210565b6101408301528151614fe990614fdf90835f6114ec565b83608001516127de565b60a0830152615015846018602002015161079c8461014001516107978660a001516107ba8b6024615210565b610300850152602082015161503090614fdf908360016114ec565b60c083015261505c846019602002015161079c8461014001516107978660c001516107ba8b6025615210565b610320850152604082015161507790614fdf908360026114ec565b60e08301526150a384601a602002015161079c8461014001516107978660e001516107ba8b6026615210565b61034085015260608201516150be90614fdf908360036114ec565b6101008301526150ec84601b602002015161079c8461014001516107978661010001516107ba8b6027615210565b84601b61380e565b5f615100818481612850565b905060015b601c811015615152576151488261079c8684601c811061512757615127615874565b602002015186615138600187615827565b601b81106114ec576114ec615874565b9150600101615105565b5092915050565b615161615543565b615169615543565b604051835181526020840151602082015284604082015260408160608360075afa80615193575f5ffd5b5080518252602080820151908301526060016040529392505050565b6151b7615543565b6151bf615543565b6040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa806151f4575f5ffd5b5080518252602080820151908301526080016040529392505050565b5f8282602881111561522457615224615abf565b6029811061523457615234615874565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f8152602001615266615543565b8152602001615273615543565b8152602001615280615543565b815260200161528d615543565b815260200161529a615543565b81526020016152a7615543565b81526020016152b4615543565b81526020016152c1615543565b81526020016152ce615543565b81526020016152db615543565b81526020016152e8615543565b81526020016152f5615543565b8152602001615302615543565b815260200161530f615543565b815260200161531c615543565b8152602001615329615543565b8152602001615336615543565b8152602001615343615543565b8152602001615350615543565b815260200161535d615543565b815260200161536a615543565b8152602001615377615543565b8152602001615384615543565b8152602001615391615543565b815260200161539e615543565b81526020016153ab615543565b81526020016153b8615543565b81526020016153c5615543565b905290565b604051806101e001604052806153de615680565b81526020016153eb615543565b81526020016153f8615543565b8152602001615405615543565b8152602001615412615543565b815260200161541f615543565b815260200161542c615543565b8152602001615439615543565b8152602001615446615543565b815260200161545361569f565b81526020016154606156cd565b815260200161546d6156ec565b81526020016153ab6155c8565b60405180610100016040528061548e61555b565b815260200161549b61558b565b81526020016154a86155c8565b81526020016154b56155c8565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806101c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f815260200161551161571a565b815260200161551e61571a565b81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b60405180604001604052805f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806103600160405280601b906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b6156b7615643565b8152602001906001900390816156af5790505090565b6040518061052001604052806029906020820280368337509192915050565b604051806103600160405280601b905b615704615543565b8152602001906001900390816156fc5790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f6040858703121561574b575f5ffd5b84356001600160401b03811115615760575f5ffd5b8501601f81018713615770575f5ffd5b80356001600160401b03811115615785575f5ffd5b876020828401011115615796575f5ffd5b6020918201955093508501356001600160401b038111156157b5575f5ffd5b8501601f810187136157c5575f5ffd5b80356001600160401b038111156157da575f5ffd5b8760208260051b84010111156157ee575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176127d8576127d86157fc565b818103818111156127d8576127d86157fc565b808201808211156127d8576127d86157fc565b5f5f8585111561585b575f5ffd5b83861115615867575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f600182016158ad576158ad6157fc565b5060010190565b803560208310156127d8575f19602084900360031b1b1692915050565b634e487b7160e01b5f52601260045260245ffd5b5f826158f3576158f36158d1565b500690565b5f8183825b600581101561591c5781518352602092830192909101906001016158fd565b50505060a08201905092915050565b5f82615939576159396158d1565b500490565b5f8183825b6009811015615962578151835260209283019290910190600101615943565b5050506101208201905092915050565b5f8183825b602a811015615996578151835260209283019290910190600101615977565b5050506105408201905092915050565b81515f90829060208501835b828110156159d05781518452602093840193909101906001016159b2565b509195945050505050565b5f8183825b60038110156159ff5781518352602092830192909101906001016159e0565b50505060608201905092915050565b5f81615a1c57615a1c6157fc565b505f190190565b5f8183825b6008811015615a47578151835260209283019290910190600101615a28565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f60208284031215615a7d575f5ffd5b81518015158114610333575f5ffd5b5f8183825b6007811015615ab0578151835260209283019290910190600101615a91565b50505060e08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
|
|
4
4
|
/**
|
|
5
5
|
* HonkVerifier link references.
|
|
6
6
|
*/ export const HonkVerifierLinkReferences = {};
|