@aztec/l1-artifacts 0.86.0-nightly.20250506 → 0.86.0-nightly.20250508

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.
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * HonkVerifier bytecode.
3
3
  */
4
- export declare const HonkVerifierBytecode = "0x60e0604052348015600e575f5ffd5b506302000000608052601960a05261040c60c05260805160a05160c05161525a61005a5f395f61063401525f818161073f01528181610d210152610dbd01525f6105d8015261525a5ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004614e7c565b610054565b604051901515815260200160405180910390f35b5f6100626101c86020614f54565b8414610081576040516376ba560560e11b815260040160405180910390fd5b5f61008a6101a5565b90505f61009787876101ba565b9050601082604001516100aa9190614f6b565b84146100c95760405163fa06659360e01b815260040160405180910390fd5b5f6100e0828787865f015187604001516001610513565b90506101308686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050855185516060810151608090910151919350915060016105c2565b815160a001525f6101418383610737565b905080610161576040516313f8744360e31b815260040160405180910390fd5b5f61016d848685610838565b90508061018d576040516352ec174560e11b815260040160405180910390fd5b8180156101975750805b9a9950505050505050505050565b6101ad614954565b6101b56110b5565b905090565b6101c2614ad1565b5f805b6010811015610224576101f18583866101df826020614f7e565b926101ec93929190614f91565b61199a565b8351826010811061020457610204614fb8565b60200201818152505060208261021a9190614f7e565b91506001016101c5565b50610248848285610236826080614f7e565b9261024393929190614f91565b6119fb565b6020830152610258608082614f7e565b905061026b848285610236826080614f7e565b604083015261027b608082614f7e565b905061028e848285610236826080614f7e565b606083015261029e608082614f7e565b90506102b1848285610236826080614f7e565b60c08301526102c1608082614f7e565b90506102d4848285610236826080614f7e565b60e08301526102e4608082614f7e565b90506102f7848285610236826080614f7e565b60808084019190915261030a9082614f7e565b905061031d848285610236826080614f7e565b61010083015261032e608082614f7e565b9050610341848285610236826080614f7e565b60a0830152610351608082614f7e565b90505f5b601c8110156103d0575f5b60088110156103c75761037a8684876101df826020614f7e565b84610120015183601c811061039157610391614fb8565b602002015182600881106103a7576103a7614fb8565b6020020181815250506020836103bd9190614f7e565b9250600101610360565b50600101610355565b505f5b6028811015610424576103ed8583866101df826020614f7e565b836101400151826028811061040457610404614fb8565b60200201818152505060208261041a9190614f7e565b91506001016103d3565b505f5b6104336001601c614f6b565b81101561047c5761044b858386610236826080614f7e565b83610160015182601b811061046257610462614fb8565b6020020152610472608083614f7e565b9150600101610427565b505f5b601c8110156104d0576104998583866101df826020614f7e565b83610180015182601c81106104b0576104b0614fb8565b6020020181815250506020826104c69190614f7e565b915060010161047f565b506104e2848285610236826080614f7e565b6101a08301526104f3608082614f7e565b9050610506848285610236826080614f7e565b6101c08301525092915050565b61051b614b9b565b5f61052b88888888888887611acb565b908352905061053a8189611b21565b6020840191909152905061054d81611cbb565b604084019190915290506105618882611d1c565b606084019190915290506105758882611df0565b608084019190915290506105898882611e7b565b60a0840191909152905061059d8882611fe9565b60c084019190915290506105b1888261205b565b5060e0830152509695505050505050565b5f6001808261060b86610606896106016105fc8a7f0000000000000000000000000000000000000000000000000000000000000000614f7e565b6120b2565b6120d0565b6120e9565b90505f610629876106248a6106016105fc8b6001614f7e565b612102565b90505f5b61065860107f0000000000000000000000000000000000000000000000000000000000000000614f6b565b8110156106c5575f6106828c838151811061067557610675614fb8565b60200260200101516120b2565b90506106928661060186846120e9565b95506106a28561060185846120e9565b94506106ae848b6120e9565b93506106ba838b612102565b92505060010161062d565b505f5b601081101561072c575f8a82601081106106e4576106e4614fb8565b602002015190506106f98661060186846120e9565b95506107098561060185846120e9565b9450610715848b6120e9565b9350610721838b612102565b9250506001016106c8565b506101978484612131565b5f806001815b7f000000000000000000000000000000000000000000000000000000000000000081101561080e575f86610120015182601c811061077d5761077d614fb8565b602002015190505f61078f828661213f565b9050806107af576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c81106107c6576107c6614fb8565b602002015190506107d7838261215c565b95506107fe886040015185601c81106107f2576107f2614fb8565b6020020151868361230b565b945050505080600101905061073d565b505f610828866101400151865f0151876020015185612336565b90508281145b9695505050505050565b5f61087f6040518061012001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61088d8460a001516123a4565b9050610897614bf4565b61089f614c13565b60e08601516108be906108b990855f5b6020020151612102565b612409565b60a085015260e08601516108dd906108b990855f5b60200201516120e9565b60c080860182905260a0860151908801516108fc9261060691906120d0565b845260a086015161092a9061091090612409565b6106018660a001516106248a60c001518960c001516120d0565b6020850152600182526101a088015161094290612472565b81526001606085018190525f60808601525b602381116109fa5761097561096b865f01516124b1565b86606001516120d0565b83826046811061098757610987614fb8565b602002015260808501516101408a01516109ca9190610606906109ab600186614f6b565b602881106109bb576109bb614fb8565b602002015188606001516120d0565b8560800181815250506109e5856060015188608001516120d0565b60608601526109f381614fcc565b9050610954565b505f610a0860236001614f7e565b90505b60288111610a8957610a2361096b86602001516124b1565b838260468110610a3557610a35614fb8565b602002015260808501516101408a0151610a599190610606906109ab600186614f6b565b856080018181525050610a74856060015188608001516120d0565b6060860152610a8281614fcc565b9050610a0b565b50606087015181600160200201526080870151816002602002015260a0870151816003602002015260c0870151816004602002015260e0870151816005602002015261010087015181600660200201526101208701518160076020020152610140870151816008602002015261016087015181600960200201526101a087015181600a602002015261018087015181600b60200201526101c087015181600c60200201526101e087015181600d602002015261020087015181600e602002015261022087015181600f60200201526102408701518160106020020152610260870151816011602002015261028087015181601260200201526102a087015181601360200201526102c087015181601460200201526102e08701518160156020020152610300870151816016602002015261032087015181601760200201526103408701518160186020020152610360870151816019602002015261038087015181601a60200201526103a087015181601b6020020181905250610c0f8860200151612472565b6103808201526040880151610c2390612472565b6103a08201526060880151610c3790612472565b6103c08201526080880151610c4b90612472565b6103e082015260a0880151610c5f90612472565b610400820152610100880151610c7490612472565b61042082015260c0880151610c8890612472565b61044082015260e0880151610c9c90612472565b6104608201526020880151610cb090612472565b6104808201526040880151610cc490612472565b6104a08201526060880151610cd890612472565b6104c08201526080880151610cec90612472565b6104e082015260a0880151610d0090612472565b610500820152606086015160808501516101808a01515f92610d45929091877f00000000000000000000000000000000000000000000000000000000000000006124c9565b805160a0870151919250610d58916120d0565b604086018190526101808a01515160c0890151610d88929161060691610d7e91906120d0565b8860c001516120d0565b604086015260c0870151610d9b906125e4565b60608601525f5b610dae6001601c614f6b565b811015610fb0575f610de160017f0000000000000000000000000000000000000000000000000000000000000000614f6b565b821015905080610f5657610e146108b98a60e0015188856001610e049190614f7e565b601c81106108af576108af614fb8565b60a088015260e0890151610e42906108b99088610e32866001614f7e565b601c81106108d3576108d3614fb8565b60c0880152606087015160a0880151610e5b91906120d0565b60e0880152606087015160c08a0151610e7791610d7e916120d0565b6101008801819052610e9990610e8c906124b1565b6106068960e001516124b1565b8583610ea760286001614f7e565b610eb19190614f7e565b60468110610ec157610ec1614fb8565b60200201526101008701516101808c01515f91610efd91610ee3866001614f7e565b601c8110610ef357610ef3614fb8565b60200201516120d0565b9050610f19816106068a60e0015187876001610ee39190614f7e565b9050610f298860400151826120e9565b6040890152606088015160c08b0151610f4f91610f45916120d0565b8b60c001516120d0565b6060890152505b610f7a8b610160015183601b8110610f7057610f70614fb8565b6020020151612472565b8483610f8860286001614f7e565b610f929190614f7e565b60468110610fa257610fa2614fb8565b602002015250600101610da2565b5060408051808201909152600181526002602082015282610fd3601c6028614f7e565b60468110610fe357610fe3614fb8565b6020020152604085015183610ffa601c6028614f7e565b6046811061100a5761100a614fb8565b60200201526101c08901515f9061102090612472565b90508083611030601c6028614f7e565b61103b906001614f7e565b6046811061104b5761104b614fb8565b602002015260e088015184611062601c6028614f7e565b61106d906001614f7e565b6046811061107d5761107d614fb8565b60200201525f61108d84866125ef565b90505f611099836126b5565b90506110a582826126fb565b9c9b505050505050505050505050565b6110bd614954565b50604080516103c08101825263020000008152601960208083019190915261040c82840152825180840184527f06f60b33d0c51786732150da81dde55d8108c7619b540f328141ea1150fa0c2681527f2c16f2827627513706a0a05824face11af499871178d989f26de1378d626b6ff818301526060830152825180840184527f0db9db9c3175ab49f31008b00c313f811c1ac03f9ebf21f4dee9425a262a94be81527f2726e3b566a8c5dca2de86345ffe9e152e90181aedb8b14c8541f691f1b47bbc818301526080830152825180840184527f13cc0c05ec6357930a56fdbdb361c0b97469a87ecd9689a16b3152fdf29fe0c881527f26341875d9f6bb006ed3c51d8f63664a7d43dee67ec4ac56cf2d9f382b9f79978183015260a0830152825180840184527f0ee02b494ff2d7723fd58614d2de0d88bfd9327fcf24299be75ef9c77288b7c081527f1e10c12aa1b2dcfdfacd87d96059dea7663cd874a036bbf74d10d08c2265edf78183015260c0830152825180840184527f0e246ea0a177bb2845247933956421d98104c34abcf58c5c44151e3af0c9f0e881527f03a7db6745cae703c4db7890cefe63194b3c1b1f0fa533cf0019fa0d7347a9788183015260e0830152825180840184527f2b4b7dbca1f41daa7ed02912845cf53e33b0fea12f5a2cf3cb8f6a818c2fd6f881527f0ae9749828adda75daf0a6ec7c41f76cfce9d8a4526b6c1d672c62e4acc79ebf81830152610100830152825180840184527f25a5859635c879aab2434f0abb7d4d49ee8c6caab3e0be1e5dcc5b20164f96ef81527f2b8c29f921dad7a6b79c13d62ad140d6b2d14c0723f5650775209438e58af12281830152610120830152825180840184527f0e79b8f530060885c00df6795c61366fdf1dd92c8996181cee937ee798ada7dc81527f19fb073215b3c49b5341eb6bda060671d4f5f9b344752d2d207c2993b1e77ab781830152610140830152825180840184527f2fd72420b3f3dc36c66547e5829f408743801390f80ed5d3b7596ec99ffca86281527f12f8b03cde038eb9146f4284ee5564b9fef4ddfd8c1ae3fa401462862ce0b27681830152610160830152825180840184527f118b02a85c1155f0e4f9ca11a137b5d228d3290dddc5a59b9eb786497708979381527f1a98d9cbf6e221ed0b3769e622d64bd72bac59b6572776315d640f04b9847b4681830152610180830152825180840184527e4bed6a887d5bae0b8a52c57c02e0158e1c3ab590d7de1a46700a956a55dd7f81527f02bffb3284308a23be8fc365ff64971d3751f70df6e8956fae2e02a4ec88dbe0818301526101a0830152825180840184527e4c6d712c82c6810e82530a772a2322a9b05cdd1402619615d7b936fabd9e0481527f2bd2711f0e266a7007178cb93dd71ed58e70d41e6f84e2bf4052bc688f0e7dc1818301526101c0830152825180840184527f1ae33dbf40285e4c62a8a1f75e246642a384f5e0f9297334f9047c16eb3db48e81527f0ab1cc4f42980937f02ca9ff18f4491c670682abea0b461429b9a65ef43d47b6818301526101e0830152825180840184527f0dceeeb4638538f0c21e2c6f7d14bbbb7ea00401110d8ffb425c9e1465f5e4ef81527f07c07a1eebb082e1e7c621739f11a16ffa13f16ab25bd6fe9563b04f3d0f414381830152610200830152825180840184527f127a564663d678281f42ad174287bd39aa2dbcd22b1a2e731fbf7c770e0fab7381527f085761f102569d4f0042a53678b7469206adfb9e3edd40b3bd18d3d9e1d92bf981830152610220830152825180840184527f03bcceb98b90f460b2a22276ec96e71e45f161f5a0b85c1ec0d6926e660abb6081527f0eab0dc5f09b1ff0e4699aec6d2cfa8a67e720c260046f5626a3a5436b4fdcc481830152610240830152825180840184527f0636a52cf862c5fa7bbe14c71ccc0958d4b115432f9854d701284471c4756cac81527f11c67f62d203dd7cb4e00d393250aeed393c4d56c2d488e4d8732a7bcf198d0081830152610260830152825180840184527f02474337982fadb2117cbdfe78130320e2a1d41a23c36f4edfd9ea880bebb34981527e124d7491ce12257c44ec5800f26c8531a1d2df6142843e15d87faad3db557581830152610280830152825180840184527f22b8e0c1478271d1f81fd666dc13bf5f92a2d22f4439c681b7a931b1055efcec81527f032522c098801550c32002b2d917708b049393e51d505959d8d96b0fa6afac65818301526102a0830152825180840184527f072d814c8ddac2a8b471e192166a60af3f5bdcd8fad5a11ad0f5529a088d807581527f102d9713613ca42d01e35f6719820eee44c2f80cb29bdb1d82456b3ff554428f818301526102c0830152825180840184527f0700a63967603b7b9447bfbbf7396d686be473e69a640b4ab56b44fa9dfcab2f81527f26c607679cd191739e4c90ab948f3bbef0c5331421d9a82650fa7021c48bbcd8818301526102e0830152825180840184527f2f4e0e73619e22e05200bd9de4ea73a3fc38ac033787e58016ef8f6e0c20b1fb81527f2f2b94d720217b157176b458c9d8f1b192a1466618a7901bce7f435a1edd6da181830152610300830152825180840184527f2003a0aec140164182e4ff65e13c9fd005e08922f739d8b6423dcf8fa26f9ec281527f13793b4ea820fac86bf339259e4c76e9e5a49a35f7c1a1ccf7f2ed9e0215748881830152610320830152825180840184527f1abe3e80fbe4e7e479e25e018648cfbf398a6057281cecf3c3a76f220a62474081527f29a28edb5e574311167384f452aa8112795513c8c164fcbcd592386a7fbfc33381830152610340830152825180840184527f21ad8f9bf46d94bf9d93469d756464c74999dbb805c6ab7b2bfcb5c3a495c81081527f224803cf8531674748532f90c6a2a835030a07111344dc02418159a6178927a881830152610360830152825180840184526001815260028183015261038083015282518084019093527f0da69e69475f89c1a84dcb5e7dba60ffca83c41b476268e1d0a75243bfaa5bb683527f1e2f168c7354073d9dc0aefe2447a9f89c089bcf74fd471be4eb3bb0c7952576908301526103a081019190915290565b5f602082146119e75760405162461bcd60e51b815260206004820152601460248201527334b73b30b634b210313cba32b99039b1b0b630b960611b60448201526064015b60405180910390fd5b6119f46105fc8385614fe4565b9392505050565b611a03614c41565b60808214611a495760405162461bcd60e51b81526020600482015260136024820152721a5b9d985b1a5908189e5d195cc81c1bda5b9d606a1b60448201526064016119de565b604080516080810190915280611a6260205f8688614f91565b611a6b91614fe4565b8152602090810190611a81906040908688614f91565b611a8a91614fe4565b8152602001611a9d606060408688614f91565b611aa691614fe4565b8152602001611ab9608060608688614f91565b611ac291614fe4565b90529392505050565b611ad3614c65565b5f611ae28989898989896128ff565b604086019190915260208501919091529083529250611b01838a612da5565b608085019190915260608401919091529199919850909650505050505050565b611b29614c95565b5f611b32614cb4565b848152610100848101805151602080850191909152815181015160408086019190915282518101516060808701919091529251830151608086015260a080890180515191870191909152805183015160c0870152805182015160e087015251909201519284019290925251611bc891611bad91849101615001565b604051602081830303815290604052805190602001206120b2565b9150611bd382612e74565b6020850152835260015b611be960026019615049565b811015611c6957611c0683604051602001611bad91815260200190565b9250611c1183612e74565b85611c1d846002614f54565b60198110611c2d57611c2d614fb8565b6020020186611c3d856002614f54565b611c48906001614f7e565b60198110611c5857611c58614fb8565b602002019190915252600101611bdd565b50611c8082604051602001611bad91815260200190565b91505f611c8c83612e74565b85611c9960016019614f6b565b60198110611ca957611ca9614fb8565b60200201919091525050509250929050565b611cc3614cd3565b5f805b601c811015611d1557611ce584604051602001611bad91815260200190565b93505f611cf185612e74565b8584601c8110611d0357611d03614fb8565b60200201919091525050600101611cc6565b5090929050565b611d24614cd3565b5f805b601c811015611de757611d38614cb4565b8481525f5b6008811015611da15786610120015183601c8110611d5d57611d5d614fb8565b60200201518160088110611d7357611d73614fb8565b602002015182611d84836001614f7e565b60098110611d9457611d94614fb8565b6020020152600101611d3d565b50611db681604051602001611bad9190615001565b94505f611dc286612e74565b8685601c8110611dd457611dd4614fb8565b6020020191909152505050600101611d27565b50909391925050565b5f5f611dfa614cf2565b8381525f5b6028811015611e4d578561014001518160288110611e1f57611e1f614fb8565b602002015182611e30836001614f7e565b60298110611e4057611e40614fb8565b6020020152600101611dff565b50611e6281604051602001611bad919061505c565b91505f611e6e83612e74565b5096929550919350505050565b5f5f611e85614d11565b8381525f5b611e966001601c614f6b565b811015611fd45785610160015181601b8110611eb457611eb4614fb8565b60200201515182611ec6836004614f54565b611ed1906001614f7e565b606d8110611ee157611ee1614fb8565b602002015261016086015181601b8110611efd57611efd614fb8565b60200201516020015182826004611f149190614f54565b611f1f906002614f7e565b606d8110611f2f57611f2f614fb8565b602002015261016086015181601b8110611f4b57611f4b614fb8565b60200201516040015182611f60836004614f54565b611f6b906003614f7e565b606d8110611f7b57611f7b614fb8565b602002015261016086015181601b8110611f9757611f97614fb8565b60200201516060015182611fac836004614f54565b611fb7906004614f7e565b606d8110611fc757611fc7614fb8565b6020020152600101611e8a565b50611e6281604051602001611bad9190615090565b5f5f611ff3614d30565b8381525f5b601c8110156120465785610180015181601c811061201857612018614fb8565b602002015182612029836001614f7e565b601d811061203957612039614fb8565b6020020152600101611ff8565b50611e6281604051602001611bad91906150c4565b5f5f612065614d4f565b8381526101a085018051516020808401919091528151810151604080850191909152825181015160608086019190915292519092015160808401529051611e6291611bad918491016150f8565b5f6120ca5f51602061523a5f395f51905f528361512b565b92915050565b5f5f51602061523a5f395f51905f528284099392505050565b5f5f51602061523a5f395f51905f528284089392505050565b5f5f51602061523a5f395f51905f52612128835f51602061523a5f395f51905f52614f6b565b84089392505050565b5f6119f48361060184612409565b81515f908190612151908560016108d3565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b600881101561224357612239826106018784612102565b9150600101612222565b5061224c614d6d565b5f5b60088110156122ad575f84826008811061226a5761226a614fb8565b6020020151905061227f816106018985612102565b905061228a81612409565b90508083836008811061229f5761229f614fb8565b60200201525060010161224e565b505f5b6008811015612300575f8782600881106122cc576122cc614fb8565b602002015190506122e981848460088110610ef357610ef3614fb8565b90506122f586826120e9565b9550506001016122b0565b5061082e84836120d0565b5f5f612321600161060685610601896001612102565b905061232d84826120d0565b95945050505050565b5f61233f614d8c565b61234a868285612ea4565b61235686868386613050565b61236286868386613238565b61236d868285613434565b61237886828561361c565b61238486868386613965565b61238f8682856141ff565b61239a8682856145ca565b61082e81856148bf565b6123ac614cd3565b81815260015b601c811015612403576123e4826123ca600184614f6b565b601c81106123da576123da614fb8565b60200201516125e4565b8282601c81106123f6576123f6614fb8565b60200201526001016123b2565b50919050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f51602061523a5f395f51905f520360808201525f51602061523a5f395f51905f5260a082015260205f60c08360055afa905080612467575f5ffd5b50505f519392505050565b61247a614dab565b604051806040016040528060888460200151901b845f015117815260200160888460600151901b8460400151178152509050919050565b5f6120ca825f51602061523a5f395f51905f52614f6b565b6124d1614cd3565b601c5b80156125da575f846124e7600184614f6b565b601c81106124f7576124f7614fb8565b602002015190505f8861250b600185614f6b565b601c811061251b5761251b614fb8565b602002015190505f61257661253a612533858c6120d0565b60026120d0565b6106248a612549600189614f6b565b601c811061255957612559614fb8565b60200201516106016125708861060160018a612102565b87612102565b9050612597816106016108b961259187610601600189612102565b866120e9565b90508584116125c65797508780856125b0600187614f6b565b601c81106125c0576125c0614fb8565b60200201525b505050806125d39061513e565b90506124d4565b5095945050505050565b5f6120ca82836120d0565b6125f7614dab565b5f612604601c6028614f7e565b61260f906002614f7e565b90506001604051855151604082015285516020015160608201528451608082015260408160606040840160075afa8216915060015b8381101561269d5760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612644565b50805184526020810151602085015250505092915050565b6126bd614dab565b5f51602061521a5f395f51905f5282602001515f51602061521a5f395f51905f526126e89190614f6b565b6126f2919061512b565b60208301525090565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516128919190615153565b5f60405180830381855afa9150503d805f81146128c9576040519150601f19603f3d011682016040523d82523d5f602084013e6128ce565b606091505b50915091505f818060200190518101906128e89190615169565b90508280156128f45750805b979650505050505050565b5f8080808061290f876003614f7e565b61291a90600c614f7e565b6001600160401b0381111561293157612931615188565b60405190808252806020026020018201604052801561295a578160200160208202803683370190505b509050875f1b815f8151811061297257612972614fb8565b602002602001018181525050865f1b8160018151811061299457612994614fb8565b602002602001018181525050855f1b816002815181106129b6576129b6614fb8565b60209081029190910101525f5b6129ce601089614f6b565b811015612a1f578a8a828181106129e7576129e7614fb8565b90506020020135828260036129fc9190614f7e565b81518110612a0c57612a0c614fb8565b60209081029190910101526001016129c3565b505f5b6010811015612a90578b51612a4a908260108110612a4257612a42614fb8565b602002015190565b82826010612a598c6003614f7e565b612a639190614f6b565b612a6d9190614f7e565b81518110612a7d57612a7d614fb8565b6020908102919091010152600101612a22565b5060208b01515181612aa3896003614f7e565b81518110612ab357612ab3614fb8565b6020908102919091018101919091528b810151015181612ad4896003614f7e565b612adf906001614f7e565b81518110612aef57612aef614fb8565b6020908102919091018101919091528b01516040015181612b11896003614f7e565b612b1c906002614f7e565b81518110612b2c57612b2c614fb8565b6020908102919091018101919091528b01516060015181612b4e896003614f7e565b612b59906003614f7e565b81518110612b6957612b69614fb8565b602090810291909101015260408b01515181612b86896003614f7e565b612b91906004614f7e565b81518110612ba157612ba1614fb8565b60209081029190910181019190915260408c0151015181612bc3896003614f7e565b612bce906005614f7e565b81518110612bde57612bde614fb8565b60209081029190910101526040808c0151015181612bfd896003614f7e565b612c08906006614f7e565b81518110612c1857612c18614fb8565b602090810291909101015260408b01516060015181612c38896003614f7e565b612c43906007614f7e565b81518110612c5357612c53614fb8565b602090810291909101015260608b01515181612c70896003614f7e565b612c7b906008614f7e565b81518110612c8b57612c8b614fb8565b60209081029190910181019190915260608c0151015181612cad896003614f7e565b612cb8906009614f7e565b81518110612cc857612cc8614fb8565b602090810291909101015260608b01516040015181612ce8896003614f7e565b612cf390600a614f7e565b81518110612d0357612d03614fb8565b60209081029190910101526060808c0151015181612d22896003614f7e565b612d2d90600b614f7e565b81518110612d3d57612d3d614fb8565b602002602001018181525050612d5d81604051602001611bad919061519c565b9150612d6882612e74565b6040805160208101869052929750909550612d839101611bad565b91505f612d8f83612e74565b50959c949b509499509097509195505050505050565b5f5f5f612db0614dc3565b85815260c085810180515160208085019190915281518101516040808601919091528251810151606080870191909152925183015160808087019190915260e0808b0180515160a089015280518501519688019690965285518301519087015293518301516101008601529288018051516101208601528051820151610140860152805184015161016086015251909101516101808401529051612e5a91611bad918491016151d1565b9150612e6582612e74565b90979096509194509092505050565b5f80826001600160801b038116608082901c612e8f826120b2565b9450612e9a816120b2565b9350505050915091565b5f612eb0846007614924565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f612f11612f0b612ee5856003612102565b610601612f00612ef58b5f614924565b6106018c601c614924565b6106018b601b614924565b836120d0565b9050612f92612f87612f6e612f55612f3c85610606612f318d6002614924565b6106018e601b614924565b610606612f4a8c6003614924565b6106018d601c614924565b610606612f638b6004614924565b6106018c601d614924565b610606612f7c8a6005614924565b6106018b601e614924565b610606886001614924565b9050612fb181610606612fa6866001612102565b6106018a6026614924565b9050612fbd81846120d0565b9050612fc981856120d0565b8552505f9050613003612ff9612fee612fe388601b614924565b61060689601e614924565b610624886023614924565b610606875f614924565b905061301481610601846002612102565b905061302581610601846001612102565b905061303181836120d0565b905061303d81846120d0565b9050808460015b60200201525050505050565b5f5f5f61308661307c61306489601b614924565b6106066130728b6011614924565b8a606001516120d0565b87608001516120e9565b90506130bf816106016130b561309d8b601c614924565b6106066130ab8d6012614924565b8c606001516120d0565b89608001516120e9565b90506130e4816106016130b56130d68b601d614924565b6106066130ab8d6013614924565b9050613109816106016130b56130fb8b601e614924565b6106066130ab8d6014614924565b92505f905061312d61307c61311f89601b614924565b6106066130728b600d614924565b9050613152816106016130b56131448b601c614924565b6106066130ab8d600e614924565b9050613177816106016130b56131698b601d614924565b6106066130ab8d600f614924565b905061319c816106016130b561318e8b601e614924565b6106066130ab8d6010614924565b91505f90506131c36131bd6131b289601f614924565b6106068a6019614924565b846120d0565b90506131f8816106246131f26131da8b6027614924565b6106066131e88d601a614924565b8c60a001516120d0565b856120d0565b905061320481856120d0565b6040860152505f6132276131f261321c89601a614924565b6106018a6027614924565b606090950194909452505050505050565b5f5f61329661327e6132666132516130b58a6015614924565b61060661325f8b6016614924565b8a516120d0565b6106066132748a6017614924565b89602001516120d0565b61060661328c896018614924565b88604001516120d0565b91505f6132cd6132b46132aa89601b614924565b88608001516120e9565b6106066132c28a6003614924565b6106018b6023614924565b90505f6132f66132de89601c614924565b6106066132eb8b5f614924565b6106018c6024614924565b90505f6133206133078a601d614924565b6106066133158c6001614924565b6106018d6025614924565b905061335f61334761333985610606868d5f01516120d0565b610606848c602001516120d0565b6106066133558c6004614924565b8b604001516120d0565b93505050505f6133736131bd886020614924565b90505f6133846131bd896020614924565b90505f6133bc6133a36133988b6022614924565b6106068c6006614924565b6106246133b18c6022614924565b6106018d6006614924565b90505f6133e06133da6133cf87896120d0565b6106018d6020614924565b83612102565b90506133ec81886120d0565b90505f6134146134066134008d6006614924565b876120d0565b6106246134008e6021614924565b60808a018390529050808960055b60200201525050505050505050505050565b5f6134405f6001612102565b90505f61344e5f6002612102565b90505f61345c5f6003612102565b90505f61347861346d88601c614924565b61062489601b614924565b90505f61349461348989601d614924565b6106248a601c614924565b90505f6134b06134a58a601e614924565b6106248b601d614924565b90505f6134cc6134c18b6023614924565b6106248c601e614924565b9050836134dd81610601818b6120e9565b90506134ed81610601878a6120e9565b90506134fd8161060187896120e9565b905061350e816106018d6008614924565b905061351a818a6120d0565b60c08b0152508261352f81610601818b6120e9565b905061353f81610601868a6120e9565b905061354f8161060186896120e9565b9050613560816106018d6008614924565b905061356c818a6120d0565b60e08b0152508161358181610601818b6120e9565b905061359181610601858a6120e9565b90506135a18161060185896120e9565b90506135b2816106018d6008614924565b90506135be818a6120d0565b6101008b015250806135d481610601818b6120e9565b90506135e481610601848a6120e9565b90506135f48161060184896120e9565b9050613605816106018d6008614924565b9050613611818a6120d0565b9050808a6009613422565b6136556040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61366084601c614924565b815261366d84601d614924565b602082015261367d846023614924565b604082015261368d846026614924565b606082015261369d846025614924565b60808201526136ad846024614924565b60a08201525f6136be856002614924565b90505f6136cb865f614924565b90505f6136df8460400151855f0151612102565b90505f6136f4856020015186602001516120d0565b606086015190915086905f9061370a90806120d0565b90505f61372861372289602001518a606001516120d0565b886120d0565b90505f6137476137408a60a001518b604001516120e9565b8a516120e9565b905061375661340082886120d0565b905061377d61377761377161376b8487612102565b88612102565b846120e9565b836120e9565b90506137a561379a61378f83876120d0565b6106018f6009614924565b61060160018a612102565b6101408c015250505050602085015160808601515f916137c4916120e9565b90505f6137e26137d88860600151886120d0565b8860200151612102565b90505f6138066137f284876120d0565b6106066131f28b60a001518c5f0151612102565b905061382e613823613818838c6120d0565b6106018e6009614924565b610601600189612102565b6101608b0152505f915061384f90506138488360116120e9565b87516120d0565b90505f61385c83846120e9565b905061386881826120e9565b90505f6138768360096120d0565b905061389f6138996131bd6138928b60a001518c5f01516120e9565b8b516120e9565b82612102565b60c089018190525f906138ba906137229061378f908d6120d0565b90506138cd8b600a6020020151826120e9565b6101408c0152505086515f92506138f49150613848906138ed90806120e9565b88516120e9565b90505f61393461390f836106018a5f01518b60a00151612102565b60208901516106249061392290806120e9565b6106018b602001518c608001516120e9565b905061395189600b602002015161060661372261378f858d6120d0565b89600b602002015250505050505050505050565b6139f9604051806102c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613a2e613a15613a0a87601b614924565b610601886024614924565b610606613a23886023614924565b61060189601c614924565b8152613a73613a68613a4f613a4488601b614924565b61060189601e614924565b610606613a5d89601c614924565b6106018a601d614924565b610624876025614924565b60408201819052613a8890600160441b6120d0565b60408201819052613a9e90610624876026614924565b604082018190528151613ab191906120e9565b60408201819052613ac790610601876005614924565b60408201528051613adc90600160441b6120d0565b808252613afc90610606613af1886023614924565b610601896024614924565b80825260208201819052613b1890610624612fe388601d614924565b60208201819052613b2e90610601876004614924565b6020820152805160608201819052613b4b9061060687601e614924565b60608201819052613b6f90610624613b64886025614924565b610606896026614924565b60608201819052613b8490610601875f614924565b8160600181815250505f613bad613ba3836020015184604001516120e9565b83606001516120e9565b9050613bbe81610601886003614924565b9050613bd6613bce876024614924565b6140006120d0565b60808301819052613bec90610606886023614924565b60808301819052613bff906140006120d0565b60808301819052613c159061060688601d614924565b60808301819052613c28906140006120d0565b60808301819052613c3e9061060688601c614924565b60808301819052613c51906140006120d0565b60808301819052613c679061060688601b614924565b60808301819052613c7d9061062488601e614924565b60808301819052613c9390610601886005614924565b6080830152613ca6613bce876025614924565b60a08301819052613cbc90610606886024614924565b60a08301819052613ccf906140006120d0565b60a08301819052613ce590610606886023614924565b60a08301819052613cf8906140006120d0565b60a08301819052613d0e9061060688601e614924565b60a08301819052613d21906140006120d0565b60a08301819052613d379061060688601d614924565b60a08301819052613d4d90610624886026614924565b60a08301819052613d6290610601885f614924565b60a0830181905260808301515f91613d7a91906120e9565b9050613d8b81610601896004614924565b9050613da5613d9b88601d614924565b87604001516120d0565b60c08401819052613dbe906106066132748a601c614924565b60c08401819052613dde90610606613dd78a601b614924565b89516120d0565b60c08401819052613df490610606896001614924565b60c0840181905260e08401819052613e119061062489601e614924565b60c0840152613e2461346d886023614924565b610140840152613e43613e38886026614924565b61062489601e614924565b610120840152610140830151613e6890613e5d90806120d0565b846101400151612102565b610280840152610140830151613eaa90613e9f90613e989061060160015f51602061523a5f395f51905f52614f6b565b60016120e9565b8461012001516120d0565b6101608401819052613ee190613ed390610601613ec88b6002614924565b6106018c6003614924565b6106016134008a600a614924565b6101a0860152610280830151613f0390613ed390610601613ec88b6002614924565b6101c086015260c0830151613f2b90610601613f208a6002614924565b6106018b6003614924565b6101e08401525f613f4a613f4089601e614924565b8560e00151612102565b9050613f5961389982836120d0565b6101a0850152613f6d61328c896025614924565b6101008501819052613f9190610606613f878b6024614924565b8a602001516120d0565b6101008501819052613fab9061060661325f8b6023614924565b610100850152613fca613fbf896026614924565b856101000151612102565b6101008501525f613fdf6134a58a6025614924565b905061403361400d612f0b613e9888610140015160015f51602061523a5f395f51905f526106019190614f6b565b610601613e9888610100015160015f51602061523a5f395f51905f526106019190614f6b565b6101808601526101008501516140589061404d90806120d0565b866101000151612102565b6101c086015261018085015161408b90614077906106018c6007614924565b6106016140858c600a614924565b896120d0565b6101e08801526102808501516140aa90614077906106018c6007614924565b6102008801526101c08501516140c990614077906106018c6007614924565b6102208801526101a08501516140e4906106018b6007614924565b6102008601526141036140f88a6024614924565b6106248b601c614924565b610220860152610140850151614142906134a59061413790613e989061060160015f51602061523a5f395f51905f52614f6b565b8761022001516120d0565b61024086018190526101e08601516102608701819052614179916106069061060161416e8e6005614924565b6106018f6002614924565b610260860181905260c086015161419c91906106069061060161416e8e5f614924565b61026086018190526102008601516141b491906120e9565b61026086018190526141ca9061377190866120e9565b6102a086018190526141e4906106016140858c600a614924565b6102a0860181905287600c6020020152505050505050505050565b6142756040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61428e61428385601b614924565b610606866002614924565b81526142a961429e85601c614924565b610606866003614924565b60208201526142c76142bc85601d614924565b610606866004614924565b60408201526142e56142da85601e614924565b610606866005614924565b6060820152805161431790614310906143099061430290806120d0565b84516120d0565b83516120d0565b82516120d0565b608082015260208101516143559061434b906143419061433790806120d0565b84602001516120d0565b83602001516120d0565b82602001516120d0565b60a08201526040810151614393906143899061437f9061437590806120d0565b84604001516120d0565b83604001516120d0565b82604001516120d0565b60c082015260608101516143d1906143c7906143bd906143b390806120d0565b84606001516120d0565b83606001516120d0565b82606001516120d0565b60e0820152608081015160a08201516143ea91906120e9565b61010082015260c081015160e082015161440491906120e9565b61012082015260a08101516144289061441d90806120e9565b8261012001516120e9565b61014082015260e081015161444c9061444190806120e9565b8261010001516120e9565b61016082015261012081015161446290806120e9565b6101e082018190526144839061447890806120e9565b8261016001516120e9565b6101e082015261010081015161449990806120e9565b6101a082018190526144ba906144af90806120e9565b8261014001516120e9565b6101a082018190526101608201516144d1916120e9565b6101808201526101408101516101e08201516144ed91906120e9565b6101c0820152614501612f0b85600b614924565b610200820181905261024084015161018083015161452c9261060691610601906106248a6023614924565b836012602002015261455c8360136020020151610606836102000151610601856101a001516106248a6024614924565b836013602002015261458c8360146020020151610606836102000151610601856101c001516106248a6025614924565b83601460200201526145bc8360156020020151610606836102000151610601856101e001516106248a6026614924565b836015602002015250505050565b61461c6040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60405180608001604052806146517f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e76120b2565b815260200161467f7f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b6120b2565b81526020016146ac7e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac156120b2565b81526020016146da7f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b6120b2565b905290506146f76146ec86601b614924565b610606876002614924565b610120830181905261472b9061472090613e9f9061471590806120d0565b8561012001516120d0565b8361012001516120d0565b825261473885601c614924565b602083015261474885601d614924565b604083015261475885601e614924565b60608301528151602083015161478091613ba39161477691906120e9565b84604001516120e9565b60808301526147936131bd86600c614924565b61014083015281516147b4906147aa90835f610ef3565b83608001516120e9565b60a08301526147e084601660200201516106068461014001516106018660a001516106248b6023614924565b6102c085015260208201516147fb906147aa90836001610ef3565b60c083015261482784601760200201516106068461014001516106018660c001516106248b6024614924565b6102e08501526040820151614842906147aa90836002610ef3565b60e083015261486e84601860200201516106068461014001516106018660e001516106248b6025614924565b6103008501526060820151614889906147aa90836003610ef3565b6101008301526148b784601960200201516106068461014001516106018661010001516106248b6026614924565b846019613044565b5f6148cb8184816108d3565b905060015b601a81101561491d57614913826106068684601a81106148f2576148f2614fb8565b602002015186614903600187614f6b565b60198110610ef357610ef3614fb8565b91506001016148d0565b5092915050565b5f8282602781111561493857614938615205565b6028811061494857614948614fb8565b60200201519392505050565b604051806103c001604052805f81526020015f81526020015f815260200161497a614dab565b8152602001614987614dab565b8152602001614994614dab565b81526020016149a1614dab565b81526020016149ae614dab565b81526020016149bb614dab565b81526020016149c8614dab565b81526020016149d5614dab565b81526020016149e2614dab565b81526020016149ef614dab565b81526020016149fc614dab565b8152602001614a09614dab565b8152602001614a16614dab565b8152602001614a23614dab565b8152602001614a30614dab565b8152602001614a3d614dab565b8152602001614a4a614dab565b8152602001614a57614dab565b8152602001614a64614dab565b8152602001614a71614dab565b8152602001614a7e614dab565b8152602001614a8b614dab565b8152602001614a98614dab565b8152602001614aa5614dab565b8152602001614ab2614dab565b8152602001614abf614dab565b8152602001614acc614dab565b905290565b604051806101e00160405280614ae5614de2565b8152602001614af2614c41565b8152602001614aff614c41565b8152602001614b0c614c41565b8152602001614b19614c41565b8152602001614b26614c41565b8152602001614b33614c41565b8152602001614b40614c41565b8152602001614b4d614c41565b8152602001614b5a614e01565b8152602001614b67614e2f565b8152602001614b74614e4e565b8152602001614b81614cd3565b8152602001614b8e614c41565b8152602001614acc614c41565b604051806101000160405280614baf614c65565b8152602001614bbc614c95565b8152602001614bc9614cd3565b8152602001614bd6614cd3565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806108c001604052806046906020820280368337509192915050565b604051806108c001604052806046905b614c2b614dab565b815260200190600190039081614c235790505090565b60405180608001604052805f81526020015f81526020015f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061032001604052806019906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061052001604052806029906020820280368337509192915050565b60405180610da00160405280606d906020820280368337509192915050565b604051806103a00160405280601d906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b604051806103400160405280601a906020820280368337509192915050565b60405180604001604052805f81526020015f81525090565b604051806101a00160405280600d906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b614e19614d6d565b815260200190600190039081614e115790505090565b6040518061050001604052806028906020820280368337509192915050565b604051806103600160405280601b905b614e66614c41565b815260200190600190039081614e5e5790505090565b5f5f5f5f60408587031215614e8f575f5ffd5b84356001600160401b03811115614ea4575f5ffd5b8501601f81018713614eb4575f5ffd5b80356001600160401b03811115614ec9575f5ffd5b876020828401011115614eda575f5ffd5b6020918201955093508501356001600160401b03811115614ef9575f5ffd5b8501601f81018713614f09575f5ffd5b80356001600160401b03811115614f1e575f5ffd5b8760208260051b8401011115614f32575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176120ca576120ca614f40565b818103818111156120ca576120ca614f40565b808201808211156120ca576120ca614f40565b5f5f85851115614f9f575f5ffd5b83861115614fab575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b5f60018201614fdd57614fdd614f40565b5060010190565b803560208310156120ca575f19602084900360031b1b1692915050565b5f8183825b6009811015615025578151835260209283019290910190600101615006565b5050506101208201905092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261505757615057615035565b500490565b5f8183825b6029811015615080578151835260209283019290910190600101615061565b5050506105208201905092915050565b5f8183825b606d8110156150b4578151835260209283019290910190600101615095565b505050610da08201905092915050565b5f8183825b601d8110156150e85781518352602092830192909101906001016150c9565b5050506103a08201905092915050565b5f8183825b600581101561511c5781518352602092830192909101906001016150fd565b50505060a08201905092915050565b5f8261513957615139615035565b500690565b5f8161514c5761514c614f40565b505f190190565b5f82518060208501845e5f920191825250919050565b5f60208284031215615179575f5ffd5b815180151581146119f4575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b81515f90829060208501835b828110156151c65781518452602093840193909101906001016151a8565b509195945050505050565b5f8183825b600d8110156151f55781518352602092830192909101906001016151d6565b5050506101a08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
4
+ export declare const HonkVerifierBytecode = "0x60e0604052348015600e575f5ffd5b506302000000608052601960a05261040c60c05260805160a05160c05161525d61005a5f395f61063401525f818161073f01528181610d210152610dbd01525f6105d8015261525d5ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004614e7f565b610054565b604051901515815260200160405180910390f35b5f6100626101c86020614f57565b8414610081576040516376ba560560e11b815260040160405180910390fd5b5f61008a6101a5565b90505f61009787876101ba565b9050601082604001516100aa9190614f6e565b84146100c95760405163fa06659360e01b815260040160405180910390fd5b5f6100e0828787865f015187604001516001610513565b90506101308686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050855185516060810151608090910151919350915060016105c2565b815160a001525f6101418383610737565b905080610161576040516313f8744360e31b815260040160405180910390fd5b5f61016d848685610838565b90508061018d576040516352ec174560e11b815260040160405180910390fd5b8180156101975750805b9a9950505050505050505050565b6101ad614957565b6101b56110b5565b905090565b6101c2614ad4565b5f805b6010811015610224576101f18583866101df826020614f81565b926101ec93929190614f94565b61199d565b8351826010811061020457610204614fbb565b60200201818152505060208261021a9190614f81565b91506001016101c5565b50610248848285610236826080614f81565b9261024393929190614f94565b6119fe565b6020830152610258608082614f81565b905061026b848285610236826080614f81565b604083015261027b608082614f81565b905061028e848285610236826080614f81565b606083015261029e608082614f81565b90506102b1848285610236826080614f81565b60c08301526102c1608082614f81565b90506102d4848285610236826080614f81565b60e08301526102e4608082614f81565b90506102f7848285610236826080614f81565b60808084019190915261030a9082614f81565b905061031d848285610236826080614f81565b61010083015261032e608082614f81565b9050610341848285610236826080614f81565b60a0830152610351608082614f81565b90505f5b601c8110156103d0575f5b60088110156103c75761037a8684876101df826020614f81565b84610120015183601c811061039157610391614fbb565b602002015182600881106103a7576103a7614fbb565b6020020181815250506020836103bd9190614f81565b9250600101610360565b50600101610355565b505f5b6028811015610424576103ed8583866101df826020614f81565b836101400151826028811061040457610404614fbb565b60200201818152505060208261041a9190614f81565b91506001016103d3565b505f5b6104336001601c614f6e565b81101561047c5761044b858386610236826080614f81565b83610160015182601b811061046257610462614fbb565b6020020152610472608083614f81565b9150600101610427565b505f5b601c8110156104d0576104998583866101df826020614f81565b83610180015182601c81106104b0576104b0614fbb565b6020020181815250506020826104c69190614f81565b915060010161047f565b506104e2848285610236826080614f81565b6101a08301526104f3608082614f81565b9050610506848285610236826080614f81565b6101c08301525092915050565b61051b614b9e565b5f61052b88888888888887611ace565b908352905061053a8189611b24565b6020840191909152905061054d81611cbe565b604084019190915290506105618882611d1f565b606084019190915290506105758882611df3565b608084019190915290506105898882611e7e565b60a0840191909152905061059d8882611fec565b60c084019190915290506105b1888261205e565b5060e0830152509695505050505050565b5f6001808261060b86610606896106016105fc8a7f0000000000000000000000000000000000000000000000000000000000000000614f81565b6120b5565b6120d3565b6120ec565b90505f610629876106248a6106016105fc8b6001614f81565b612105565b90505f5b61065860107f0000000000000000000000000000000000000000000000000000000000000000614f6e565b8110156106c5575f6106828c838151811061067557610675614fbb565b60200260200101516120b5565b90506106928661060186846120ec565b95506106a28561060185846120ec565b94506106ae848b6120ec565b93506106ba838b612105565b92505060010161062d565b505f5b601081101561072c575f8a82601081106106e4576106e4614fbb565b602002015190506106f98661060186846120ec565b95506107098561060185846120ec565b9450610715848b6120ec565b9350610721838b612105565b9250506001016106c8565b506101978484612134565b5f806001815b7f000000000000000000000000000000000000000000000000000000000000000081101561080e575f86610120015182601c811061077d5761077d614fbb565b602002015190505f61078f8286612142565b9050806107af576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c81106107c6576107c6614fbb565b602002015190506107d7838261215f565b95506107fe886040015185601c81106107f2576107f2614fbb565b6020020151868361230e565b945050505080600101905061073d565b505f610828866101400151865f0151876020015185612339565b90508281145b9695505050505050565b5f61087f6040518061012001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61088d8460a001516123a7565b9050610897614bf7565b61089f614c16565b60e08601516108be906108b990855f5b6020020151612105565b61240c565b60a085015260e08601516108dd906108b990855f5b60200201516120ec565b60c080860182905260a0860151908801516108fc9261060691906120d3565b845260a086015161092a906109109061240c565b6106018660a001516106248a60c001518960c001516120d3565b6020850152600182526101a088015161094290612475565b81526001606085018190525f60808601525b602381116109fa5761097561096b865f01516124b4565b86606001516120d3565b83826046811061098757610987614fbb565b602002015260808501516101408a01516109ca9190610606906109ab600186614f6e565b602881106109bb576109bb614fbb565b602002015188606001516120d3565b8560800181815250506109e5856060015188608001516120d3565b60608601526109f381614fcf565b9050610954565b505f610a0860236001614f81565b90505b60288111610a8957610a2361096b86602001516124b4565b838260468110610a3557610a35614fbb565b602002015260808501516101408a0151610a599190610606906109ab600186614f6e565b856080018181525050610a74856060015188608001516120d3565b6060860152610a8281614fcf565b9050610a0b565b50606087015181600160200201526080870151816002602002015260a0870151816003602002015260c0870151816004602002015260e0870151816005602002015261010087015181600660200201526101208701518160076020020152610140870151816008602002015261016087015181600960200201526101a087015181600a602002015261018087015181600b60200201526101c087015181600c60200201526101e087015181600d602002015261020087015181600e602002015261022087015181600f60200201526102408701518160106020020152610260870151816011602002015261028087015181601260200201526102a087015181601360200201526102c087015181601460200201526102e08701518160156020020152610300870151816016602002015261032087015181601760200201526103408701518160186020020152610360870151816019602002015261038087015181601a60200201526103a087015181601b6020020181905250610c0f8860200151612475565b6103808201526040880151610c2390612475565b6103a08201526060880151610c3790612475565b6103c08201526080880151610c4b90612475565b6103e082015260a0880151610c5f90612475565b610400820152610100880151610c7490612475565b61042082015260c0880151610c8890612475565b61044082015260e0880151610c9c90612475565b6104608201526020880151610cb090612475565b6104808201526040880151610cc490612475565b6104a08201526060880151610cd890612475565b6104c08201526080880151610cec90612475565b6104e082015260a0880151610d0090612475565b610500820152606086015160808501516101808a01515f92610d45929091877f00000000000000000000000000000000000000000000000000000000000000006124cc565b805160a0870151919250610d58916120d3565b604086018190526101808a01515160c0890151610d88929161060691610d7e91906120d3565b8860c001516120d3565b604086015260c0870151610d9b906125e7565b60608601525f5b610dae6001601c614f6e565b811015610fb0575f610de160017f0000000000000000000000000000000000000000000000000000000000000000614f6e565b821015905080610f5657610e146108b98a60e0015188856001610e049190614f81565b601c81106108af576108af614fbb565b60a088015260e0890151610e42906108b99088610e32866001614f81565b601c81106108d3576108d3614fbb565b60c0880152606087015160a0880151610e5b91906120d3565b60e0880152606087015160c08a0151610e7791610d7e916120d3565b6101008801819052610e9990610e8c906124b4565b6106068960e001516124b4565b8583610ea760286001614f81565b610eb19190614f81565b60468110610ec157610ec1614fbb565b60200201526101008701516101808c01515f91610efd91610ee3866001614f81565b601c8110610ef357610ef3614fbb565b60200201516120d3565b9050610f19816106068a60e0015187876001610ee39190614f81565b9050610f298860400151826120ec565b6040890152606088015160c08b0151610f4f91610f45916120d3565b8b60c001516120d3565b6060890152505b610f7a8b610160015183601b8110610f7057610f70614fbb565b6020020151612475565b8483610f8860286001614f81565b610f929190614f81565b60468110610fa257610fa2614fbb565b602002015250600101610da2565b5060408051808201909152600181526002602082015282610fd3601c6028614f81565b60468110610fe357610fe3614fbb565b6020020152604085015183610ffa601c6028614f81565b6046811061100a5761100a614fbb565b60200201526101c08901515f9061102090612475565b90508083611030601c6028614f81565b61103b906001614f81565b6046811061104b5761104b614fbb565b602002015260e088015184611062601c6028614f81565b61106d906001614f81565b6046811061107d5761107d614fbb565b60200201525f61108d84866125f2565b90505f611099836126b8565b90506110a582826126fe565b9c9b505050505050505050505050565b6110bd614957565b50604080516103c08101825263020000008152601960208083019190915261040c82840152825180840184527f1d3f6c4f254599191da5308cb600563f25cc189302fda1ff974624cb766507c881527f29ea062935de86e3e730b3d5a9ff1812c90415e0d36391ebba23723a966bdb3a818301526060830152825180840184527f226d7967352d2d66bea3bdfc710737c648886e245e3d17472631e3ba704045ab81527f28f58220d322790460baccd2f57415b2af4050c2cc19b9f75f8f76a4df27d3e2818301526080830152825180840184527f305cffa652147dbb78e56538d95cbc8f1ef72558daacf5641592efa8474e7db481527f2c2b9023386a94f5018a7f5ae185b188bca5784b7d5ec25e333fe131c3fe71308183015260a0830152825180840184527f0bdda4989b79f2d12e9716d6a0398fff6ffd07a21ab01037bb5d576f1e79601d81527f2175c971d1c1e4d244287b57859ffaa657efd308331c3bc4b3aeacaa585caf7b8183015260c0830152825180840184527f06361975e858c40f41732defd018ea1744c903ed913e5395a75b4619f1e52c1181527f03fa3276f24a5610f4e89fdb196aa4d58e682363e3db74ab74cef6dc0cce8ff08183015260e0830152825180840184527f11519bd8c9baf4e5dfaf2202b477ddd2a71642958e6d344d988b21fc0462c0ad81527f19e87b75a14f428110d402370835a77dd922212bca240b3a3de4c576896b990a81830152610100830152825180840184527f25a5859635c879aab2434f0abb7d4d49ee8c6caab3e0be1e5dcc5b20164f96ef81527f2b8c29f921dad7a6b79c13d62ad140d6b2d14c0723f5650775209438e58af12281830152610120830152825180840184527f169ade294e42e1bd18710d07147cc925a5a907b94fad4d2b811c3fc1354178f681527f029208937f2fdc496e8c7dbb5b44b32bb9d21dd100fccfdc7c4eb2f17272fc5481830152610140830152825180840184527f1d03f655954abc2e44a3e196ad331169aa61a005b2c0a8b6dd77aad7231769b781527f1cf9e000661d05f92c789cd242b7bf2879a1af25b2c59951b07d0095422c857981830152610160830152825180840184527f1661de4b3d5bc0a131b65cb2cddc0f73881b1a2a6cb3db70a3857900ed5edde581527f15e16951b86c6a1b86fb300df8fb10d41f5a393b190bdc54596d479495245b6881830152610180830152825180840184527f0a1803388e0820afcf10c9472c4a3055676772b0a25613df9f93405047563cc581527f0e0e157900d8247babb08961c290849fcec5dfe670cbee084294ffd5c9159e06818301526101a0830152825180840184527f178d04d500c4b1f6a3fb28232a88170bcda963fbe8a84b3a4367609557b54ba581527f0e7554f46e23aa8bfce4f844400eee5b9b3d275eb5e779f34659c84dad1b96ed818301526101c0830152825180840184527f1c59941775788d0eefe58d0cdc800712c27634f24affe5785c4a625ee02328ba81527f29e83885ac4f11cb4395d1c3aa9a3aa613bd848eec0eda011a9af7899c38bf63818301526101e0830152825180840184527f0b366bc769bab4d043b40818007136a960ffb2aba6067d8aa5b3e151094a00bb81527f2aad7cf160a1153e4f27b21689783932ad785c4bfe15b1bcd7e9645167f1713981830152610200830152825180840184527f090e5587dbb6f81a4e3145e0d6c0a27332eeccd1dbc7d8977e0f091543edb2f381527f02ce04233461716a9b1de69dda59084852efe322b51652daf920590bf4dfd34581830152610220830152825180840184527f1a6db67136003e3d08d5883fa3c9f7819c1d160911668619a7a9bfba07d07f1681527f2bddf26be606ea79dd5619256ea5d1fe84ceba529a3c9c0733ad10ca77ffa92481830152610240830152825180840184527f0cd7e9193db0842ae6a24411e01e706b94f685c362161f2d749a03b9153bfe4781527f07cec05beeed56897b6aae42f043781e41dbd3cb47889dd067e4337f2c77958681830152610260830152825180840184527f0f0b9aa54219a10be5e672717c4fed3486741da8971156ac4ed09b64823af68d81527f03be510c10715e1088ede62a4472ea74f99a6c5e57603a2f9d19b39075d578a181830152610280830152825180840184527f1e2e2caca3cc826e8a9c8379b88ef042bfd2af0e96da2c843fb41b8f739ba4e481527f018a6eae54c193b4cecd708547c8df037a004f3d7c9cde108c5e3d01fe8b63cb818301526102a0830152825180840184527f1603c7af8ae49f4e2243dc7fba3ac4f69c9896473edeea29320cc67dd26512ca81527f2feaa7a7b9ea3f0fc830e22d76e710f5ad9cc2308f0e5d943bced8c5e61511a3818301526102c0830152825180840184527f2b2bc8e723c93a8e2ddefa89be6199d18ee2b6cd8c34ed6029123afc0594463381527f1f0708dc0b3ae49b687990ee35732057e9aa9aeb8d7174c9be0212710a4875ec818301526102e0830152825180840184527f2f4e0e73619e22e05200bd9de4ea73a3fc38ac033787e58016ef8f6e0c20b1fb81527f2f2b94d720217b157176b458c9d8f1b192a1466618a7901bce7f435a1edd6da181830152610300830152825180840184527f2003a0aec140164182e4ff65e13c9fd005e08922f739d8b6423dcf8fa26f9ec281527f13793b4ea820fac86bf339259e4c76e9e5a49a35f7c1a1ccf7f2ed9e0215748881830152610320830152825180840184527f1abe3e80fbe4e7e479e25e018648cfbf398a6057281cecf3c3a76f220a62474081527f29a28edb5e574311167384f452aa8112795513c8c164fcbcd592386a7fbfc33381830152610340830152825180840184527f21ad8f9bf46d94bf9d93469d756464c74999dbb805c6ab7b2bfcb5c3a495c81081527f224803cf8531674748532f90c6a2a835030a07111344dc02418159a6178927a881830152610360830152825180840184526001815260028183015261038083015282518084019093527f07b0c95648ca8135e093b45e15d0d350ed23b4c49ebd99113de222681ef4c62183527f19b758cc3a695fa42efc8c049481eb4f70f44b29f4e4cf673edeeda6d65dd6de908301526103a081019190915290565b5f602082146119ea5760405162461bcd60e51b815260206004820152601460248201527334b73b30b634b210313cba32b99039b1b0b630b960611b60448201526064015b60405180910390fd5b6119f76105fc8385614fe7565b9392505050565b611a06614c44565b60808214611a4c5760405162461bcd60e51b81526020600482015260136024820152721a5b9d985b1a5908189e5d195cc81c1bda5b9d606a1b60448201526064016119e1565b604080516080810190915280611a6560205f8688614f94565b611a6e91614fe7565b8152602090810190611a84906040908688614f94565b611a8d91614fe7565b8152602001611aa0606060408688614f94565b611aa991614fe7565b8152602001611abc608060608688614f94565b611ac591614fe7565b90529392505050565b611ad6614c68565b5f611ae5898989898989612902565b604086019190915260208501919091529083529250611b04838a612da8565b608085019190915260608401919091529199919850909650505050505050565b611b2c614c98565b5f611b35614cb7565b848152610100848101805151602080850191909152815181015160408086019190915282518101516060808701919091529251830151608086015260a080890180515191870191909152805183015160c0870152805182015160e087015251909201519284019290925251611bcb91611bb091849101615004565b604051602081830303815290604052805190602001206120b5565b9150611bd682612e77565b6020850152835260015b611bec6002601961504c565b811015611c6c57611c0983604051602001611bb091815260200190565b9250611c1483612e77565b85611c20846002614f57565b60198110611c3057611c30614fbb565b6020020186611c40856002614f57565b611c4b906001614f81565b60198110611c5b57611c5b614fbb565b602002019190915252600101611be0565b50611c8382604051602001611bb091815260200190565b91505f611c8f83612e77565b85611c9c60016019614f6e565b60198110611cac57611cac614fbb565b60200201919091525050509250929050565b611cc6614cd6565b5f805b601c811015611d1857611ce884604051602001611bb091815260200190565b93505f611cf485612e77565b8584601c8110611d0657611d06614fbb565b60200201919091525050600101611cc9565b5090929050565b611d27614cd6565b5f805b601c811015611dea57611d3b614cb7565b8481525f5b6008811015611da45786610120015183601c8110611d6057611d60614fbb565b60200201518160088110611d7657611d76614fbb565b602002015182611d87836001614f81565b60098110611d9757611d97614fbb565b6020020152600101611d40565b50611db981604051602001611bb09190615004565b94505f611dc586612e77565b8685601c8110611dd757611dd7614fbb565b6020020191909152505050600101611d2a565b50909391925050565b5f5f611dfd614cf5565b8381525f5b6028811015611e50578561014001518160288110611e2257611e22614fbb565b602002015182611e33836001614f81565b60298110611e4357611e43614fbb565b6020020152600101611e02565b50611e6581604051602001611bb0919061505f565b91505f611e7183612e77565b5096929550919350505050565b5f5f611e88614d14565b8381525f5b611e996001601c614f6e565b811015611fd75785610160015181601b8110611eb757611eb7614fbb565b60200201515182611ec9836004614f57565b611ed4906001614f81565b606d8110611ee457611ee4614fbb565b602002015261016086015181601b8110611f0057611f00614fbb565b60200201516020015182826004611f179190614f57565b611f22906002614f81565b606d8110611f3257611f32614fbb565b602002015261016086015181601b8110611f4e57611f4e614fbb565b60200201516040015182611f63836004614f57565b611f6e906003614f81565b606d8110611f7e57611f7e614fbb565b602002015261016086015181601b8110611f9a57611f9a614fbb565b60200201516060015182611faf836004614f57565b611fba906004614f81565b606d8110611fca57611fca614fbb565b6020020152600101611e8d565b50611e6581604051602001611bb09190615093565b5f5f611ff6614d33565b8381525f5b601c8110156120495785610180015181601c811061201b5761201b614fbb565b60200201518261202c836001614f81565b601d811061203c5761203c614fbb565b6020020152600101611ffb565b50611e6581604051602001611bb091906150c7565b5f5f612068614d52565b8381526101a085018051516020808401919091528151810151604080850191909152825181015160608086019190915292519092015160808401529051611e6591611bb0918491016150fb565b5f6120cd5f51602061523d5f395f51905f528361512e565b92915050565b5f5f51602061523d5f395f51905f528284099392505050565b5f5f51602061523d5f395f51905f528284089392505050565b5f5f51602061523d5f395f51905f5261212b835f51602061523d5f395f51905f52614f6e565b84089392505050565b5f6119f7836106018461240c565b81515f908190612154908560016108d3565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b60088110156122465761223c826106018784612105565b9150600101612225565b5061224f614d70565b5f5b60088110156122b0575f84826008811061226d5761226d614fbb565b60200201519050612282816106018985612105565b905061228d8161240c565b9050808383600881106122a2576122a2614fbb565b602002015250600101612251565b505f5b6008811015612303575f8782600881106122cf576122cf614fbb565b602002015190506122ec81848460088110610ef357610ef3614fbb565b90506122f886826120ec565b9550506001016122b3565b5061082e84836120d3565b5f5f612324600161060685610601896001612105565b905061233084826120d3565b95945050505050565b5f612342614d8f565b61234d868285612ea7565b61235986868386613053565b6123658686838661323b565b612370868285613437565b61237b86828561361f565b61238786868386613968565b612392868285614202565b61239d8682856145cd565b61082e81856148c2565b6123af614cd6565b81815260015b601c811015612406576123e7826123cd600184614f6e565b601c81106123dd576123dd614fbb565b60200201516125e7565b8282601c81106123f9576123f9614fbb565b60200201526001016123b5565b50919050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f51602061523d5f395f51905f520360808201525f51602061523d5f395f51905f5260a082015260205f60c08360055afa90508061246a575f5ffd5b50505f519392505050565b61247d614dae565b604051806040016040528060888460200151901b845f015117815260200160888460600151901b8460400151178152509050919050565b5f6120cd825f51602061523d5f395f51905f52614f6e565b6124d4614cd6565b601c5b80156125dd575f846124ea600184614f6e565b601c81106124fa576124fa614fbb565b602002015190505f8861250e600185614f6e565b601c811061251e5761251e614fbb565b602002015190505f61257961253d612536858c6120d3565b60026120d3565b6106248a61254c600189614f6e565b601c811061255c5761255c614fbb565b60200201516106016125738861060160018a612105565b87612105565b905061259a816106016108b961259487610601600189612105565b866120ec565b90508584116125c95797508780856125b3600187614f6e565b601c81106125c3576125c3614fbb565b60200201525b505050806125d690615141565b90506124d7565b5095945050505050565b5f6120cd82836120d3565b6125fa614dae565b5f612607601c6028614f81565b612612906002614f81565b90506001604051855151604082015285516020015160608201528451608082015260408160606040840160075afa8216915060015b838110156126a05760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612647565b50805184526020810151602085015250505092915050565b6126c0614dae565b5f51602061521d5f395f51905f5282602001515f51602061521d5f395f51905f526126eb9190614f6e565b6126f5919061512e565b60208301525090565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516128949190615156565b5f60405180830381855afa9150503d805f81146128cc576040519150601f19603f3d011682016040523d82523d5f602084013e6128d1565b606091505b50915091505f818060200190518101906128eb919061516c565b90508280156128f75750805b979650505050505050565b5f80808080612912876003614f81565b61291d90600c614f81565b6001600160401b038111156129345761293461518b565b60405190808252806020026020018201604052801561295d578160200160208202803683370190505b509050875f1b815f8151811061297557612975614fbb565b602002602001018181525050865f1b8160018151811061299757612997614fbb565b602002602001018181525050855f1b816002815181106129b9576129b9614fbb565b60209081029190910101525f5b6129d1601089614f6e565b811015612a22578a8a828181106129ea576129ea614fbb565b90506020020135828260036129ff9190614f81565b81518110612a0f57612a0f614fbb565b60209081029190910101526001016129c6565b505f5b6010811015612a93578b51612a4d908260108110612a4557612a45614fbb565b602002015190565b82826010612a5c8c6003614f81565b612a669190614f6e565b612a709190614f81565b81518110612a8057612a80614fbb565b6020908102919091010152600101612a25565b5060208b01515181612aa6896003614f81565b81518110612ab657612ab6614fbb565b6020908102919091018101919091528b810151015181612ad7896003614f81565b612ae2906001614f81565b81518110612af257612af2614fbb565b6020908102919091018101919091528b01516040015181612b14896003614f81565b612b1f906002614f81565b81518110612b2f57612b2f614fbb565b6020908102919091018101919091528b01516060015181612b51896003614f81565b612b5c906003614f81565b81518110612b6c57612b6c614fbb565b602090810291909101015260408b01515181612b89896003614f81565b612b94906004614f81565b81518110612ba457612ba4614fbb565b60209081029190910181019190915260408c0151015181612bc6896003614f81565b612bd1906005614f81565b81518110612be157612be1614fbb565b60209081029190910101526040808c0151015181612c00896003614f81565b612c0b906006614f81565b81518110612c1b57612c1b614fbb565b602090810291909101015260408b01516060015181612c3b896003614f81565b612c46906007614f81565b81518110612c5657612c56614fbb565b602090810291909101015260608b01515181612c73896003614f81565b612c7e906008614f81565b81518110612c8e57612c8e614fbb565b60209081029190910181019190915260608c0151015181612cb0896003614f81565b612cbb906009614f81565b81518110612ccb57612ccb614fbb565b602090810291909101015260608b01516040015181612ceb896003614f81565b612cf690600a614f81565b81518110612d0657612d06614fbb565b60209081029190910101526060808c0151015181612d25896003614f81565b612d3090600b614f81565b81518110612d4057612d40614fbb565b602002602001018181525050612d6081604051602001611bb0919061519f565b9150612d6b82612e77565b6040805160208101869052929750909550612d869101611bb0565b91505f612d9283612e77565b50959c949b509499509097509195505050505050565b5f5f5f612db3614dc6565b85815260c085810180515160208085019190915281518101516040808601919091528251810151606080870191909152925183015160808087019190915260e0808b0180515160a089015280518501519688019690965285518301519087015293518301516101008601529288018051516101208601528051820151610140860152805184015161016086015251909101516101808401529051612e5d91611bb0918491016151d4565b9150612e6882612e77565b90979096509194509092505050565b5f80826001600160801b038116608082901c612e92826120b5565b9450612e9d816120b5565b9350505050915091565b5f612eb3846007614927565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f612f14612f0e612ee8856003612105565b610601612f03612ef88b5f614927565b6106018c601c614927565b6106018b601b614927565b836120d3565b9050612f95612f8a612f71612f58612f3f85610606612f348d6002614927565b6106018e601b614927565b610606612f4d8c6003614927565b6106018d601c614927565b610606612f668b6004614927565b6106018c601d614927565b610606612f7f8a6005614927565b6106018b601e614927565b610606886001614927565b9050612fb481610606612fa9866001612105565b6106018a6026614927565b9050612fc081846120d3565b9050612fcc81856120d3565b8552505f9050613006612ffc612ff1612fe688601b614927565b61060689601e614927565b610624886023614927565b610606875f614927565b905061301781610601846002612105565b905061302881610601846001612105565b905061303481836120d3565b905061304081846120d3565b9050808460015b60200201525050505050565b5f5f5f61308961307f61306789601b614927565b6106066130758b6011614927565b8a606001516120d3565b87608001516120ec565b90506130c2816106016130b86130a08b601c614927565b6106066130ae8d6012614927565b8c606001516120d3565b89608001516120ec565b90506130e7816106016130b86130d98b601d614927565b6106066130ae8d6013614927565b905061310c816106016130b86130fe8b601e614927565b6106066130ae8d6014614927565b92505f905061313061307f61312289601b614927565b6106066130758b600d614927565b9050613155816106016130b86131478b601c614927565b6106066130ae8d600e614927565b905061317a816106016130b861316c8b601d614927565b6106066130ae8d600f614927565b905061319f816106016130b86131918b601e614927565b6106066130ae8d6010614927565b91505f90506131c66131c06131b589601f614927565b6106068a6019614927565b846120d3565b90506131fb816106246131f56131dd8b6027614927565b6106066131eb8d601a614927565b8c60a001516120d3565b856120d3565b905061320781856120d3565b6040860152505f61322a6131f561321f89601a614927565b6106018a6027614927565b606090950194909452505050505050565b5f5f6132996132816132696132546130b88a6015614927565b6106066132628b6016614927565b8a516120d3565b6106066132778a6017614927565b89602001516120d3565b61060661328f896018614927565b88604001516120d3565b91505f6132d06132b76132ad89601b614927565b88608001516120ec565b6106066132c58a6003614927565b6106018b6023614927565b90505f6132f96132e189601c614927565b6106066132ee8b5f614927565b6106018c6024614927565b90505f61332361330a8a601d614927565b6106066133188c6001614927565b6106018d6025614927565b905061336261334a61333c85610606868d5f01516120d3565b610606848c602001516120d3565b6106066133588c6004614927565b8b604001516120d3565b93505050505f6133766131c0886020614927565b90505f6133876131c0896020614927565b90505f6133bf6133a661339b8b6022614927565b6106068c6006614927565b6106246133b48c6022614927565b6106018d6006614927565b90505f6133e36133dd6133d287896120d3565b6106018d6020614927565b83612105565b90506133ef81886120d3565b90505f6134176134096134038d6006614927565b876120d3565b6106246134038e6021614927565b60808a018390529050808960055b60200201525050505050505050505050565b5f6134435f6001612105565b90505f6134515f6002612105565b90505f61345f5f6003612105565b90505f61347b61347088601c614927565b61062489601b614927565b90505f61349761348c89601d614927565b6106248a601c614927565b90505f6134b36134a88a601e614927565b6106248b601d614927565b90505f6134cf6134c48b6023614927565b6106248c601e614927565b9050836134e081610601818b6120ec565b90506134f081610601878a6120ec565b90506135008161060187896120ec565b9050613511816106018d6008614927565b905061351d818a6120d3565b60c08b0152508261353281610601818b6120ec565b905061354281610601868a6120ec565b90506135528161060186896120ec565b9050613563816106018d6008614927565b905061356f818a6120d3565b60e08b0152508161358481610601818b6120ec565b905061359481610601858a6120ec565b90506135a48161060185896120ec565b90506135b5816106018d6008614927565b90506135c1818a6120d3565b6101008b015250806135d781610601818b6120ec565b90506135e781610601848a6120ec565b90506135f78161060184896120ec565b9050613608816106018d6008614927565b9050613614818a6120d3565b9050808a6009613425565b6136586040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61366384601c614927565b815261367084601d614927565b6020820152613680846023614927565b6040820152613690846026614927565b60608201526136a0846025614927565b60808201526136b0846024614927565b60a08201525f6136c1856002614927565b90505f6136ce865f614927565b90505f6136e28460400151855f0151612105565b90505f6136f7856020015186602001516120d3565b606086015190915086905f9061370d90806120d3565b90505f61372b61372589602001518a606001516120d3565b886120d3565b90505f61374a6137438a60a001518b604001516120ec565b8a516120ec565b905061375961340382886120d3565b905061378061377a61377461376e8487612105565b88612105565b846120ec565b836120ec565b90506137a861379d61379283876120d3565b6106018f6009614927565b61060160018a612105565b6101408c015250505050602085015160808601515f916137c7916120ec565b90505f6137e56137db8860600151886120d3565b8860200151612105565b90505f6138096137f584876120d3565b6106066131f58b60a001518c5f0151612105565b905061383161382661381b838c6120d3565b6106018e6009614927565b610601600189612105565b6101608b0152505f9150613852905061384b8360116120ec565b87516120d3565b90505f61385f83846120ec565b905061386b81826120ec565b90505f6138798360096120d3565b90506138a261389c6131c06138958b60a001518c5f01516120ec565b8b516120ec565b82612105565b60c089018190525f906138bd9061372590613792908d6120d3565b90506138d08b600a6020020151826120ec565b6101408c0152505086515f92506138f7915061384b906138f090806120ec565b88516120ec565b90505f613937613912836106018a5f01518b60a00151612105565b60208901516106249061392590806120ec565b6106018b602001518c608001516120ec565b905061395489600b6020020151610606613725613792858d6120d3565b89600b602002015250505050505050505050565b6139fc604051806102c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613a31613a18613a0d87601b614927565b610601886024614927565b610606613a26886023614927565b61060189601c614927565b8152613a76613a6b613a52613a4788601b614927565b61060189601e614927565b610606613a6089601c614927565b6106018a601d614927565b610624876025614927565b60408201819052613a8b90600160441b6120d3565b60408201819052613aa190610624876026614927565b604082018190528151613ab491906120ec565b60408201819052613aca90610601876005614927565b60408201528051613adf90600160441b6120d3565b808252613aff90610606613af4886023614927565b610601896024614927565b80825260208201819052613b1b90610624612fe688601d614927565b60208201819052613b3190610601876004614927565b6020820152805160608201819052613b4e9061060687601e614927565b60608201819052613b7290610624613b67886025614927565b610606896026614927565b60608201819052613b8790610601875f614927565b8160600181815250505f613bb0613ba6836020015184604001516120ec565b83606001516120ec565b9050613bc181610601886003614927565b9050613bd9613bd1876024614927565b6140006120d3565b60808301819052613bef90610606886023614927565b60808301819052613c02906140006120d3565b60808301819052613c189061060688601d614927565b60808301819052613c2b906140006120d3565b60808301819052613c419061060688601c614927565b60808301819052613c54906140006120d3565b60808301819052613c6a9061060688601b614927565b60808301819052613c809061062488601e614927565b60808301819052613c9690610601886005614927565b6080830152613ca9613bd1876025614927565b60a08301819052613cbf90610606886024614927565b60a08301819052613cd2906140006120d3565b60a08301819052613ce890610606886023614927565b60a08301819052613cfb906140006120d3565b60a08301819052613d119061060688601e614927565b60a08301819052613d24906140006120d3565b60a08301819052613d3a9061060688601d614927565b60a08301819052613d5090610624886026614927565b60a08301819052613d6590610601885f614927565b60a0830181905260808301515f91613d7d91906120ec565b9050613d8e81610601896004614927565b9050613da8613d9e88601d614927565b87604001516120d3565b60c08401819052613dc1906106066132778a601c614927565b60c08401819052613de190610606613dda8a601b614927565b89516120d3565b60c08401819052613df790610606896001614927565b60c0840181905260e08401819052613e149061062489601e614927565b60c0840152613e27613470886023614927565b610140840152613e46613e3b886026614927565b61062489601e614927565b610120840152610140830151613e6b90613e6090806120d3565b846101400151612105565b610280840152610140830151613ead90613ea290613e9b9061060160015f51602061523d5f395f51905f52614f6e565b60016120ec565b8461012001516120d3565b6101608401819052613ee490613ed690610601613ecb8b6002614927565b6106018c6003614927565b6106016134038a600a614927565b6101a0860152610280830151613f0690613ed690610601613ecb8b6002614927565b6101c086015260c0830151613f2e90610601613f238a6002614927565b6106018b6003614927565b6101e08401525f613f4d613f4389601e614927565b8560e00151612105565b9050613f5c61389c82836120d3565b6101a0850152613f7061328f896025614927565b6101008501819052613f9490610606613f8a8b6024614927565b8a602001516120d3565b6101008501819052613fae906106066132628b6023614927565b610100850152613fcd613fc2896026614927565b856101000151612105565b6101008501525f613fe26134a88a6025614927565b9050614036614010612f0e613e9b88610140015160015f51602061523d5f395f51905f526106019190614f6e565b610601613e9b88610100015160015f51602061523d5f395f51905f526106019190614f6e565b61018086015261010085015161405b9061405090806120d3565b866101000151612105565b6101c086015261018085015161408e9061407a906106018c6007614927565b6106016140888c600a614927565b896120d3565b6101e08801526102808501516140ad9061407a906106018c6007614927565b6102008801526101c08501516140cc9061407a906106018c6007614927565b6102208801526101a08501516140e7906106018b6007614927565b6102008601526141066140fb8a6024614927565b6106248b601c614927565b610220860152610140850151614145906134a89061413a90613e9b9061060160015f51602061523d5f395f51905f52614f6e565b8761022001516120d3565b61024086018190526101e0860151610260870181905261417c91610606906106016141718e6005614927565b6106018f6002614927565b610260860181905260c086015161419f9190610606906106016141718e5f614927565b61026086018190526102008601516141b791906120ec565b61026086018190526141cd9061377490866120ec565b6102a086018190526141e7906106016140888c600a614927565b6102a0860181905287600c6020020152505050505050505050565b6142786040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61429161428685601b614927565b610606866002614927565b81526142ac6142a185601c614927565b610606866003614927565b60208201526142ca6142bf85601d614927565b610606866004614927565b60408201526142e86142dd85601e614927565b610606866005614927565b6060820152805161431a906143139061430c9061430590806120d3565b84516120d3565b83516120d3565b82516120d3565b608082015260208101516143589061434e906143449061433a90806120d3565b84602001516120d3565b83602001516120d3565b82602001516120d3565b60a082015260408101516143969061438c906143829061437890806120d3565b84604001516120d3565b83604001516120d3565b82604001516120d3565b60c082015260608101516143d4906143ca906143c0906143b690806120d3565b84606001516120d3565b83606001516120d3565b82606001516120d3565b60e0820152608081015160a08201516143ed91906120ec565b61010082015260c081015160e082015161440791906120ec565b61012082015260a081015161442b9061442090806120ec565b8261012001516120ec565b61014082015260e081015161444f9061444490806120ec565b8261010001516120ec565b61016082015261012081015161446590806120ec565b6101e082018190526144869061447b90806120ec565b8261016001516120ec565b6101e082015261010081015161449c90806120ec565b6101a082018190526144bd906144b290806120ec565b8261014001516120ec565b6101a082018190526101608201516144d4916120ec565b6101808201526101408101516101e08201516144f091906120ec565b6101c0820152614504612f0e85600b614927565b610200820181905261024084015161018083015161452f9261060691610601906106248a6023614927565b836012602002015261455f8360136020020151610606836102000151610601856101a001516106248a6024614927565b836013602002015261458f8360146020020151610606836102000151610601856101c001516106248a6025614927565b83601460200201526145bf8360156020020151610606836102000151610601856101e001516106248a6026614927565b836015602002015250505050565b61461f6040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60405180608001604052806146547f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e76120b5565b81526020016146827f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b6120b5565b81526020016146af7e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac156120b5565b81526020016146dd7f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b6120b5565b905290506146fa6146ef86601b614927565b610606876002614927565b610120830181905261472e9061472390613ea29061471890806120d3565b8561012001516120d3565b8361012001516120d3565b825261473b85601c614927565b602083015261474b85601d614927565b604083015261475b85601e614927565b60608301528151602083015161478391613ba69161477991906120ec565b84604001516120ec565b60808301526147966131c086600c614927565b61014083015281516147b7906147ad90835f610ef3565b83608001516120ec565b60a08301526147e384601660200201516106068461014001516106018660a001516106248b6023614927565b6102c085015260208201516147fe906147ad90836001610ef3565b60c083015261482a84601760200201516106068461014001516106018660c001516106248b6024614927565b6102e08501526040820151614845906147ad90836002610ef3565b60e083015261487184601860200201516106068461014001516106018660e001516106248b6025614927565b610300850152606082015161488c906147ad90836003610ef3565b6101008301526148ba84601960200201516106068461014001516106018661010001516106248b6026614927565b846019613047565b5f6148ce8184816108d3565b905060015b601a81101561492057614916826106068684601a81106148f5576148f5614fbb565b602002015186614906600187614f6e565b60198110610ef357610ef3614fbb565b91506001016148d3565b5092915050565b5f8282602781111561493b5761493b615208565b6028811061494b5761494b614fbb565b60200201519392505050565b604051806103c001604052805f81526020015f81526020015f815260200161497d614dae565b815260200161498a614dae565b8152602001614997614dae565b81526020016149a4614dae565b81526020016149b1614dae565b81526020016149be614dae565b81526020016149cb614dae565b81526020016149d8614dae565b81526020016149e5614dae565b81526020016149f2614dae565b81526020016149ff614dae565b8152602001614a0c614dae565b8152602001614a19614dae565b8152602001614a26614dae565b8152602001614a33614dae565b8152602001614a40614dae565b8152602001614a4d614dae565b8152602001614a5a614dae565b8152602001614a67614dae565b8152602001614a74614dae565b8152602001614a81614dae565b8152602001614a8e614dae565b8152602001614a9b614dae565b8152602001614aa8614dae565b8152602001614ab5614dae565b8152602001614ac2614dae565b8152602001614acf614dae565b905290565b604051806101e00160405280614ae8614de5565b8152602001614af5614c44565b8152602001614b02614c44565b8152602001614b0f614c44565b8152602001614b1c614c44565b8152602001614b29614c44565b8152602001614b36614c44565b8152602001614b43614c44565b8152602001614b50614c44565b8152602001614b5d614e04565b8152602001614b6a614e32565b8152602001614b77614e51565b8152602001614b84614cd6565b8152602001614b91614c44565b8152602001614acf614c44565b604051806101000160405280614bb2614c68565b8152602001614bbf614c98565b8152602001614bcc614cd6565b8152602001614bd9614cd6565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806108c001604052806046906020820280368337509192915050565b604051806108c001604052806046905b614c2e614dae565b815260200190600190039081614c265790505090565b60405180608001604052805f81526020015f81526020015f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061032001604052806019906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061052001604052806029906020820280368337509192915050565b60405180610da00160405280606d906020820280368337509192915050565b604051806103a00160405280601d906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b604051806103400160405280601a906020820280368337509192915050565b60405180604001604052805f81526020015f81525090565b604051806101a00160405280600d906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b614e1c614d70565b815260200190600190039081614e145790505090565b6040518061050001604052806028906020820280368337509192915050565b604051806103600160405280601b905b614e69614c44565b815260200190600190039081614e615790505090565b5f5f5f5f60408587031215614e92575f5ffd5b84356001600160401b03811115614ea7575f5ffd5b8501601f81018713614eb7575f5ffd5b80356001600160401b03811115614ecc575f5ffd5b876020828401011115614edd575f5ffd5b6020918201955093508501356001600160401b03811115614efc575f5ffd5b8501601f81018713614f0c575f5ffd5b80356001600160401b03811115614f21575f5ffd5b8760208260051b8401011115614f35575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176120cd576120cd614f43565b818103818111156120cd576120cd614f43565b808201808211156120cd576120cd614f43565b5f5f85851115614fa2575f5ffd5b83861115614fae575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b5f60018201614fe057614fe0614f43565b5060010190565b803560208310156120cd575f19602084900360031b1b1692915050565b5f8183825b6009811015615028578151835260209283019290910190600101615009565b5050506101208201905092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261505a5761505a615038565b500490565b5f8183825b6029811015615083578151835260209283019290910190600101615064565b5050506105208201905092915050565b5f8183825b606d8110156150b7578151835260209283019290910190600101615098565b505050610da08201905092915050565b5f8183825b601d8110156150eb5781518352602092830192909101906001016150cc565b5050506103a08201905092915050565b5f8183825b600581101561511f578151835260209283019290910190600101615100565b50505060a08201905092915050565b5f8261513c5761513c615038565b500690565b5f8161514f5761514f614f43565b505f190190565b5f82518060208501845e5f920191825250919050565b5f6020828403121561517c575f5ffd5b815180151581146119f7575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b81515f90829060208501835b828110156151c95781518452602093840193909101906001016151ab565b509195945050505050565b5f8183825b600d8110156151f85781518352602092830192909101906001016151d9565b5050506101a08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
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,+2yCAA+2yC,CAAC;AACj5yC;;GAEG;AACH,eAAO,MAAM,0BAA0B,IAAc,CAAC"}
1
+ {"version":3,"file":"HonkVerifierBytecode.d.ts","sourceRoot":"","sources":["../src/HonkVerifierBytecode.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,oBAAoB,q3yCAAq3yC,CAAC;AACv5yC;;GAEG;AACH,eAAO,MAAM,0BAA0B,IAAc,CAAC"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * HonkVerifier bytecode.
3
- */ export const HonkVerifierBytecode = "0x60e0604052348015600e575f5ffd5b506302000000608052601960a05261040c60c05260805160a05160c05161525a61005a5f395f61063401525f818161073f01528181610d210152610dbd01525f6105d8015261525a5ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004614e7c565b610054565b604051901515815260200160405180910390f35b5f6100626101c86020614f54565b8414610081576040516376ba560560e11b815260040160405180910390fd5b5f61008a6101a5565b90505f61009787876101ba565b9050601082604001516100aa9190614f6b565b84146100c95760405163fa06659360e01b815260040160405180910390fd5b5f6100e0828787865f015187604001516001610513565b90506101308686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050855185516060810151608090910151919350915060016105c2565b815160a001525f6101418383610737565b905080610161576040516313f8744360e31b815260040160405180910390fd5b5f61016d848685610838565b90508061018d576040516352ec174560e11b815260040160405180910390fd5b8180156101975750805b9a9950505050505050505050565b6101ad614954565b6101b56110b5565b905090565b6101c2614ad1565b5f805b6010811015610224576101f18583866101df826020614f7e565b926101ec93929190614f91565b61199a565b8351826010811061020457610204614fb8565b60200201818152505060208261021a9190614f7e565b91506001016101c5565b50610248848285610236826080614f7e565b9261024393929190614f91565b6119fb565b6020830152610258608082614f7e565b905061026b848285610236826080614f7e565b604083015261027b608082614f7e565b905061028e848285610236826080614f7e565b606083015261029e608082614f7e565b90506102b1848285610236826080614f7e565b60c08301526102c1608082614f7e565b90506102d4848285610236826080614f7e565b60e08301526102e4608082614f7e565b90506102f7848285610236826080614f7e565b60808084019190915261030a9082614f7e565b905061031d848285610236826080614f7e565b61010083015261032e608082614f7e565b9050610341848285610236826080614f7e565b60a0830152610351608082614f7e565b90505f5b601c8110156103d0575f5b60088110156103c75761037a8684876101df826020614f7e565b84610120015183601c811061039157610391614fb8565b602002015182600881106103a7576103a7614fb8565b6020020181815250506020836103bd9190614f7e565b9250600101610360565b50600101610355565b505f5b6028811015610424576103ed8583866101df826020614f7e565b836101400151826028811061040457610404614fb8565b60200201818152505060208261041a9190614f7e565b91506001016103d3565b505f5b6104336001601c614f6b565b81101561047c5761044b858386610236826080614f7e565b83610160015182601b811061046257610462614fb8565b6020020152610472608083614f7e565b9150600101610427565b505f5b601c8110156104d0576104998583866101df826020614f7e565b83610180015182601c81106104b0576104b0614fb8565b6020020181815250506020826104c69190614f7e565b915060010161047f565b506104e2848285610236826080614f7e565b6101a08301526104f3608082614f7e565b9050610506848285610236826080614f7e565b6101c08301525092915050565b61051b614b9b565b5f61052b88888888888887611acb565b908352905061053a8189611b21565b6020840191909152905061054d81611cbb565b604084019190915290506105618882611d1c565b606084019190915290506105758882611df0565b608084019190915290506105898882611e7b565b60a0840191909152905061059d8882611fe9565b60c084019190915290506105b1888261205b565b5060e0830152509695505050505050565b5f6001808261060b86610606896106016105fc8a7f0000000000000000000000000000000000000000000000000000000000000000614f7e565b6120b2565b6120d0565b6120e9565b90505f610629876106248a6106016105fc8b6001614f7e565b612102565b90505f5b61065860107f0000000000000000000000000000000000000000000000000000000000000000614f6b565b8110156106c5575f6106828c838151811061067557610675614fb8565b60200260200101516120b2565b90506106928661060186846120e9565b95506106a28561060185846120e9565b94506106ae848b6120e9565b93506106ba838b612102565b92505060010161062d565b505f5b601081101561072c575f8a82601081106106e4576106e4614fb8565b602002015190506106f98661060186846120e9565b95506107098561060185846120e9565b9450610715848b6120e9565b9350610721838b612102565b9250506001016106c8565b506101978484612131565b5f806001815b7f000000000000000000000000000000000000000000000000000000000000000081101561080e575f86610120015182601c811061077d5761077d614fb8565b602002015190505f61078f828661213f565b9050806107af576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c81106107c6576107c6614fb8565b602002015190506107d7838261215c565b95506107fe886040015185601c81106107f2576107f2614fb8565b6020020151868361230b565b945050505080600101905061073d565b505f610828866101400151865f0151876020015185612336565b90508281145b9695505050505050565b5f61087f6040518061012001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61088d8460a001516123a4565b9050610897614bf4565b61089f614c13565b60e08601516108be906108b990855f5b6020020151612102565b612409565b60a085015260e08601516108dd906108b990855f5b60200201516120e9565b60c080860182905260a0860151908801516108fc9261060691906120d0565b845260a086015161092a9061091090612409565b6106018660a001516106248a60c001518960c001516120d0565b6020850152600182526101a088015161094290612472565b81526001606085018190525f60808601525b602381116109fa5761097561096b865f01516124b1565b86606001516120d0565b83826046811061098757610987614fb8565b602002015260808501516101408a01516109ca9190610606906109ab600186614f6b565b602881106109bb576109bb614fb8565b602002015188606001516120d0565b8560800181815250506109e5856060015188608001516120d0565b60608601526109f381614fcc565b9050610954565b505f610a0860236001614f7e565b90505b60288111610a8957610a2361096b86602001516124b1565b838260468110610a3557610a35614fb8565b602002015260808501516101408a0151610a599190610606906109ab600186614f6b565b856080018181525050610a74856060015188608001516120d0565b6060860152610a8281614fcc565b9050610a0b565b50606087015181600160200201526080870151816002602002015260a0870151816003602002015260c0870151816004602002015260e0870151816005602002015261010087015181600660200201526101208701518160076020020152610140870151816008602002015261016087015181600960200201526101a087015181600a602002015261018087015181600b60200201526101c087015181600c60200201526101e087015181600d602002015261020087015181600e602002015261022087015181600f60200201526102408701518160106020020152610260870151816011602002015261028087015181601260200201526102a087015181601360200201526102c087015181601460200201526102e08701518160156020020152610300870151816016602002015261032087015181601760200201526103408701518160186020020152610360870151816019602002015261038087015181601a60200201526103a087015181601b6020020181905250610c0f8860200151612472565b6103808201526040880151610c2390612472565b6103a08201526060880151610c3790612472565b6103c08201526080880151610c4b90612472565b6103e082015260a0880151610c5f90612472565b610400820152610100880151610c7490612472565b61042082015260c0880151610c8890612472565b61044082015260e0880151610c9c90612472565b6104608201526020880151610cb090612472565b6104808201526040880151610cc490612472565b6104a08201526060880151610cd890612472565b6104c08201526080880151610cec90612472565b6104e082015260a0880151610d0090612472565b610500820152606086015160808501516101808a01515f92610d45929091877f00000000000000000000000000000000000000000000000000000000000000006124c9565b805160a0870151919250610d58916120d0565b604086018190526101808a01515160c0890151610d88929161060691610d7e91906120d0565b8860c001516120d0565b604086015260c0870151610d9b906125e4565b60608601525f5b610dae6001601c614f6b565b811015610fb0575f610de160017f0000000000000000000000000000000000000000000000000000000000000000614f6b565b821015905080610f5657610e146108b98a60e0015188856001610e049190614f7e565b601c81106108af576108af614fb8565b60a088015260e0890151610e42906108b99088610e32866001614f7e565b601c81106108d3576108d3614fb8565b60c0880152606087015160a0880151610e5b91906120d0565b60e0880152606087015160c08a0151610e7791610d7e916120d0565b6101008801819052610e9990610e8c906124b1565b6106068960e001516124b1565b8583610ea760286001614f7e565b610eb19190614f7e565b60468110610ec157610ec1614fb8565b60200201526101008701516101808c01515f91610efd91610ee3866001614f7e565b601c8110610ef357610ef3614fb8565b60200201516120d0565b9050610f19816106068a60e0015187876001610ee39190614f7e565b9050610f298860400151826120e9565b6040890152606088015160c08b0151610f4f91610f45916120d0565b8b60c001516120d0565b6060890152505b610f7a8b610160015183601b8110610f7057610f70614fb8565b6020020151612472565b8483610f8860286001614f7e565b610f929190614f7e565b60468110610fa257610fa2614fb8565b602002015250600101610da2565b5060408051808201909152600181526002602082015282610fd3601c6028614f7e565b60468110610fe357610fe3614fb8565b6020020152604085015183610ffa601c6028614f7e565b6046811061100a5761100a614fb8565b60200201526101c08901515f9061102090612472565b90508083611030601c6028614f7e565b61103b906001614f7e565b6046811061104b5761104b614fb8565b602002015260e088015184611062601c6028614f7e565b61106d906001614f7e565b6046811061107d5761107d614fb8565b60200201525f61108d84866125ef565b90505f611099836126b5565b90506110a582826126fb565b9c9b505050505050505050505050565b6110bd614954565b50604080516103c08101825263020000008152601960208083019190915261040c82840152825180840184527f06f60b33d0c51786732150da81dde55d8108c7619b540f328141ea1150fa0c2681527f2c16f2827627513706a0a05824face11af499871178d989f26de1378d626b6ff818301526060830152825180840184527f0db9db9c3175ab49f31008b00c313f811c1ac03f9ebf21f4dee9425a262a94be81527f2726e3b566a8c5dca2de86345ffe9e152e90181aedb8b14c8541f691f1b47bbc818301526080830152825180840184527f13cc0c05ec6357930a56fdbdb361c0b97469a87ecd9689a16b3152fdf29fe0c881527f26341875d9f6bb006ed3c51d8f63664a7d43dee67ec4ac56cf2d9f382b9f79978183015260a0830152825180840184527f0ee02b494ff2d7723fd58614d2de0d88bfd9327fcf24299be75ef9c77288b7c081527f1e10c12aa1b2dcfdfacd87d96059dea7663cd874a036bbf74d10d08c2265edf78183015260c0830152825180840184527f0e246ea0a177bb2845247933956421d98104c34abcf58c5c44151e3af0c9f0e881527f03a7db6745cae703c4db7890cefe63194b3c1b1f0fa533cf0019fa0d7347a9788183015260e0830152825180840184527f2b4b7dbca1f41daa7ed02912845cf53e33b0fea12f5a2cf3cb8f6a818c2fd6f881527f0ae9749828adda75daf0a6ec7c41f76cfce9d8a4526b6c1d672c62e4acc79ebf81830152610100830152825180840184527f25a5859635c879aab2434f0abb7d4d49ee8c6caab3e0be1e5dcc5b20164f96ef81527f2b8c29f921dad7a6b79c13d62ad140d6b2d14c0723f5650775209438e58af12281830152610120830152825180840184527f0e79b8f530060885c00df6795c61366fdf1dd92c8996181cee937ee798ada7dc81527f19fb073215b3c49b5341eb6bda060671d4f5f9b344752d2d207c2993b1e77ab781830152610140830152825180840184527f2fd72420b3f3dc36c66547e5829f408743801390f80ed5d3b7596ec99ffca86281527f12f8b03cde038eb9146f4284ee5564b9fef4ddfd8c1ae3fa401462862ce0b27681830152610160830152825180840184527f118b02a85c1155f0e4f9ca11a137b5d228d3290dddc5a59b9eb786497708979381527f1a98d9cbf6e221ed0b3769e622d64bd72bac59b6572776315d640f04b9847b4681830152610180830152825180840184527e4bed6a887d5bae0b8a52c57c02e0158e1c3ab590d7de1a46700a956a55dd7f81527f02bffb3284308a23be8fc365ff64971d3751f70df6e8956fae2e02a4ec88dbe0818301526101a0830152825180840184527e4c6d712c82c6810e82530a772a2322a9b05cdd1402619615d7b936fabd9e0481527f2bd2711f0e266a7007178cb93dd71ed58e70d41e6f84e2bf4052bc688f0e7dc1818301526101c0830152825180840184527f1ae33dbf40285e4c62a8a1f75e246642a384f5e0f9297334f9047c16eb3db48e81527f0ab1cc4f42980937f02ca9ff18f4491c670682abea0b461429b9a65ef43d47b6818301526101e0830152825180840184527f0dceeeb4638538f0c21e2c6f7d14bbbb7ea00401110d8ffb425c9e1465f5e4ef81527f07c07a1eebb082e1e7c621739f11a16ffa13f16ab25bd6fe9563b04f3d0f414381830152610200830152825180840184527f127a564663d678281f42ad174287bd39aa2dbcd22b1a2e731fbf7c770e0fab7381527f085761f102569d4f0042a53678b7469206adfb9e3edd40b3bd18d3d9e1d92bf981830152610220830152825180840184527f03bcceb98b90f460b2a22276ec96e71e45f161f5a0b85c1ec0d6926e660abb6081527f0eab0dc5f09b1ff0e4699aec6d2cfa8a67e720c260046f5626a3a5436b4fdcc481830152610240830152825180840184527f0636a52cf862c5fa7bbe14c71ccc0958d4b115432f9854d701284471c4756cac81527f11c67f62d203dd7cb4e00d393250aeed393c4d56c2d488e4d8732a7bcf198d0081830152610260830152825180840184527f02474337982fadb2117cbdfe78130320e2a1d41a23c36f4edfd9ea880bebb34981527e124d7491ce12257c44ec5800f26c8531a1d2df6142843e15d87faad3db557581830152610280830152825180840184527f22b8e0c1478271d1f81fd666dc13bf5f92a2d22f4439c681b7a931b1055efcec81527f032522c098801550c32002b2d917708b049393e51d505959d8d96b0fa6afac65818301526102a0830152825180840184527f072d814c8ddac2a8b471e192166a60af3f5bdcd8fad5a11ad0f5529a088d807581527f102d9713613ca42d01e35f6719820eee44c2f80cb29bdb1d82456b3ff554428f818301526102c0830152825180840184527f0700a63967603b7b9447bfbbf7396d686be473e69a640b4ab56b44fa9dfcab2f81527f26c607679cd191739e4c90ab948f3bbef0c5331421d9a82650fa7021c48bbcd8818301526102e0830152825180840184527f2f4e0e73619e22e05200bd9de4ea73a3fc38ac033787e58016ef8f6e0c20b1fb81527f2f2b94d720217b157176b458c9d8f1b192a1466618a7901bce7f435a1edd6da181830152610300830152825180840184527f2003a0aec140164182e4ff65e13c9fd005e08922f739d8b6423dcf8fa26f9ec281527f13793b4ea820fac86bf339259e4c76e9e5a49a35f7c1a1ccf7f2ed9e0215748881830152610320830152825180840184527f1abe3e80fbe4e7e479e25e018648cfbf398a6057281cecf3c3a76f220a62474081527f29a28edb5e574311167384f452aa8112795513c8c164fcbcd592386a7fbfc33381830152610340830152825180840184527f21ad8f9bf46d94bf9d93469d756464c74999dbb805c6ab7b2bfcb5c3a495c81081527f224803cf8531674748532f90c6a2a835030a07111344dc02418159a6178927a881830152610360830152825180840184526001815260028183015261038083015282518084019093527f0da69e69475f89c1a84dcb5e7dba60ffca83c41b476268e1d0a75243bfaa5bb683527f1e2f168c7354073d9dc0aefe2447a9f89c089bcf74fd471be4eb3bb0c7952576908301526103a081019190915290565b5f602082146119e75760405162461bcd60e51b815260206004820152601460248201527334b73b30b634b210313cba32b99039b1b0b630b960611b60448201526064015b60405180910390fd5b6119f46105fc8385614fe4565b9392505050565b611a03614c41565b60808214611a495760405162461bcd60e51b81526020600482015260136024820152721a5b9d985b1a5908189e5d195cc81c1bda5b9d606a1b60448201526064016119de565b604080516080810190915280611a6260205f8688614f91565b611a6b91614fe4565b8152602090810190611a81906040908688614f91565b611a8a91614fe4565b8152602001611a9d606060408688614f91565b611aa691614fe4565b8152602001611ab9608060608688614f91565b611ac291614fe4565b90529392505050565b611ad3614c65565b5f611ae28989898989896128ff565b604086019190915260208501919091529083529250611b01838a612da5565b608085019190915260608401919091529199919850909650505050505050565b611b29614c95565b5f611b32614cb4565b848152610100848101805151602080850191909152815181015160408086019190915282518101516060808701919091529251830151608086015260a080890180515191870191909152805183015160c0870152805182015160e087015251909201519284019290925251611bc891611bad91849101615001565b604051602081830303815290604052805190602001206120b2565b9150611bd382612e74565b6020850152835260015b611be960026019615049565b811015611c6957611c0683604051602001611bad91815260200190565b9250611c1183612e74565b85611c1d846002614f54565b60198110611c2d57611c2d614fb8565b6020020186611c3d856002614f54565b611c48906001614f7e565b60198110611c5857611c58614fb8565b602002019190915252600101611bdd565b50611c8082604051602001611bad91815260200190565b91505f611c8c83612e74565b85611c9960016019614f6b565b60198110611ca957611ca9614fb8565b60200201919091525050509250929050565b611cc3614cd3565b5f805b601c811015611d1557611ce584604051602001611bad91815260200190565b93505f611cf185612e74565b8584601c8110611d0357611d03614fb8565b60200201919091525050600101611cc6565b5090929050565b611d24614cd3565b5f805b601c811015611de757611d38614cb4565b8481525f5b6008811015611da15786610120015183601c8110611d5d57611d5d614fb8565b60200201518160088110611d7357611d73614fb8565b602002015182611d84836001614f7e565b60098110611d9457611d94614fb8565b6020020152600101611d3d565b50611db681604051602001611bad9190615001565b94505f611dc286612e74565b8685601c8110611dd457611dd4614fb8565b6020020191909152505050600101611d27565b50909391925050565b5f5f611dfa614cf2565b8381525f5b6028811015611e4d578561014001518160288110611e1f57611e1f614fb8565b602002015182611e30836001614f7e565b60298110611e4057611e40614fb8565b6020020152600101611dff565b50611e6281604051602001611bad919061505c565b91505f611e6e83612e74565b5096929550919350505050565b5f5f611e85614d11565b8381525f5b611e966001601c614f6b565b811015611fd45785610160015181601b8110611eb457611eb4614fb8565b60200201515182611ec6836004614f54565b611ed1906001614f7e565b606d8110611ee157611ee1614fb8565b602002015261016086015181601b8110611efd57611efd614fb8565b60200201516020015182826004611f149190614f54565b611f1f906002614f7e565b606d8110611f2f57611f2f614fb8565b602002015261016086015181601b8110611f4b57611f4b614fb8565b60200201516040015182611f60836004614f54565b611f6b906003614f7e565b606d8110611f7b57611f7b614fb8565b602002015261016086015181601b8110611f9757611f97614fb8565b60200201516060015182611fac836004614f54565b611fb7906004614f7e565b606d8110611fc757611fc7614fb8565b6020020152600101611e8a565b50611e6281604051602001611bad9190615090565b5f5f611ff3614d30565b8381525f5b601c8110156120465785610180015181601c811061201857612018614fb8565b602002015182612029836001614f7e565b601d811061203957612039614fb8565b6020020152600101611ff8565b50611e6281604051602001611bad91906150c4565b5f5f612065614d4f565b8381526101a085018051516020808401919091528151810151604080850191909152825181015160608086019190915292519092015160808401529051611e6291611bad918491016150f8565b5f6120ca5f51602061523a5f395f51905f528361512b565b92915050565b5f5f51602061523a5f395f51905f528284099392505050565b5f5f51602061523a5f395f51905f528284089392505050565b5f5f51602061523a5f395f51905f52612128835f51602061523a5f395f51905f52614f6b565b84089392505050565b5f6119f48361060184612409565b81515f908190612151908560016108d3565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b600881101561224357612239826106018784612102565b9150600101612222565b5061224c614d6d565b5f5b60088110156122ad575f84826008811061226a5761226a614fb8565b6020020151905061227f816106018985612102565b905061228a81612409565b90508083836008811061229f5761229f614fb8565b60200201525060010161224e565b505f5b6008811015612300575f8782600881106122cc576122cc614fb8565b602002015190506122e981848460088110610ef357610ef3614fb8565b90506122f586826120e9565b9550506001016122b0565b5061082e84836120d0565b5f5f612321600161060685610601896001612102565b905061232d84826120d0565b95945050505050565b5f61233f614d8c565b61234a868285612ea4565b61235686868386613050565b61236286868386613238565b61236d868285613434565b61237886828561361c565b61238486868386613965565b61238f8682856141ff565b61239a8682856145ca565b61082e81856148bf565b6123ac614cd3565b81815260015b601c811015612403576123e4826123ca600184614f6b565b601c81106123da576123da614fb8565b60200201516125e4565b8282601c81106123f6576123f6614fb8565b60200201526001016123b2565b50919050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f51602061523a5f395f51905f520360808201525f51602061523a5f395f51905f5260a082015260205f60c08360055afa905080612467575f5ffd5b50505f519392505050565b61247a614dab565b604051806040016040528060888460200151901b845f015117815260200160888460600151901b8460400151178152509050919050565b5f6120ca825f51602061523a5f395f51905f52614f6b565b6124d1614cd3565b601c5b80156125da575f846124e7600184614f6b565b601c81106124f7576124f7614fb8565b602002015190505f8861250b600185614f6b565b601c811061251b5761251b614fb8565b602002015190505f61257661253a612533858c6120d0565b60026120d0565b6106248a612549600189614f6b565b601c811061255957612559614fb8565b60200201516106016125708861060160018a612102565b87612102565b9050612597816106016108b961259187610601600189612102565b866120e9565b90508584116125c65797508780856125b0600187614f6b565b601c81106125c0576125c0614fb8565b60200201525b505050806125d39061513e565b90506124d4565b5095945050505050565b5f6120ca82836120d0565b6125f7614dab565b5f612604601c6028614f7e565b61260f906002614f7e565b90506001604051855151604082015285516020015160608201528451608082015260408160606040840160075afa8216915060015b8381101561269d5760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612644565b50805184526020810151602085015250505092915050565b6126bd614dab565b5f51602061521a5f395f51905f5282602001515f51602061521a5f395f51905f526126e89190614f6b565b6126f2919061512b565b60208301525090565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516128919190615153565b5f60405180830381855afa9150503d805f81146128c9576040519150601f19603f3d011682016040523d82523d5f602084013e6128ce565b606091505b50915091505f818060200190518101906128e89190615169565b90508280156128f45750805b979650505050505050565b5f8080808061290f876003614f7e565b61291a90600c614f7e565b6001600160401b0381111561293157612931615188565b60405190808252806020026020018201604052801561295a578160200160208202803683370190505b509050875f1b815f8151811061297257612972614fb8565b602002602001018181525050865f1b8160018151811061299457612994614fb8565b602002602001018181525050855f1b816002815181106129b6576129b6614fb8565b60209081029190910101525f5b6129ce601089614f6b565b811015612a1f578a8a828181106129e7576129e7614fb8565b90506020020135828260036129fc9190614f7e565b81518110612a0c57612a0c614fb8565b60209081029190910101526001016129c3565b505f5b6010811015612a90578b51612a4a908260108110612a4257612a42614fb8565b602002015190565b82826010612a598c6003614f7e565b612a639190614f6b565b612a6d9190614f7e565b81518110612a7d57612a7d614fb8565b6020908102919091010152600101612a22565b5060208b01515181612aa3896003614f7e565b81518110612ab357612ab3614fb8565b6020908102919091018101919091528b810151015181612ad4896003614f7e565b612adf906001614f7e565b81518110612aef57612aef614fb8565b6020908102919091018101919091528b01516040015181612b11896003614f7e565b612b1c906002614f7e565b81518110612b2c57612b2c614fb8565b6020908102919091018101919091528b01516060015181612b4e896003614f7e565b612b59906003614f7e565b81518110612b6957612b69614fb8565b602090810291909101015260408b01515181612b86896003614f7e565b612b91906004614f7e565b81518110612ba157612ba1614fb8565b60209081029190910181019190915260408c0151015181612bc3896003614f7e565b612bce906005614f7e565b81518110612bde57612bde614fb8565b60209081029190910101526040808c0151015181612bfd896003614f7e565b612c08906006614f7e565b81518110612c1857612c18614fb8565b602090810291909101015260408b01516060015181612c38896003614f7e565b612c43906007614f7e565b81518110612c5357612c53614fb8565b602090810291909101015260608b01515181612c70896003614f7e565b612c7b906008614f7e565b81518110612c8b57612c8b614fb8565b60209081029190910181019190915260608c0151015181612cad896003614f7e565b612cb8906009614f7e565b81518110612cc857612cc8614fb8565b602090810291909101015260608b01516040015181612ce8896003614f7e565b612cf390600a614f7e565b81518110612d0357612d03614fb8565b60209081029190910101526060808c0151015181612d22896003614f7e565b612d2d90600b614f7e565b81518110612d3d57612d3d614fb8565b602002602001018181525050612d5d81604051602001611bad919061519c565b9150612d6882612e74565b6040805160208101869052929750909550612d839101611bad565b91505f612d8f83612e74565b50959c949b509499509097509195505050505050565b5f5f5f612db0614dc3565b85815260c085810180515160208085019190915281518101516040808601919091528251810151606080870191909152925183015160808087019190915260e0808b0180515160a089015280518501519688019690965285518301519087015293518301516101008601529288018051516101208601528051820151610140860152805184015161016086015251909101516101808401529051612e5a91611bad918491016151d1565b9150612e6582612e74565b90979096509194509092505050565b5f80826001600160801b038116608082901c612e8f826120b2565b9450612e9a816120b2565b9350505050915091565b5f612eb0846007614924565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f612f11612f0b612ee5856003612102565b610601612f00612ef58b5f614924565b6106018c601c614924565b6106018b601b614924565b836120d0565b9050612f92612f87612f6e612f55612f3c85610606612f318d6002614924565b6106018e601b614924565b610606612f4a8c6003614924565b6106018d601c614924565b610606612f638b6004614924565b6106018c601d614924565b610606612f7c8a6005614924565b6106018b601e614924565b610606886001614924565b9050612fb181610606612fa6866001612102565b6106018a6026614924565b9050612fbd81846120d0565b9050612fc981856120d0565b8552505f9050613003612ff9612fee612fe388601b614924565b61060689601e614924565b610624886023614924565b610606875f614924565b905061301481610601846002612102565b905061302581610601846001612102565b905061303181836120d0565b905061303d81846120d0565b9050808460015b60200201525050505050565b5f5f5f61308661307c61306489601b614924565b6106066130728b6011614924565b8a606001516120d0565b87608001516120e9565b90506130bf816106016130b561309d8b601c614924565b6106066130ab8d6012614924565b8c606001516120d0565b89608001516120e9565b90506130e4816106016130b56130d68b601d614924565b6106066130ab8d6013614924565b9050613109816106016130b56130fb8b601e614924565b6106066130ab8d6014614924565b92505f905061312d61307c61311f89601b614924565b6106066130728b600d614924565b9050613152816106016130b56131448b601c614924565b6106066130ab8d600e614924565b9050613177816106016130b56131698b601d614924565b6106066130ab8d600f614924565b905061319c816106016130b561318e8b601e614924565b6106066130ab8d6010614924565b91505f90506131c36131bd6131b289601f614924565b6106068a6019614924565b846120d0565b90506131f8816106246131f26131da8b6027614924565b6106066131e88d601a614924565b8c60a001516120d0565b856120d0565b905061320481856120d0565b6040860152505f6132276131f261321c89601a614924565b6106018a6027614924565b606090950194909452505050505050565b5f5f61329661327e6132666132516130b58a6015614924565b61060661325f8b6016614924565b8a516120d0565b6106066132748a6017614924565b89602001516120d0565b61060661328c896018614924565b88604001516120d0565b91505f6132cd6132b46132aa89601b614924565b88608001516120e9565b6106066132c28a6003614924565b6106018b6023614924565b90505f6132f66132de89601c614924565b6106066132eb8b5f614924565b6106018c6024614924565b90505f6133206133078a601d614924565b6106066133158c6001614924565b6106018d6025614924565b905061335f61334761333985610606868d5f01516120d0565b610606848c602001516120d0565b6106066133558c6004614924565b8b604001516120d0565b93505050505f6133736131bd886020614924565b90505f6133846131bd896020614924565b90505f6133bc6133a36133988b6022614924565b6106068c6006614924565b6106246133b18c6022614924565b6106018d6006614924565b90505f6133e06133da6133cf87896120d0565b6106018d6020614924565b83612102565b90506133ec81886120d0565b90505f6134146134066134008d6006614924565b876120d0565b6106246134008e6021614924565b60808a018390529050808960055b60200201525050505050505050505050565b5f6134405f6001612102565b90505f61344e5f6002612102565b90505f61345c5f6003612102565b90505f61347861346d88601c614924565b61062489601b614924565b90505f61349461348989601d614924565b6106248a601c614924565b90505f6134b06134a58a601e614924565b6106248b601d614924565b90505f6134cc6134c18b6023614924565b6106248c601e614924565b9050836134dd81610601818b6120e9565b90506134ed81610601878a6120e9565b90506134fd8161060187896120e9565b905061350e816106018d6008614924565b905061351a818a6120d0565b60c08b0152508261352f81610601818b6120e9565b905061353f81610601868a6120e9565b905061354f8161060186896120e9565b9050613560816106018d6008614924565b905061356c818a6120d0565b60e08b0152508161358181610601818b6120e9565b905061359181610601858a6120e9565b90506135a18161060185896120e9565b90506135b2816106018d6008614924565b90506135be818a6120d0565b6101008b015250806135d481610601818b6120e9565b90506135e481610601848a6120e9565b90506135f48161060184896120e9565b9050613605816106018d6008614924565b9050613611818a6120d0565b9050808a6009613422565b6136556040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61366084601c614924565b815261366d84601d614924565b602082015261367d846023614924565b604082015261368d846026614924565b606082015261369d846025614924565b60808201526136ad846024614924565b60a08201525f6136be856002614924565b90505f6136cb865f614924565b90505f6136df8460400151855f0151612102565b90505f6136f4856020015186602001516120d0565b606086015190915086905f9061370a90806120d0565b90505f61372861372289602001518a606001516120d0565b886120d0565b90505f6137476137408a60a001518b604001516120e9565b8a516120e9565b905061375661340082886120d0565b905061377d61377761377161376b8487612102565b88612102565b846120e9565b836120e9565b90506137a561379a61378f83876120d0565b6106018f6009614924565b61060160018a612102565b6101408c015250505050602085015160808601515f916137c4916120e9565b90505f6137e26137d88860600151886120d0565b8860200151612102565b90505f6138066137f284876120d0565b6106066131f28b60a001518c5f0151612102565b905061382e613823613818838c6120d0565b6106018e6009614924565b610601600189612102565b6101608b0152505f915061384f90506138488360116120e9565b87516120d0565b90505f61385c83846120e9565b905061386881826120e9565b90505f6138768360096120d0565b905061389f6138996131bd6138928b60a001518c5f01516120e9565b8b516120e9565b82612102565b60c089018190525f906138ba906137229061378f908d6120d0565b90506138cd8b600a6020020151826120e9565b6101408c0152505086515f92506138f49150613848906138ed90806120e9565b88516120e9565b90505f61393461390f836106018a5f01518b60a00151612102565b60208901516106249061392290806120e9565b6106018b602001518c608001516120e9565b905061395189600b602002015161060661372261378f858d6120d0565b89600b602002015250505050505050505050565b6139f9604051806102c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613a2e613a15613a0a87601b614924565b610601886024614924565b610606613a23886023614924565b61060189601c614924565b8152613a73613a68613a4f613a4488601b614924565b61060189601e614924565b610606613a5d89601c614924565b6106018a601d614924565b610624876025614924565b60408201819052613a8890600160441b6120d0565b60408201819052613a9e90610624876026614924565b604082018190528151613ab191906120e9565b60408201819052613ac790610601876005614924565b60408201528051613adc90600160441b6120d0565b808252613afc90610606613af1886023614924565b610601896024614924565b80825260208201819052613b1890610624612fe388601d614924565b60208201819052613b2e90610601876004614924565b6020820152805160608201819052613b4b9061060687601e614924565b60608201819052613b6f90610624613b64886025614924565b610606896026614924565b60608201819052613b8490610601875f614924565b8160600181815250505f613bad613ba3836020015184604001516120e9565b83606001516120e9565b9050613bbe81610601886003614924565b9050613bd6613bce876024614924565b6140006120d0565b60808301819052613bec90610606886023614924565b60808301819052613bff906140006120d0565b60808301819052613c159061060688601d614924565b60808301819052613c28906140006120d0565b60808301819052613c3e9061060688601c614924565b60808301819052613c51906140006120d0565b60808301819052613c679061060688601b614924565b60808301819052613c7d9061062488601e614924565b60808301819052613c9390610601886005614924565b6080830152613ca6613bce876025614924565b60a08301819052613cbc90610606886024614924565b60a08301819052613ccf906140006120d0565b60a08301819052613ce590610606886023614924565b60a08301819052613cf8906140006120d0565b60a08301819052613d0e9061060688601e614924565b60a08301819052613d21906140006120d0565b60a08301819052613d379061060688601d614924565b60a08301819052613d4d90610624886026614924565b60a08301819052613d6290610601885f614924565b60a0830181905260808301515f91613d7a91906120e9565b9050613d8b81610601896004614924565b9050613da5613d9b88601d614924565b87604001516120d0565b60c08401819052613dbe906106066132748a601c614924565b60c08401819052613dde90610606613dd78a601b614924565b89516120d0565b60c08401819052613df490610606896001614924565b60c0840181905260e08401819052613e119061062489601e614924565b60c0840152613e2461346d886023614924565b610140840152613e43613e38886026614924565b61062489601e614924565b610120840152610140830151613e6890613e5d90806120d0565b846101400151612102565b610280840152610140830151613eaa90613e9f90613e989061060160015f51602061523a5f395f51905f52614f6b565b60016120e9565b8461012001516120d0565b6101608401819052613ee190613ed390610601613ec88b6002614924565b6106018c6003614924565b6106016134008a600a614924565b6101a0860152610280830151613f0390613ed390610601613ec88b6002614924565b6101c086015260c0830151613f2b90610601613f208a6002614924565b6106018b6003614924565b6101e08401525f613f4a613f4089601e614924565b8560e00151612102565b9050613f5961389982836120d0565b6101a0850152613f6d61328c896025614924565b6101008501819052613f9190610606613f878b6024614924565b8a602001516120d0565b6101008501819052613fab9061060661325f8b6023614924565b610100850152613fca613fbf896026614924565b856101000151612102565b6101008501525f613fdf6134a58a6025614924565b905061403361400d612f0b613e9888610140015160015f51602061523a5f395f51905f526106019190614f6b565b610601613e9888610100015160015f51602061523a5f395f51905f526106019190614f6b565b6101808601526101008501516140589061404d90806120d0565b866101000151612102565b6101c086015261018085015161408b90614077906106018c6007614924565b6106016140858c600a614924565b896120d0565b6101e08801526102808501516140aa90614077906106018c6007614924565b6102008801526101c08501516140c990614077906106018c6007614924565b6102208801526101a08501516140e4906106018b6007614924565b6102008601526141036140f88a6024614924565b6106248b601c614924565b610220860152610140850151614142906134a59061413790613e989061060160015f51602061523a5f395f51905f52614f6b565b8761022001516120d0565b61024086018190526101e08601516102608701819052614179916106069061060161416e8e6005614924565b6106018f6002614924565b610260860181905260c086015161419c91906106069061060161416e8e5f614924565b61026086018190526102008601516141b491906120e9565b61026086018190526141ca9061377190866120e9565b6102a086018190526141e4906106016140858c600a614924565b6102a0860181905287600c6020020152505050505050505050565b6142756040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61428e61428385601b614924565b610606866002614924565b81526142a961429e85601c614924565b610606866003614924565b60208201526142c76142bc85601d614924565b610606866004614924565b60408201526142e56142da85601e614924565b610606866005614924565b6060820152805161431790614310906143099061430290806120d0565b84516120d0565b83516120d0565b82516120d0565b608082015260208101516143559061434b906143419061433790806120d0565b84602001516120d0565b83602001516120d0565b82602001516120d0565b60a08201526040810151614393906143899061437f9061437590806120d0565b84604001516120d0565b83604001516120d0565b82604001516120d0565b60c082015260608101516143d1906143c7906143bd906143b390806120d0565b84606001516120d0565b83606001516120d0565b82606001516120d0565b60e0820152608081015160a08201516143ea91906120e9565b61010082015260c081015160e082015161440491906120e9565b61012082015260a08101516144289061441d90806120e9565b8261012001516120e9565b61014082015260e081015161444c9061444190806120e9565b8261010001516120e9565b61016082015261012081015161446290806120e9565b6101e082018190526144839061447890806120e9565b8261016001516120e9565b6101e082015261010081015161449990806120e9565b6101a082018190526144ba906144af90806120e9565b8261014001516120e9565b6101a082018190526101608201516144d1916120e9565b6101808201526101408101516101e08201516144ed91906120e9565b6101c0820152614501612f0b85600b614924565b610200820181905261024084015161018083015161452c9261060691610601906106248a6023614924565b836012602002015261455c8360136020020151610606836102000151610601856101a001516106248a6024614924565b836013602002015261458c8360146020020151610606836102000151610601856101c001516106248a6025614924565b83601460200201526145bc8360156020020151610606836102000151610601856101e001516106248a6026614924565b836015602002015250505050565b61461c6040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60405180608001604052806146517f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e76120b2565b815260200161467f7f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b6120b2565b81526020016146ac7e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac156120b2565b81526020016146da7f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b6120b2565b905290506146f76146ec86601b614924565b610606876002614924565b610120830181905261472b9061472090613e9f9061471590806120d0565b8561012001516120d0565b8361012001516120d0565b825261473885601c614924565b602083015261474885601d614924565b604083015261475885601e614924565b60608301528151602083015161478091613ba39161477691906120e9565b84604001516120e9565b60808301526147936131bd86600c614924565b61014083015281516147b4906147aa90835f610ef3565b83608001516120e9565b60a08301526147e084601660200201516106068461014001516106018660a001516106248b6023614924565b6102c085015260208201516147fb906147aa90836001610ef3565b60c083015261482784601760200201516106068461014001516106018660c001516106248b6024614924565b6102e08501526040820151614842906147aa90836002610ef3565b60e083015261486e84601860200201516106068461014001516106018660e001516106248b6025614924565b6103008501526060820151614889906147aa90836003610ef3565b6101008301526148b784601960200201516106068461014001516106018661010001516106248b6026614924565b846019613044565b5f6148cb8184816108d3565b905060015b601a81101561491d57614913826106068684601a81106148f2576148f2614fb8565b602002015186614903600187614f6b565b60198110610ef357610ef3614fb8565b91506001016148d0565b5092915050565b5f8282602781111561493857614938615205565b6028811061494857614948614fb8565b60200201519392505050565b604051806103c001604052805f81526020015f81526020015f815260200161497a614dab565b8152602001614987614dab565b8152602001614994614dab565b81526020016149a1614dab565b81526020016149ae614dab565b81526020016149bb614dab565b81526020016149c8614dab565b81526020016149d5614dab565b81526020016149e2614dab565b81526020016149ef614dab565b81526020016149fc614dab565b8152602001614a09614dab565b8152602001614a16614dab565b8152602001614a23614dab565b8152602001614a30614dab565b8152602001614a3d614dab565b8152602001614a4a614dab565b8152602001614a57614dab565b8152602001614a64614dab565b8152602001614a71614dab565b8152602001614a7e614dab565b8152602001614a8b614dab565b8152602001614a98614dab565b8152602001614aa5614dab565b8152602001614ab2614dab565b8152602001614abf614dab565b8152602001614acc614dab565b905290565b604051806101e00160405280614ae5614de2565b8152602001614af2614c41565b8152602001614aff614c41565b8152602001614b0c614c41565b8152602001614b19614c41565b8152602001614b26614c41565b8152602001614b33614c41565b8152602001614b40614c41565b8152602001614b4d614c41565b8152602001614b5a614e01565b8152602001614b67614e2f565b8152602001614b74614e4e565b8152602001614b81614cd3565b8152602001614b8e614c41565b8152602001614acc614c41565b604051806101000160405280614baf614c65565b8152602001614bbc614c95565b8152602001614bc9614cd3565b8152602001614bd6614cd3565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806108c001604052806046906020820280368337509192915050565b604051806108c001604052806046905b614c2b614dab565b815260200190600190039081614c235790505090565b60405180608001604052805f81526020015f81526020015f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061032001604052806019906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061052001604052806029906020820280368337509192915050565b60405180610da00160405280606d906020820280368337509192915050565b604051806103a00160405280601d906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b604051806103400160405280601a906020820280368337509192915050565b60405180604001604052805f81526020015f81525090565b604051806101a00160405280600d906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b614e19614d6d565b815260200190600190039081614e115790505090565b6040518061050001604052806028906020820280368337509192915050565b604051806103600160405280601b905b614e66614c41565b815260200190600190039081614e5e5790505090565b5f5f5f5f60408587031215614e8f575f5ffd5b84356001600160401b03811115614ea4575f5ffd5b8501601f81018713614eb4575f5ffd5b80356001600160401b03811115614ec9575f5ffd5b876020828401011115614eda575f5ffd5b6020918201955093508501356001600160401b03811115614ef9575f5ffd5b8501601f81018713614f09575f5ffd5b80356001600160401b03811115614f1e575f5ffd5b8760208260051b8401011115614f32575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176120ca576120ca614f40565b818103818111156120ca576120ca614f40565b808201808211156120ca576120ca614f40565b5f5f85851115614f9f575f5ffd5b83861115614fab575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b5f60018201614fdd57614fdd614f40565b5060010190565b803560208310156120ca575f19602084900360031b1b1692915050565b5f8183825b6009811015615025578151835260209283019290910190600101615006565b5050506101208201905092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261505757615057615035565b500490565b5f8183825b6029811015615080578151835260209283019290910190600101615061565b5050506105208201905092915050565b5f8183825b606d8110156150b4578151835260209283019290910190600101615095565b505050610da08201905092915050565b5f8183825b601d8110156150e85781518352602092830192909101906001016150c9565b5050506103a08201905092915050565b5f8183825b600581101561511c5781518352602092830192909101906001016150fd565b50505060a08201905092915050565b5f8261513957615139615035565b500690565b5f8161514c5761514c614f40565b505f190190565b5f82518060208501845e5f920191825250919050565b5f60208284031215615179575f5ffd5b815180151581146119f4575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b81515f90829060208501835b828110156151c65781518452602093840193909101906001016151a8565b509195945050505050565b5f8183825b600d8110156151f55781518352602092830192909101906001016151d6565b5050506101a08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
3
+ */ export const HonkVerifierBytecode = "0x60e0604052348015600e575f5ffd5b506302000000608052601960a05261040c60c05260805160a05160c05161525d61005a5f395f61063401525f818161073f01528181610d210152610dbd01525f6105d8015261525d5ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004614e7f565b610054565b604051901515815260200160405180910390f35b5f6100626101c86020614f57565b8414610081576040516376ba560560e11b815260040160405180910390fd5b5f61008a6101a5565b90505f61009787876101ba565b9050601082604001516100aa9190614f6e565b84146100c95760405163fa06659360e01b815260040160405180910390fd5b5f6100e0828787865f015187604001516001610513565b90506101308686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050855185516060810151608090910151919350915060016105c2565b815160a001525f6101418383610737565b905080610161576040516313f8744360e31b815260040160405180910390fd5b5f61016d848685610838565b90508061018d576040516352ec174560e11b815260040160405180910390fd5b8180156101975750805b9a9950505050505050505050565b6101ad614957565b6101b56110b5565b905090565b6101c2614ad4565b5f805b6010811015610224576101f18583866101df826020614f81565b926101ec93929190614f94565b61199d565b8351826010811061020457610204614fbb565b60200201818152505060208261021a9190614f81565b91506001016101c5565b50610248848285610236826080614f81565b9261024393929190614f94565b6119fe565b6020830152610258608082614f81565b905061026b848285610236826080614f81565b604083015261027b608082614f81565b905061028e848285610236826080614f81565b606083015261029e608082614f81565b90506102b1848285610236826080614f81565b60c08301526102c1608082614f81565b90506102d4848285610236826080614f81565b60e08301526102e4608082614f81565b90506102f7848285610236826080614f81565b60808084019190915261030a9082614f81565b905061031d848285610236826080614f81565b61010083015261032e608082614f81565b9050610341848285610236826080614f81565b60a0830152610351608082614f81565b90505f5b601c8110156103d0575f5b60088110156103c75761037a8684876101df826020614f81565b84610120015183601c811061039157610391614fbb565b602002015182600881106103a7576103a7614fbb565b6020020181815250506020836103bd9190614f81565b9250600101610360565b50600101610355565b505f5b6028811015610424576103ed8583866101df826020614f81565b836101400151826028811061040457610404614fbb565b60200201818152505060208261041a9190614f81565b91506001016103d3565b505f5b6104336001601c614f6e565b81101561047c5761044b858386610236826080614f81565b83610160015182601b811061046257610462614fbb565b6020020152610472608083614f81565b9150600101610427565b505f5b601c8110156104d0576104998583866101df826020614f81565b83610180015182601c81106104b0576104b0614fbb565b6020020181815250506020826104c69190614f81565b915060010161047f565b506104e2848285610236826080614f81565b6101a08301526104f3608082614f81565b9050610506848285610236826080614f81565b6101c08301525092915050565b61051b614b9e565b5f61052b88888888888887611ace565b908352905061053a8189611b24565b6020840191909152905061054d81611cbe565b604084019190915290506105618882611d1f565b606084019190915290506105758882611df3565b608084019190915290506105898882611e7e565b60a0840191909152905061059d8882611fec565b60c084019190915290506105b1888261205e565b5060e0830152509695505050505050565b5f6001808261060b86610606896106016105fc8a7f0000000000000000000000000000000000000000000000000000000000000000614f81565b6120b5565b6120d3565b6120ec565b90505f610629876106248a6106016105fc8b6001614f81565b612105565b90505f5b61065860107f0000000000000000000000000000000000000000000000000000000000000000614f6e565b8110156106c5575f6106828c838151811061067557610675614fbb565b60200260200101516120b5565b90506106928661060186846120ec565b95506106a28561060185846120ec565b94506106ae848b6120ec565b93506106ba838b612105565b92505060010161062d565b505f5b601081101561072c575f8a82601081106106e4576106e4614fbb565b602002015190506106f98661060186846120ec565b95506107098561060185846120ec565b9450610715848b6120ec565b9350610721838b612105565b9250506001016106c8565b506101978484612134565b5f806001815b7f000000000000000000000000000000000000000000000000000000000000000081101561080e575f86610120015182601c811061077d5761077d614fbb565b602002015190505f61078f8286612142565b9050806107af576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c81106107c6576107c6614fbb565b602002015190506107d7838261215f565b95506107fe886040015185601c81106107f2576107f2614fbb565b6020020151868361230e565b945050505080600101905061073d565b505f610828866101400151865f0151876020015185612339565b90508281145b9695505050505050565b5f61087f6040518061012001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61088d8460a001516123a7565b9050610897614bf7565b61089f614c16565b60e08601516108be906108b990855f5b6020020151612105565b61240c565b60a085015260e08601516108dd906108b990855f5b60200201516120ec565b60c080860182905260a0860151908801516108fc9261060691906120d3565b845260a086015161092a906109109061240c565b6106018660a001516106248a60c001518960c001516120d3565b6020850152600182526101a088015161094290612475565b81526001606085018190525f60808601525b602381116109fa5761097561096b865f01516124b4565b86606001516120d3565b83826046811061098757610987614fbb565b602002015260808501516101408a01516109ca9190610606906109ab600186614f6e565b602881106109bb576109bb614fbb565b602002015188606001516120d3565b8560800181815250506109e5856060015188608001516120d3565b60608601526109f381614fcf565b9050610954565b505f610a0860236001614f81565b90505b60288111610a8957610a2361096b86602001516124b4565b838260468110610a3557610a35614fbb565b602002015260808501516101408a0151610a599190610606906109ab600186614f6e565b856080018181525050610a74856060015188608001516120d3565b6060860152610a8281614fcf565b9050610a0b565b50606087015181600160200201526080870151816002602002015260a0870151816003602002015260c0870151816004602002015260e0870151816005602002015261010087015181600660200201526101208701518160076020020152610140870151816008602002015261016087015181600960200201526101a087015181600a602002015261018087015181600b60200201526101c087015181600c60200201526101e087015181600d602002015261020087015181600e602002015261022087015181600f60200201526102408701518160106020020152610260870151816011602002015261028087015181601260200201526102a087015181601360200201526102c087015181601460200201526102e08701518160156020020152610300870151816016602002015261032087015181601760200201526103408701518160186020020152610360870151816019602002015261038087015181601a60200201526103a087015181601b6020020181905250610c0f8860200151612475565b6103808201526040880151610c2390612475565b6103a08201526060880151610c3790612475565b6103c08201526080880151610c4b90612475565b6103e082015260a0880151610c5f90612475565b610400820152610100880151610c7490612475565b61042082015260c0880151610c8890612475565b61044082015260e0880151610c9c90612475565b6104608201526020880151610cb090612475565b6104808201526040880151610cc490612475565b6104a08201526060880151610cd890612475565b6104c08201526080880151610cec90612475565b6104e082015260a0880151610d0090612475565b610500820152606086015160808501516101808a01515f92610d45929091877f00000000000000000000000000000000000000000000000000000000000000006124cc565b805160a0870151919250610d58916120d3565b604086018190526101808a01515160c0890151610d88929161060691610d7e91906120d3565b8860c001516120d3565b604086015260c0870151610d9b906125e7565b60608601525f5b610dae6001601c614f6e565b811015610fb0575f610de160017f0000000000000000000000000000000000000000000000000000000000000000614f6e565b821015905080610f5657610e146108b98a60e0015188856001610e049190614f81565b601c81106108af576108af614fbb565b60a088015260e0890151610e42906108b99088610e32866001614f81565b601c81106108d3576108d3614fbb565b60c0880152606087015160a0880151610e5b91906120d3565b60e0880152606087015160c08a0151610e7791610d7e916120d3565b6101008801819052610e9990610e8c906124b4565b6106068960e001516124b4565b8583610ea760286001614f81565b610eb19190614f81565b60468110610ec157610ec1614fbb565b60200201526101008701516101808c01515f91610efd91610ee3866001614f81565b601c8110610ef357610ef3614fbb565b60200201516120d3565b9050610f19816106068a60e0015187876001610ee39190614f81565b9050610f298860400151826120ec565b6040890152606088015160c08b0151610f4f91610f45916120d3565b8b60c001516120d3565b6060890152505b610f7a8b610160015183601b8110610f7057610f70614fbb565b6020020151612475565b8483610f8860286001614f81565b610f929190614f81565b60468110610fa257610fa2614fbb565b602002015250600101610da2565b5060408051808201909152600181526002602082015282610fd3601c6028614f81565b60468110610fe357610fe3614fbb565b6020020152604085015183610ffa601c6028614f81565b6046811061100a5761100a614fbb565b60200201526101c08901515f9061102090612475565b90508083611030601c6028614f81565b61103b906001614f81565b6046811061104b5761104b614fbb565b602002015260e088015184611062601c6028614f81565b61106d906001614f81565b6046811061107d5761107d614fbb565b60200201525f61108d84866125f2565b90505f611099836126b8565b90506110a582826126fe565b9c9b505050505050505050505050565b6110bd614957565b50604080516103c08101825263020000008152601960208083019190915261040c82840152825180840184527f1d3f6c4f254599191da5308cb600563f25cc189302fda1ff974624cb766507c881527f29ea062935de86e3e730b3d5a9ff1812c90415e0d36391ebba23723a966bdb3a818301526060830152825180840184527f226d7967352d2d66bea3bdfc710737c648886e245e3d17472631e3ba704045ab81527f28f58220d322790460baccd2f57415b2af4050c2cc19b9f75f8f76a4df27d3e2818301526080830152825180840184527f305cffa652147dbb78e56538d95cbc8f1ef72558daacf5641592efa8474e7db481527f2c2b9023386a94f5018a7f5ae185b188bca5784b7d5ec25e333fe131c3fe71308183015260a0830152825180840184527f0bdda4989b79f2d12e9716d6a0398fff6ffd07a21ab01037bb5d576f1e79601d81527f2175c971d1c1e4d244287b57859ffaa657efd308331c3bc4b3aeacaa585caf7b8183015260c0830152825180840184527f06361975e858c40f41732defd018ea1744c903ed913e5395a75b4619f1e52c1181527f03fa3276f24a5610f4e89fdb196aa4d58e682363e3db74ab74cef6dc0cce8ff08183015260e0830152825180840184527f11519bd8c9baf4e5dfaf2202b477ddd2a71642958e6d344d988b21fc0462c0ad81527f19e87b75a14f428110d402370835a77dd922212bca240b3a3de4c576896b990a81830152610100830152825180840184527f25a5859635c879aab2434f0abb7d4d49ee8c6caab3e0be1e5dcc5b20164f96ef81527f2b8c29f921dad7a6b79c13d62ad140d6b2d14c0723f5650775209438e58af12281830152610120830152825180840184527f169ade294e42e1bd18710d07147cc925a5a907b94fad4d2b811c3fc1354178f681527f029208937f2fdc496e8c7dbb5b44b32bb9d21dd100fccfdc7c4eb2f17272fc5481830152610140830152825180840184527f1d03f655954abc2e44a3e196ad331169aa61a005b2c0a8b6dd77aad7231769b781527f1cf9e000661d05f92c789cd242b7bf2879a1af25b2c59951b07d0095422c857981830152610160830152825180840184527f1661de4b3d5bc0a131b65cb2cddc0f73881b1a2a6cb3db70a3857900ed5edde581527f15e16951b86c6a1b86fb300df8fb10d41f5a393b190bdc54596d479495245b6881830152610180830152825180840184527f0a1803388e0820afcf10c9472c4a3055676772b0a25613df9f93405047563cc581527f0e0e157900d8247babb08961c290849fcec5dfe670cbee084294ffd5c9159e06818301526101a0830152825180840184527f178d04d500c4b1f6a3fb28232a88170bcda963fbe8a84b3a4367609557b54ba581527f0e7554f46e23aa8bfce4f844400eee5b9b3d275eb5e779f34659c84dad1b96ed818301526101c0830152825180840184527f1c59941775788d0eefe58d0cdc800712c27634f24affe5785c4a625ee02328ba81527f29e83885ac4f11cb4395d1c3aa9a3aa613bd848eec0eda011a9af7899c38bf63818301526101e0830152825180840184527f0b366bc769bab4d043b40818007136a960ffb2aba6067d8aa5b3e151094a00bb81527f2aad7cf160a1153e4f27b21689783932ad785c4bfe15b1bcd7e9645167f1713981830152610200830152825180840184527f090e5587dbb6f81a4e3145e0d6c0a27332eeccd1dbc7d8977e0f091543edb2f381527f02ce04233461716a9b1de69dda59084852efe322b51652daf920590bf4dfd34581830152610220830152825180840184527f1a6db67136003e3d08d5883fa3c9f7819c1d160911668619a7a9bfba07d07f1681527f2bddf26be606ea79dd5619256ea5d1fe84ceba529a3c9c0733ad10ca77ffa92481830152610240830152825180840184527f0cd7e9193db0842ae6a24411e01e706b94f685c362161f2d749a03b9153bfe4781527f07cec05beeed56897b6aae42f043781e41dbd3cb47889dd067e4337f2c77958681830152610260830152825180840184527f0f0b9aa54219a10be5e672717c4fed3486741da8971156ac4ed09b64823af68d81527f03be510c10715e1088ede62a4472ea74f99a6c5e57603a2f9d19b39075d578a181830152610280830152825180840184527f1e2e2caca3cc826e8a9c8379b88ef042bfd2af0e96da2c843fb41b8f739ba4e481527f018a6eae54c193b4cecd708547c8df037a004f3d7c9cde108c5e3d01fe8b63cb818301526102a0830152825180840184527f1603c7af8ae49f4e2243dc7fba3ac4f69c9896473edeea29320cc67dd26512ca81527f2feaa7a7b9ea3f0fc830e22d76e710f5ad9cc2308f0e5d943bced8c5e61511a3818301526102c0830152825180840184527f2b2bc8e723c93a8e2ddefa89be6199d18ee2b6cd8c34ed6029123afc0594463381527f1f0708dc0b3ae49b687990ee35732057e9aa9aeb8d7174c9be0212710a4875ec818301526102e0830152825180840184527f2f4e0e73619e22e05200bd9de4ea73a3fc38ac033787e58016ef8f6e0c20b1fb81527f2f2b94d720217b157176b458c9d8f1b192a1466618a7901bce7f435a1edd6da181830152610300830152825180840184527f2003a0aec140164182e4ff65e13c9fd005e08922f739d8b6423dcf8fa26f9ec281527f13793b4ea820fac86bf339259e4c76e9e5a49a35f7c1a1ccf7f2ed9e0215748881830152610320830152825180840184527f1abe3e80fbe4e7e479e25e018648cfbf398a6057281cecf3c3a76f220a62474081527f29a28edb5e574311167384f452aa8112795513c8c164fcbcd592386a7fbfc33381830152610340830152825180840184527f21ad8f9bf46d94bf9d93469d756464c74999dbb805c6ab7b2bfcb5c3a495c81081527f224803cf8531674748532f90c6a2a835030a07111344dc02418159a6178927a881830152610360830152825180840184526001815260028183015261038083015282518084019093527f07b0c95648ca8135e093b45e15d0d350ed23b4c49ebd99113de222681ef4c62183527f19b758cc3a695fa42efc8c049481eb4f70f44b29f4e4cf673edeeda6d65dd6de908301526103a081019190915290565b5f602082146119ea5760405162461bcd60e51b815260206004820152601460248201527334b73b30b634b210313cba32b99039b1b0b630b960611b60448201526064015b60405180910390fd5b6119f76105fc8385614fe7565b9392505050565b611a06614c44565b60808214611a4c5760405162461bcd60e51b81526020600482015260136024820152721a5b9d985b1a5908189e5d195cc81c1bda5b9d606a1b60448201526064016119e1565b604080516080810190915280611a6560205f8688614f94565b611a6e91614fe7565b8152602090810190611a84906040908688614f94565b611a8d91614fe7565b8152602001611aa0606060408688614f94565b611aa991614fe7565b8152602001611abc608060608688614f94565b611ac591614fe7565b90529392505050565b611ad6614c68565b5f611ae5898989898989612902565b604086019190915260208501919091529083529250611b04838a612da8565b608085019190915260608401919091529199919850909650505050505050565b611b2c614c98565b5f611b35614cb7565b848152610100848101805151602080850191909152815181015160408086019190915282518101516060808701919091529251830151608086015260a080890180515191870191909152805183015160c0870152805182015160e087015251909201519284019290925251611bcb91611bb091849101615004565b604051602081830303815290604052805190602001206120b5565b9150611bd682612e77565b6020850152835260015b611bec6002601961504c565b811015611c6c57611c0983604051602001611bb091815260200190565b9250611c1483612e77565b85611c20846002614f57565b60198110611c3057611c30614fbb565b6020020186611c40856002614f57565b611c4b906001614f81565b60198110611c5b57611c5b614fbb565b602002019190915252600101611be0565b50611c8382604051602001611bb091815260200190565b91505f611c8f83612e77565b85611c9c60016019614f6e565b60198110611cac57611cac614fbb565b60200201919091525050509250929050565b611cc6614cd6565b5f805b601c811015611d1857611ce884604051602001611bb091815260200190565b93505f611cf485612e77565b8584601c8110611d0657611d06614fbb565b60200201919091525050600101611cc9565b5090929050565b611d27614cd6565b5f805b601c811015611dea57611d3b614cb7565b8481525f5b6008811015611da45786610120015183601c8110611d6057611d60614fbb565b60200201518160088110611d7657611d76614fbb565b602002015182611d87836001614f81565b60098110611d9757611d97614fbb565b6020020152600101611d40565b50611db981604051602001611bb09190615004565b94505f611dc586612e77565b8685601c8110611dd757611dd7614fbb565b6020020191909152505050600101611d2a565b50909391925050565b5f5f611dfd614cf5565b8381525f5b6028811015611e50578561014001518160288110611e2257611e22614fbb565b602002015182611e33836001614f81565b60298110611e4357611e43614fbb565b6020020152600101611e02565b50611e6581604051602001611bb0919061505f565b91505f611e7183612e77565b5096929550919350505050565b5f5f611e88614d14565b8381525f5b611e996001601c614f6e565b811015611fd75785610160015181601b8110611eb757611eb7614fbb565b60200201515182611ec9836004614f57565b611ed4906001614f81565b606d8110611ee457611ee4614fbb565b602002015261016086015181601b8110611f0057611f00614fbb565b60200201516020015182826004611f179190614f57565b611f22906002614f81565b606d8110611f3257611f32614fbb565b602002015261016086015181601b8110611f4e57611f4e614fbb565b60200201516040015182611f63836004614f57565b611f6e906003614f81565b606d8110611f7e57611f7e614fbb565b602002015261016086015181601b8110611f9a57611f9a614fbb565b60200201516060015182611faf836004614f57565b611fba906004614f81565b606d8110611fca57611fca614fbb565b6020020152600101611e8d565b50611e6581604051602001611bb09190615093565b5f5f611ff6614d33565b8381525f5b601c8110156120495785610180015181601c811061201b5761201b614fbb565b60200201518261202c836001614f81565b601d811061203c5761203c614fbb565b6020020152600101611ffb565b50611e6581604051602001611bb091906150c7565b5f5f612068614d52565b8381526101a085018051516020808401919091528151810151604080850191909152825181015160608086019190915292519092015160808401529051611e6591611bb0918491016150fb565b5f6120cd5f51602061523d5f395f51905f528361512e565b92915050565b5f5f51602061523d5f395f51905f528284099392505050565b5f5f51602061523d5f395f51905f528284089392505050565b5f5f51602061523d5f395f51905f5261212b835f51602061523d5f395f51905f52614f6e565b84089392505050565b5f6119f7836106018461240c565b81515f908190612154908560016108d3565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b60088110156122465761223c826106018784612105565b9150600101612225565b5061224f614d70565b5f5b60088110156122b0575f84826008811061226d5761226d614fbb565b60200201519050612282816106018985612105565b905061228d8161240c565b9050808383600881106122a2576122a2614fbb565b602002015250600101612251565b505f5b6008811015612303575f8782600881106122cf576122cf614fbb565b602002015190506122ec81848460088110610ef357610ef3614fbb565b90506122f886826120ec565b9550506001016122b3565b5061082e84836120d3565b5f5f612324600161060685610601896001612105565b905061233084826120d3565b95945050505050565b5f612342614d8f565b61234d868285612ea7565b61235986868386613053565b6123658686838661323b565b612370868285613437565b61237b86828561361f565b61238786868386613968565b612392868285614202565b61239d8682856145cd565b61082e81856148c2565b6123af614cd6565b81815260015b601c811015612406576123e7826123cd600184614f6e565b601c81106123dd576123dd614fbb565b60200201516125e7565b8282601c81106123f9576123f9614fbb565b60200201526001016123b5565b50919050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f51602061523d5f395f51905f520360808201525f51602061523d5f395f51905f5260a082015260205f60c08360055afa90508061246a575f5ffd5b50505f519392505050565b61247d614dae565b604051806040016040528060888460200151901b845f015117815260200160888460600151901b8460400151178152509050919050565b5f6120cd825f51602061523d5f395f51905f52614f6e565b6124d4614cd6565b601c5b80156125dd575f846124ea600184614f6e565b601c81106124fa576124fa614fbb565b602002015190505f8861250e600185614f6e565b601c811061251e5761251e614fbb565b602002015190505f61257961253d612536858c6120d3565b60026120d3565b6106248a61254c600189614f6e565b601c811061255c5761255c614fbb565b60200201516106016125738861060160018a612105565b87612105565b905061259a816106016108b961259487610601600189612105565b866120ec565b90508584116125c95797508780856125b3600187614f6e565b601c81106125c3576125c3614fbb565b60200201525b505050806125d690615141565b90506124d7565b5095945050505050565b5f6120cd82836120d3565b6125fa614dae565b5f612607601c6028614f81565b612612906002614f81565b90506001604051855151604082015285516020015160608201528451608082015260408160606040840160075afa8216915060015b838110156126a05760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612647565b50805184526020810151602085015250505092915050565b6126c0614dae565b5f51602061521d5f395f51905f5282602001515f51602061521d5f395f51905f526126eb9190614f6e565b6126f5919061512e565b60208301525090565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516128949190615156565b5f60405180830381855afa9150503d805f81146128cc576040519150601f19603f3d011682016040523d82523d5f602084013e6128d1565b606091505b50915091505f818060200190518101906128eb919061516c565b90508280156128f75750805b979650505050505050565b5f80808080612912876003614f81565b61291d90600c614f81565b6001600160401b038111156129345761293461518b565b60405190808252806020026020018201604052801561295d578160200160208202803683370190505b509050875f1b815f8151811061297557612975614fbb565b602002602001018181525050865f1b8160018151811061299757612997614fbb565b602002602001018181525050855f1b816002815181106129b9576129b9614fbb565b60209081029190910101525f5b6129d1601089614f6e565b811015612a22578a8a828181106129ea576129ea614fbb565b90506020020135828260036129ff9190614f81565b81518110612a0f57612a0f614fbb565b60209081029190910101526001016129c6565b505f5b6010811015612a93578b51612a4d908260108110612a4557612a45614fbb565b602002015190565b82826010612a5c8c6003614f81565b612a669190614f6e565b612a709190614f81565b81518110612a8057612a80614fbb565b6020908102919091010152600101612a25565b5060208b01515181612aa6896003614f81565b81518110612ab657612ab6614fbb565b6020908102919091018101919091528b810151015181612ad7896003614f81565b612ae2906001614f81565b81518110612af257612af2614fbb565b6020908102919091018101919091528b01516040015181612b14896003614f81565b612b1f906002614f81565b81518110612b2f57612b2f614fbb565b6020908102919091018101919091528b01516060015181612b51896003614f81565b612b5c906003614f81565b81518110612b6c57612b6c614fbb565b602090810291909101015260408b01515181612b89896003614f81565b612b94906004614f81565b81518110612ba457612ba4614fbb565b60209081029190910181019190915260408c0151015181612bc6896003614f81565b612bd1906005614f81565b81518110612be157612be1614fbb565b60209081029190910101526040808c0151015181612c00896003614f81565b612c0b906006614f81565b81518110612c1b57612c1b614fbb565b602090810291909101015260408b01516060015181612c3b896003614f81565b612c46906007614f81565b81518110612c5657612c56614fbb565b602090810291909101015260608b01515181612c73896003614f81565b612c7e906008614f81565b81518110612c8e57612c8e614fbb565b60209081029190910181019190915260608c0151015181612cb0896003614f81565b612cbb906009614f81565b81518110612ccb57612ccb614fbb565b602090810291909101015260608b01516040015181612ceb896003614f81565b612cf690600a614f81565b81518110612d0657612d06614fbb565b60209081029190910101526060808c0151015181612d25896003614f81565b612d3090600b614f81565b81518110612d4057612d40614fbb565b602002602001018181525050612d6081604051602001611bb0919061519f565b9150612d6b82612e77565b6040805160208101869052929750909550612d869101611bb0565b91505f612d9283612e77565b50959c949b509499509097509195505050505050565b5f5f5f612db3614dc6565b85815260c085810180515160208085019190915281518101516040808601919091528251810151606080870191909152925183015160808087019190915260e0808b0180515160a089015280518501519688019690965285518301519087015293518301516101008601529288018051516101208601528051820151610140860152805184015161016086015251909101516101808401529051612e5d91611bb0918491016151d4565b9150612e6882612e77565b90979096509194509092505050565b5f80826001600160801b038116608082901c612e92826120b5565b9450612e9d816120b5565b9350505050915091565b5f612eb3846007614927565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f612f14612f0e612ee8856003612105565b610601612f03612ef88b5f614927565b6106018c601c614927565b6106018b601b614927565b836120d3565b9050612f95612f8a612f71612f58612f3f85610606612f348d6002614927565b6106018e601b614927565b610606612f4d8c6003614927565b6106018d601c614927565b610606612f668b6004614927565b6106018c601d614927565b610606612f7f8a6005614927565b6106018b601e614927565b610606886001614927565b9050612fb481610606612fa9866001612105565b6106018a6026614927565b9050612fc081846120d3565b9050612fcc81856120d3565b8552505f9050613006612ffc612ff1612fe688601b614927565b61060689601e614927565b610624886023614927565b610606875f614927565b905061301781610601846002612105565b905061302881610601846001612105565b905061303481836120d3565b905061304081846120d3565b9050808460015b60200201525050505050565b5f5f5f61308961307f61306789601b614927565b6106066130758b6011614927565b8a606001516120d3565b87608001516120ec565b90506130c2816106016130b86130a08b601c614927565b6106066130ae8d6012614927565b8c606001516120d3565b89608001516120ec565b90506130e7816106016130b86130d98b601d614927565b6106066130ae8d6013614927565b905061310c816106016130b86130fe8b601e614927565b6106066130ae8d6014614927565b92505f905061313061307f61312289601b614927565b6106066130758b600d614927565b9050613155816106016130b86131478b601c614927565b6106066130ae8d600e614927565b905061317a816106016130b861316c8b601d614927565b6106066130ae8d600f614927565b905061319f816106016130b86131918b601e614927565b6106066130ae8d6010614927565b91505f90506131c66131c06131b589601f614927565b6106068a6019614927565b846120d3565b90506131fb816106246131f56131dd8b6027614927565b6106066131eb8d601a614927565b8c60a001516120d3565b856120d3565b905061320781856120d3565b6040860152505f61322a6131f561321f89601a614927565b6106018a6027614927565b606090950194909452505050505050565b5f5f6132996132816132696132546130b88a6015614927565b6106066132628b6016614927565b8a516120d3565b6106066132778a6017614927565b89602001516120d3565b61060661328f896018614927565b88604001516120d3565b91505f6132d06132b76132ad89601b614927565b88608001516120ec565b6106066132c58a6003614927565b6106018b6023614927565b90505f6132f96132e189601c614927565b6106066132ee8b5f614927565b6106018c6024614927565b90505f61332361330a8a601d614927565b6106066133188c6001614927565b6106018d6025614927565b905061336261334a61333c85610606868d5f01516120d3565b610606848c602001516120d3565b6106066133588c6004614927565b8b604001516120d3565b93505050505f6133766131c0886020614927565b90505f6133876131c0896020614927565b90505f6133bf6133a661339b8b6022614927565b6106068c6006614927565b6106246133b48c6022614927565b6106018d6006614927565b90505f6133e36133dd6133d287896120d3565b6106018d6020614927565b83612105565b90506133ef81886120d3565b90505f6134176134096134038d6006614927565b876120d3565b6106246134038e6021614927565b60808a018390529050808960055b60200201525050505050505050505050565b5f6134435f6001612105565b90505f6134515f6002612105565b90505f61345f5f6003612105565b90505f61347b61347088601c614927565b61062489601b614927565b90505f61349761348c89601d614927565b6106248a601c614927565b90505f6134b36134a88a601e614927565b6106248b601d614927565b90505f6134cf6134c48b6023614927565b6106248c601e614927565b9050836134e081610601818b6120ec565b90506134f081610601878a6120ec565b90506135008161060187896120ec565b9050613511816106018d6008614927565b905061351d818a6120d3565b60c08b0152508261353281610601818b6120ec565b905061354281610601868a6120ec565b90506135528161060186896120ec565b9050613563816106018d6008614927565b905061356f818a6120d3565b60e08b0152508161358481610601818b6120ec565b905061359481610601858a6120ec565b90506135a48161060185896120ec565b90506135b5816106018d6008614927565b90506135c1818a6120d3565b6101008b015250806135d781610601818b6120ec565b90506135e781610601848a6120ec565b90506135f78161060184896120ec565b9050613608816106018d6008614927565b9050613614818a6120d3565b9050808a6009613425565b6136586040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61366384601c614927565b815261367084601d614927565b6020820152613680846023614927565b6040820152613690846026614927565b60608201526136a0846025614927565b60808201526136b0846024614927565b60a08201525f6136c1856002614927565b90505f6136ce865f614927565b90505f6136e28460400151855f0151612105565b90505f6136f7856020015186602001516120d3565b606086015190915086905f9061370d90806120d3565b90505f61372b61372589602001518a606001516120d3565b886120d3565b90505f61374a6137438a60a001518b604001516120ec565b8a516120ec565b905061375961340382886120d3565b905061378061377a61377461376e8487612105565b88612105565b846120ec565b836120ec565b90506137a861379d61379283876120d3565b6106018f6009614927565b61060160018a612105565b6101408c015250505050602085015160808601515f916137c7916120ec565b90505f6137e56137db8860600151886120d3565b8860200151612105565b90505f6138096137f584876120d3565b6106066131f58b60a001518c5f0151612105565b905061383161382661381b838c6120d3565b6106018e6009614927565b610601600189612105565b6101608b0152505f9150613852905061384b8360116120ec565b87516120d3565b90505f61385f83846120ec565b905061386b81826120ec565b90505f6138798360096120d3565b90506138a261389c6131c06138958b60a001518c5f01516120ec565b8b516120ec565b82612105565b60c089018190525f906138bd9061372590613792908d6120d3565b90506138d08b600a6020020151826120ec565b6101408c0152505086515f92506138f7915061384b906138f090806120ec565b88516120ec565b90505f613937613912836106018a5f01518b60a00151612105565b60208901516106249061392590806120ec565b6106018b602001518c608001516120ec565b905061395489600b6020020151610606613725613792858d6120d3565b89600b602002015250505050505050505050565b6139fc604051806102c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613a31613a18613a0d87601b614927565b610601886024614927565b610606613a26886023614927565b61060189601c614927565b8152613a76613a6b613a52613a4788601b614927565b61060189601e614927565b610606613a6089601c614927565b6106018a601d614927565b610624876025614927565b60408201819052613a8b90600160441b6120d3565b60408201819052613aa190610624876026614927565b604082018190528151613ab491906120ec565b60408201819052613aca90610601876005614927565b60408201528051613adf90600160441b6120d3565b808252613aff90610606613af4886023614927565b610601896024614927565b80825260208201819052613b1b90610624612fe688601d614927565b60208201819052613b3190610601876004614927565b6020820152805160608201819052613b4e9061060687601e614927565b60608201819052613b7290610624613b67886025614927565b610606896026614927565b60608201819052613b8790610601875f614927565b8160600181815250505f613bb0613ba6836020015184604001516120ec565b83606001516120ec565b9050613bc181610601886003614927565b9050613bd9613bd1876024614927565b6140006120d3565b60808301819052613bef90610606886023614927565b60808301819052613c02906140006120d3565b60808301819052613c189061060688601d614927565b60808301819052613c2b906140006120d3565b60808301819052613c419061060688601c614927565b60808301819052613c54906140006120d3565b60808301819052613c6a9061060688601b614927565b60808301819052613c809061062488601e614927565b60808301819052613c9690610601886005614927565b6080830152613ca9613bd1876025614927565b60a08301819052613cbf90610606886024614927565b60a08301819052613cd2906140006120d3565b60a08301819052613ce890610606886023614927565b60a08301819052613cfb906140006120d3565b60a08301819052613d119061060688601e614927565b60a08301819052613d24906140006120d3565b60a08301819052613d3a9061060688601d614927565b60a08301819052613d5090610624886026614927565b60a08301819052613d6590610601885f614927565b60a0830181905260808301515f91613d7d91906120ec565b9050613d8e81610601896004614927565b9050613da8613d9e88601d614927565b87604001516120d3565b60c08401819052613dc1906106066132778a601c614927565b60c08401819052613de190610606613dda8a601b614927565b89516120d3565b60c08401819052613df790610606896001614927565b60c0840181905260e08401819052613e149061062489601e614927565b60c0840152613e27613470886023614927565b610140840152613e46613e3b886026614927565b61062489601e614927565b610120840152610140830151613e6b90613e6090806120d3565b846101400151612105565b610280840152610140830151613ead90613ea290613e9b9061060160015f51602061523d5f395f51905f52614f6e565b60016120ec565b8461012001516120d3565b6101608401819052613ee490613ed690610601613ecb8b6002614927565b6106018c6003614927565b6106016134038a600a614927565b6101a0860152610280830151613f0690613ed690610601613ecb8b6002614927565b6101c086015260c0830151613f2e90610601613f238a6002614927565b6106018b6003614927565b6101e08401525f613f4d613f4389601e614927565b8560e00151612105565b9050613f5c61389c82836120d3565b6101a0850152613f7061328f896025614927565b6101008501819052613f9490610606613f8a8b6024614927565b8a602001516120d3565b6101008501819052613fae906106066132628b6023614927565b610100850152613fcd613fc2896026614927565b856101000151612105565b6101008501525f613fe26134a88a6025614927565b9050614036614010612f0e613e9b88610140015160015f51602061523d5f395f51905f526106019190614f6e565b610601613e9b88610100015160015f51602061523d5f395f51905f526106019190614f6e565b61018086015261010085015161405b9061405090806120d3565b866101000151612105565b6101c086015261018085015161408e9061407a906106018c6007614927565b6106016140888c600a614927565b896120d3565b6101e08801526102808501516140ad9061407a906106018c6007614927565b6102008801526101c08501516140cc9061407a906106018c6007614927565b6102208801526101a08501516140e7906106018b6007614927565b6102008601526141066140fb8a6024614927565b6106248b601c614927565b610220860152610140850151614145906134a89061413a90613e9b9061060160015f51602061523d5f395f51905f52614f6e565b8761022001516120d3565b61024086018190526101e0860151610260870181905261417c91610606906106016141718e6005614927565b6106018f6002614927565b610260860181905260c086015161419f9190610606906106016141718e5f614927565b61026086018190526102008601516141b791906120ec565b61026086018190526141cd9061377490866120ec565b6102a086018190526141e7906106016140888c600a614927565b6102a0860181905287600c6020020152505050505050505050565b6142786040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61429161428685601b614927565b610606866002614927565b81526142ac6142a185601c614927565b610606866003614927565b60208201526142ca6142bf85601d614927565b610606866004614927565b60408201526142e86142dd85601e614927565b610606866005614927565b6060820152805161431a906143139061430c9061430590806120d3565b84516120d3565b83516120d3565b82516120d3565b608082015260208101516143589061434e906143449061433a90806120d3565b84602001516120d3565b83602001516120d3565b82602001516120d3565b60a082015260408101516143969061438c906143829061437890806120d3565b84604001516120d3565b83604001516120d3565b82604001516120d3565b60c082015260608101516143d4906143ca906143c0906143b690806120d3565b84606001516120d3565b83606001516120d3565b82606001516120d3565b60e0820152608081015160a08201516143ed91906120ec565b61010082015260c081015160e082015161440791906120ec565b61012082015260a081015161442b9061442090806120ec565b8261012001516120ec565b61014082015260e081015161444f9061444490806120ec565b8261010001516120ec565b61016082015261012081015161446590806120ec565b6101e082018190526144869061447b90806120ec565b8261016001516120ec565b6101e082015261010081015161449c90806120ec565b6101a082018190526144bd906144b290806120ec565b8261014001516120ec565b6101a082018190526101608201516144d4916120ec565b6101808201526101408101516101e08201516144f091906120ec565b6101c0820152614504612f0e85600b614927565b610200820181905261024084015161018083015161452f9261060691610601906106248a6023614927565b836012602002015261455f8360136020020151610606836102000151610601856101a001516106248a6024614927565b836013602002015261458f8360146020020151610606836102000151610601856101c001516106248a6025614927565b83601460200201526145bf8360156020020151610606836102000151610601856101e001516106248a6026614927565b836015602002015250505050565b61461f6040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60405180608001604052806146547f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e76120b5565b81526020016146827f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b6120b5565b81526020016146af7e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac156120b5565b81526020016146dd7f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b6120b5565b905290506146fa6146ef86601b614927565b610606876002614927565b610120830181905261472e9061472390613ea29061471890806120d3565b8561012001516120d3565b8361012001516120d3565b825261473b85601c614927565b602083015261474b85601d614927565b604083015261475b85601e614927565b60608301528151602083015161478391613ba69161477991906120ec565b84604001516120ec565b60808301526147966131c086600c614927565b61014083015281516147b7906147ad90835f610ef3565b83608001516120ec565b60a08301526147e384601660200201516106068461014001516106018660a001516106248b6023614927565b6102c085015260208201516147fe906147ad90836001610ef3565b60c083015261482a84601760200201516106068461014001516106018660c001516106248b6024614927565b6102e08501526040820151614845906147ad90836002610ef3565b60e083015261487184601860200201516106068461014001516106018660e001516106248b6025614927565b610300850152606082015161488c906147ad90836003610ef3565b6101008301526148ba84601960200201516106068461014001516106018661010001516106248b6026614927565b846019613047565b5f6148ce8184816108d3565b905060015b601a81101561492057614916826106068684601a81106148f5576148f5614fbb565b602002015186614906600187614f6e565b60198110610ef357610ef3614fbb565b91506001016148d3565b5092915050565b5f8282602781111561493b5761493b615208565b6028811061494b5761494b614fbb565b60200201519392505050565b604051806103c001604052805f81526020015f81526020015f815260200161497d614dae565b815260200161498a614dae565b8152602001614997614dae565b81526020016149a4614dae565b81526020016149b1614dae565b81526020016149be614dae565b81526020016149cb614dae565b81526020016149d8614dae565b81526020016149e5614dae565b81526020016149f2614dae565b81526020016149ff614dae565b8152602001614a0c614dae565b8152602001614a19614dae565b8152602001614a26614dae565b8152602001614a33614dae565b8152602001614a40614dae565b8152602001614a4d614dae565b8152602001614a5a614dae565b8152602001614a67614dae565b8152602001614a74614dae565b8152602001614a81614dae565b8152602001614a8e614dae565b8152602001614a9b614dae565b8152602001614aa8614dae565b8152602001614ab5614dae565b8152602001614ac2614dae565b8152602001614acf614dae565b905290565b604051806101e00160405280614ae8614de5565b8152602001614af5614c44565b8152602001614b02614c44565b8152602001614b0f614c44565b8152602001614b1c614c44565b8152602001614b29614c44565b8152602001614b36614c44565b8152602001614b43614c44565b8152602001614b50614c44565b8152602001614b5d614e04565b8152602001614b6a614e32565b8152602001614b77614e51565b8152602001614b84614cd6565b8152602001614b91614c44565b8152602001614acf614c44565b604051806101000160405280614bb2614c68565b8152602001614bbf614c98565b8152602001614bcc614cd6565b8152602001614bd9614cd6565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806108c001604052806046906020820280368337509192915050565b604051806108c001604052806046905b614c2e614dae565b815260200190600190039081614c265790505090565b60405180608001604052805f81526020015f81526020015f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061032001604052806019906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061052001604052806029906020820280368337509192915050565b60405180610da00160405280606d906020820280368337509192915050565b604051806103a00160405280601d906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b604051806103400160405280601a906020820280368337509192915050565b60405180604001604052805f81526020015f81525090565b604051806101a00160405280600d906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b614e1c614d70565b815260200190600190039081614e145790505090565b6040518061050001604052806028906020820280368337509192915050565b604051806103600160405280601b905b614e69614c44565b815260200190600190039081614e615790505090565b5f5f5f5f60408587031215614e92575f5ffd5b84356001600160401b03811115614ea7575f5ffd5b8501601f81018713614eb7575f5ffd5b80356001600160401b03811115614ecc575f5ffd5b876020828401011115614edd575f5ffd5b6020918201955093508501356001600160401b03811115614efc575f5ffd5b8501601f81018713614f0c575f5ffd5b80356001600160401b03811115614f21575f5ffd5b8760208260051b8401011115614f35575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176120cd576120cd614f43565b818103818111156120cd576120cd614f43565b808201808211156120cd576120cd614f43565b5f5f85851115614fa2575f5ffd5b83861115614fae575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b5f60018201614fe057614fe0614f43565b5060010190565b803560208310156120cd575f19602084900360031b1b1692915050565b5f8183825b6009811015615028578151835260209283019290910190600101615009565b5050506101208201905092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261505a5761505a615038565b500490565b5f8183825b6029811015615083578151835260209283019290910190600101615064565b5050506105208201905092915050565b5f8183825b606d8110156150b7578151835260209283019290910190600101615098565b505050610da08201905092915050565b5f8183825b601d8110156150eb5781518352602092830192909101906001016150cc565b5050506103a08201905092915050565b5f8183825b600581101561511f578151835260209283019290910190600101615100565b50505060a08201905092915050565b5f8261513c5761513c615038565b500690565b5f8161514f5761514f614f43565b505f190190565b5f82518060208501845e5f920191825250919050565b5f6020828403121561517c575f5ffd5b815180151581146119f7575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b81515f90829060208501835b828110156151c95781518452602093840193909101906001016151ab565b509195945050505050565b5f8183825b600d8110156151f85781518352602092830192909101906001016151d9565b5050506101a08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
4
4
  /**
5
5
  * HonkVerifier link references.
6
6
  */ export const HonkVerifierLinkReferences = {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/l1-artifacts",
3
- "version": "0.86.0-nightly.20250506",
3
+ "version": "0.86.0-nightly.20250508",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./*": "./dest/*.js",