@aztec/l1-artifacts 1.0.0-nightly.20250723 → 1.0.0-nightly.20250725
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/CoinIssuerAbi.d.ts +24 -4
- package/dest/CoinIssuerAbi.d.ts.map +1 -1
- package/dest/CoinIssuerAbi.js +32 -5
- package/dest/CoinIssuerBytecode.d.ts +1 -1
- package/dest/CoinIssuerBytecode.js +1 -1
- package/dest/EmpireBaseAbi.d.ts +34 -4
- package/dest/EmpireBaseAbi.d.ts.map +1 -1
- package/dest/EmpireBaseAbi.js +45 -5
- package/dest/ErrorsAbi.d.ts +24 -4
- package/dest/ErrorsAbi.d.ts.map +1 -1
- package/dest/ErrorsAbi.js +32 -5
- package/dest/ExtRollupLib2Abi.d.ts +24 -4
- package/dest/ExtRollupLib2Abi.d.ts.map +1 -1
- package/dest/ExtRollupLib2Abi.js +32 -5
- package/dest/ExtRollupLib2Bytecode.d.ts +1 -1
- package/dest/ExtRollupLib2Bytecode.d.ts.map +1 -1
- package/dest/ExtRollupLib2Bytecode.js +1 -1
- package/dest/ExtRollupLibAbi.d.ts +24 -4
- package/dest/ExtRollupLibAbi.d.ts.map +1 -1
- package/dest/ExtRollupLibAbi.js +32 -5
- package/dest/ExtRollupLibBytecode.d.ts +1 -1
- package/dest/ExtRollupLibBytecode.js +1 -1
- package/dest/FeeAssetHandlerAbi.d.ts +24 -4
- package/dest/FeeAssetHandlerAbi.d.ts.map +1 -1
- package/dest/FeeAssetHandlerAbi.js +32 -5
- package/dest/FeeJuicePortalAbi.d.ts +24 -4
- package/dest/FeeJuicePortalAbi.d.ts.map +1 -1
- package/dest/FeeJuicePortalAbi.js +32 -5
- package/dest/FeeJuicePortalBytecode.d.ts +1 -1
- package/dest/FeeJuicePortalBytecode.js +1 -1
- package/dest/GSEAbi.d.ts +24 -4
- package/dest/GSEAbi.d.ts.map +1 -1
- package/dest/GSEAbi.js +32 -5
- package/dest/GSEBytecode.d.ts +1 -1
- package/dest/GSEBytecode.js +1 -1
- package/dest/GovernanceAbi.d.ts +24 -4
- package/dest/GovernanceAbi.d.ts.map +1 -1
- package/dest/GovernanceAbi.js +32 -5
- package/dest/GovernanceBytecode.d.ts +1 -1
- package/dest/GovernanceBytecode.js +1 -1
- package/dest/GovernanceProposerAbi.d.ts +34 -4
- package/dest/GovernanceProposerAbi.d.ts.map +1 -1
- package/dest/GovernanceProposerAbi.js +45 -5
- package/dest/GovernanceProposerBytecode.d.ts +1 -1
- package/dest/GovernanceProposerBytecode.d.ts.map +1 -1
- package/dest/GovernanceProposerBytecode.js +1 -1
- package/dest/HonkVerifierAbi.d.ts +24 -4
- package/dest/HonkVerifierAbi.d.ts.map +1 -1
- package/dest/HonkVerifierAbi.js +32 -5
- package/dest/HonkVerifierBytecode.d.ts +1 -1
- package/dest/HonkVerifierBytecode.d.ts.map +1 -1
- package/dest/HonkVerifierBytecode.js +1 -1
- package/dest/IERC20Abi.d.ts +24 -4
- package/dest/IERC20Abi.d.ts.map +1 -1
- package/dest/IERC20Abi.js +32 -5
- package/dest/IVerifierAbi.d.ts +24 -4
- package/dest/IVerifierAbi.d.ts.map +1 -1
- package/dest/IVerifierAbi.js +32 -5
- package/dest/InboxAbi.d.ts +24 -4
- package/dest/InboxAbi.d.ts.map +1 -1
- package/dest/InboxAbi.js +32 -5
- package/dest/InboxBytecode.d.ts +1 -1
- package/dest/InboxBytecode.js +1 -1
- package/dest/MockVerifierAbi.d.ts +24 -4
- package/dest/MockVerifierAbi.d.ts.map +1 -1
- package/dest/MockVerifierAbi.js +32 -5
- package/dest/MockZKPassportVerifierAbi.d.ts +26 -6
- package/dest/MockZKPassportVerifierAbi.d.ts.map +1 -1
- package/dest/MockZKPassportVerifierAbi.js +34 -7
- package/dest/MockZKPassportVerifierBytecode.d.ts +1 -1
- package/dest/MockZKPassportVerifierBytecode.js +1 -1
- package/dest/MultiAdderAbi.d.ts +24 -4
- package/dest/MultiAdderAbi.d.ts.map +1 -1
- package/dest/MultiAdderAbi.js +32 -5
- package/dest/MultiAdderBytecode.d.ts +1 -1
- package/dest/MultiAdderBytecode.js +1 -1
- package/dest/NewGovernanceProposerPayloadAbi.d.ts +24 -4
- package/dest/NewGovernanceProposerPayloadAbi.d.ts.map +1 -1
- package/dest/NewGovernanceProposerPayloadAbi.js +32 -5
- package/dest/NewGovernanceProposerPayloadBytecode.d.ts +1 -1
- package/dest/NewGovernanceProposerPayloadBytecode.d.ts.map +1 -1
- package/dest/NewGovernanceProposerPayloadBytecode.js +1 -1
- package/dest/OutboxAbi.d.ts +24 -4
- package/dest/OutboxAbi.d.ts.map +1 -1
- package/dest/OutboxAbi.js +32 -5
- package/dest/OutboxBytecode.d.ts +1 -1
- package/dest/OutboxBytecode.js +1 -1
- package/dest/RegisterNewRollupVersionPayloadAbi.d.ts +24 -4
- package/dest/RegisterNewRollupVersionPayloadAbi.d.ts.map +1 -1
- package/dest/RegisterNewRollupVersionPayloadAbi.js +32 -5
- package/dest/RegisterNewRollupVersionPayloadBytecode.d.ts +1 -1
- package/dest/RegisterNewRollupVersionPayloadBytecode.js +1 -1
- package/dest/RegistryAbi.d.ts +24 -4
- package/dest/RegistryAbi.d.ts.map +1 -1
- package/dest/RegistryAbi.js +32 -5
- package/dest/RegistryBytecode.d.ts +1 -1
- package/dest/RegistryBytecode.js +1 -1
- package/dest/RewardDistributorAbi.d.ts +24 -4
- package/dest/RewardDistributorAbi.d.ts.map +1 -1
- package/dest/RewardDistributorAbi.js +32 -5
- package/dest/RewardDistributorBytecode.d.ts +1 -1
- package/dest/RewardDistributorBytecode.js +1 -1
- package/dest/RollupAbi.d.ts +36 -4
- package/dest/RollupAbi.d.ts.map +1 -1
- package/dest/RollupAbi.js +47 -5
- package/dest/RollupBytecode.d.ts +27 -24
- package/dest/RollupBytecode.d.ts.map +1 -1
- package/dest/RollupBytecode.js +28 -24
- package/dest/SlashFactoryAbi.d.ts +24 -4
- package/dest/SlashFactoryAbi.d.ts.map +1 -1
- package/dest/SlashFactoryAbi.js +32 -5
- package/dest/SlashFactoryBytecode.d.ts +1 -1
- package/dest/SlashFactoryBytecode.js +1 -1
- package/dest/SlasherAbi.d.ts +96 -6
- package/dest/SlasherAbi.d.ts.map +1 -1
- package/dest/SlasherAbi.js +127 -7
- package/dest/SlasherBytecode.d.ts +1 -1
- package/dest/SlasherBytecode.d.ts.map +1 -1
- package/dest/SlasherBytecode.js +1 -1
- package/dest/SlashingProposerAbi.d.ts +42 -4
- package/dest/SlashingProposerAbi.d.ts.map +1 -1
- package/dest/SlashingProposerAbi.js +55 -5
- package/dest/SlashingProposerBytecode.d.ts +1 -1
- package/dest/SlashingProposerBytecode.d.ts.map +1 -1
- package/dest/SlashingProposerBytecode.js +1 -1
- package/dest/StakingAssetHandlerAbi.d.ts +66 -30
- package/dest/StakingAssetHandlerAbi.d.ts.map +1 -1
- package/dest/StakingAssetHandlerAbi.js +85 -37
- package/dest/StakingAssetHandlerBytecode.d.ts +1 -1
- package/dest/StakingAssetHandlerBytecode.d.ts.map +1 -1
- package/dest/StakingAssetHandlerBytecode.js +1 -1
- package/dest/TestERC20Abi.d.ts +24 -4
- package/dest/TestERC20Abi.d.ts.map +1 -1
- package/dest/TestERC20Abi.js +32 -5
- package/dest/TokenPortalAbi.d.ts +24 -4
- package/dest/TokenPortalAbi.d.ts.map +1 -1
- package/dest/TokenPortalAbi.js +32 -5
- package/dest/TokenPortalBytecode.d.ts +1 -1
- package/dest/TokenPortalBytecode.js +1 -1
- package/dest/UniswapPortalAbi.d.ts +24 -4
- package/dest/UniswapPortalAbi.d.ts.map +1 -1
- package/dest/UniswapPortalAbi.js +32 -5
- package/dest/UniswapPortalBytecode.d.ts +1 -1
- package/dest/UniswapPortalBytecode.js +1 -1
- package/dest/ValidatorSelectionLibAbi.d.ts +24 -4
- package/dest/ValidatorSelectionLibAbi.d.ts.map +1 -1
- package/dest/ValidatorSelectionLibAbi.js +32 -5
- package/dest/ValidatorSelectionLibBytecode.d.ts +1 -1
- package/dest/ValidatorSelectionLibBytecode.js +1 -1
- package/dest/checksum.d.ts +1 -1
- package/dest/checksum.js +1 -1
- package/package.json +1 -1
|
@@ -181,10 +181,6 @@ export declare const HonkVerifierAbi: readonly [{
|
|
|
181
181
|
readonly type: "address";
|
|
182
182
|
readonly internalType: "address";
|
|
183
183
|
}];
|
|
184
|
-
}, {
|
|
185
|
-
readonly type: "error";
|
|
186
|
-
readonly name: "GovernanceProposer__CanOnlySubmitRoundWinnerInPast";
|
|
187
|
-
readonly inputs: readonly [];
|
|
188
184
|
}, {
|
|
189
185
|
readonly type: "error";
|
|
190
186
|
readonly name: "GovernanceProposer__FailedToSubmitRoundWinner";
|
|
@@ -217,6 +213,18 @@ export declare const HonkVerifierAbi: readonly [{
|
|
|
217
213
|
readonly type: "uint256";
|
|
218
214
|
readonly internalType: "uint256";
|
|
219
215
|
}];
|
|
216
|
+
}, {
|
|
217
|
+
readonly type: "error";
|
|
218
|
+
readonly name: "GovernanceProposer__InvalidLifetimeAndExecutionDelay";
|
|
219
|
+
readonly inputs: readonly [{
|
|
220
|
+
readonly name: "lifetimeInRounds";
|
|
221
|
+
readonly type: "uint256";
|
|
222
|
+
readonly internalType: "uint256";
|
|
223
|
+
}, {
|
|
224
|
+
readonly name: "executionDelayInRounds";
|
|
225
|
+
readonly type: "uint256";
|
|
226
|
+
readonly internalType: "uint256";
|
|
227
|
+
}];
|
|
220
228
|
}, {
|
|
221
229
|
readonly type: "error";
|
|
222
230
|
readonly name: "GovernanceProposer__InvalidQuorumAndRoundSize";
|
|
@@ -273,6 +281,18 @@ export declare const HonkVerifierAbi: readonly [{
|
|
|
273
281
|
readonly type: "uint256";
|
|
274
282
|
readonly internalType: "uint256";
|
|
275
283
|
}];
|
|
284
|
+
}, {
|
|
285
|
+
readonly type: "error";
|
|
286
|
+
readonly name: "GovernanceProposer__RoundTooNew";
|
|
287
|
+
readonly inputs: readonly [{
|
|
288
|
+
readonly name: "roundNumber";
|
|
289
|
+
readonly type: "uint256";
|
|
290
|
+
readonly internalType: "uint256";
|
|
291
|
+
}, {
|
|
292
|
+
readonly name: "currentRoundNumber";
|
|
293
|
+
readonly type: "uint256";
|
|
294
|
+
readonly internalType: "uint256";
|
|
295
|
+
}];
|
|
276
296
|
}, {
|
|
277
297
|
readonly type: "error";
|
|
278
298
|
readonly name: "GovernanceProposer__RoundTooOld";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HonkVerifierAbi.d.ts","sourceRoot":"","sources":["../src/HonkVerifierAbi.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"HonkVerifierAbi.d.ts","sourceRoot":"","sources":["../src/HonkVerifierAbi.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAm7DlB,CAAC"}
|
package/dest/HonkVerifierAbi.js
CHANGED
|
@@ -241,11 +241,6 @@
|
|
|
241
241
|
}
|
|
242
242
|
]
|
|
243
243
|
},
|
|
244
|
-
{
|
|
245
|
-
"type": "error",
|
|
246
|
-
"name": "GovernanceProposer__CanOnlySubmitRoundWinnerInPast",
|
|
247
|
-
"inputs": []
|
|
248
|
-
},
|
|
249
244
|
{
|
|
250
245
|
"type": "error",
|
|
251
246
|
"name": "GovernanceProposer__FailedToSubmitRoundWinner",
|
|
@@ -289,6 +284,22 @@
|
|
|
289
284
|
}
|
|
290
285
|
]
|
|
291
286
|
},
|
|
287
|
+
{
|
|
288
|
+
"type": "error",
|
|
289
|
+
"name": "GovernanceProposer__InvalidLifetimeAndExecutionDelay",
|
|
290
|
+
"inputs": [
|
|
291
|
+
{
|
|
292
|
+
"name": "lifetimeInRounds",
|
|
293
|
+
"type": "uint256",
|
|
294
|
+
"internalType": "uint256"
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
"name": "executionDelayInRounds",
|
|
298
|
+
"type": "uint256",
|
|
299
|
+
"internalType": "uint256"
|
|
300
|
+
}
|
|
301
|
+
]
|
|
302
|
+
},
|
|
292
303
|
{
|
|
293
304
|
"type": "error",
|
|
294
305
|
"name": "GovernanceProposer__InvalidQuorumAndRoundSize",
|
|
@@ -364,6 +375,22 @@
|
|
|
364
375
|
}
|
|
365
376
|
]
|
|
366
377
|
},
|
|
378
|
+
{
|
|
379
|
+
"type": "error",
|
|
380
|
+
"name": "GovernanceProposer__RoundTooNew",
|
|
381
|
+
"inputs": [
|
|
382
|
+
{
|
|
383
|
+
"name": "roundNumber",
|
|
384
|
+
"type": "uint256",
|
|
385
|
+
"internalType": "uint256"
|
|
386
|
+
},
|
|
387
|
+
{
|
|
388
|
+
"name": "currentRoundNumber",
|
|
389
|
+
"type": "uint256",
|
|
390
|
+
"internalType": "uint256"
|
|
391
|
+
}
|
|
392
|
+
]
|
|
393
|
+
},
|
|
367
394
|
{
|
|
368
395
|
"type": "error",
|
|
369
396
|
"name": "GovernanceProposer__RoundTooOld",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* HonkVerifier bytecode.
|
|
3
3
|
*/
|
|
4
|
-
export declare const HonkVerifierBytecode = "0x60e060405234801561000f575f5ffd5b506302000000608052601960a05260ae60c05260805160a05160c0516153eb6100605f395f818160d6015261065001525f818161075b01528181610d110152610dae01525f6105f401526153eb5ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004614fed565b610054565b604051901515815260200160405180910390f35b5f6100626101c960206150c5565b8414610081576040516376ba560560e11b815260040160405180910390fd5b5f61008a6101c1565b90505f61009787876101d6565b9050601082604001516100aa91906150dc565b84146100c95760405163fa06659360e01b815260040160405180910390fd5b5f6100fc828787865f01517f0000000000000000000000000000000000000000000000000000000000000000600161052f565b905061014c8686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050855185516060810151608090910151919350915060016105de565b815160a001525f61015d8383610753565b90508061017d576040516313f8744360e31b815260040160405180910390fd5b5f610189848685610854565b9050806101a9576040516352ec174560e11b815260040160405180910390fd5b8180156101b35750805b9a9950505050505050505050565b6101c9614a55565b6101d16110ac565b905090565b6101de614bdf565b5f805b60108110156102405761020d8583866101fb8260206150ef565b9261020893929190615102565b6119e5565b8351826010811061022057610220615129565b60200201818152505060208261023691906150ef565b91506001016101e1565b506102648482856102528260806150ef565b9261025f93929190615102565b611a53565b60208301526102746080826150ef565b90506102878482856102528260806150ef565b60408301526102976080826150ef565b90506102aa8482856102528260806150ef565b60608301526102ba6080826150ef565b90506102cd8482856102528260806150ef565b60c08301526102dd6080826150ef565b90506102f08482856102528260806150ef565b60e08301526103006080826150ef565b90506103138482856102528260806150ef565b60808084019190915261032690826150ef565b90506103398482856102528260806150ef565b61010083015261034a6080826150ef565b905061035d8482856102528260806150ef565b60a083015261036d6080826150ef565b90505f5b601c8110156103ec575f5b60088110156103e3576103968684876101fb8260206150ef565b84610120015183601c81106103ad576103ad615129565b602002015182600881106103c3576103c3615129565b6020020181815250506020836103d991906150ef565b925060010161037c565b50600101610371565b505f5b6029811015610440576104098583866101fb8260206150ef565b836101400151826029811061042057610420615129565b60200201818152505060208261043691906150ef565b91506001016103ef565b505f5b61044f6001601c6150dc565b811015610498576104678583866102528260806150ef565b83610160015182601b811061047e5761047e615129565b602002015261048e6080836150ef565b9150600101610443565b505f5b601c8110156104ec576104b58583866101fb8260206150ef565b83610180015182601c81106104cc576104cc615129565b6020020181815250506020826104e291906150ef565b915060010161049b565b506104fe8482856102528260806150ef565b6101a083015261050f6080826150ef565b90506105228482856102528260806150ef565b6101c08301525092915050565b610537614ca9565b5f61054788888888888887611b32565b90835290506105568189611b88565b6020840191909152905061056981611d68565b6040840191909152905061057d8882611dc9565b606084019190915290506105918882611e9d565b608084019190915290506105a58882611f28565b60a084019190915290506105b98882612096565b60c084019190915290506105cd8882612108565b5060e0830152509695505050505050565b5f60018082610627866106228961061d6106188a7f00000000000000000000000000000000000000000000000000000000000000006150ef565b61215f565b61217d565b612196565b90505f610645876106408a61061d6106188b60016150ef565b6121af565b90505f5b61067460107f00000000000000000000000000000000000000000000000000000000000000006150dc565b8110156106e1575f61069e8c838151811061069157610691615129565b602002602001015161215f565b90506106ae8661061d8684612196565b95506106be8561061d8584612196565b94506106ca848b612196565b93506106d6838b6121af565b925050600101610649565b505f5b6010811015610748575f8a826010811061070057610700615129565b602002015190506107158661061d8684612196565b95506107258561061d8584612196565b9450610731848b612196565b935061073d838b6121af565b9250506001016106e4565b506101b384846121de565b5f806001815b7f000000000000000000000000000000000000000000000000000000000000000081101561082a575f86610120015182601c811061079957610799615129565b602002015190505f6107ab82866121ec565b9050806107cb576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c81106107e2576107e2615129565b602002015190506107f38382612209565b955061081a886040015185601c811061080e5761080e615129565b602002015186836123b8565b9450505050806001019050610759565b505f610844866101400151865f01518760200151856123e3565b90508281145b9695505050505050565b5f61085d614d02565b5f61086b8460a0015161245d565b9050610875614d66565b61087d614d85565b60e086015161089c9061089790855f5b60200201516121af565b6124c2565b60e0808601919091528601516108bd9061089790855f5b6020020151612196565b610100850181905260e085015160c08801516108dd92610622919061217d565b845260a086015161090c906108f1906124c2565b61061d8660e001516106408a60c0015189610100015161217d565b6020850152600182526101a08801516109249061252b565b81526001606085018190525f60808601525b602481116109dc5761095761094d865f015161256a565b866060015161217d565b83826047811061096957610969615129565b602002015260808501516101408a01516109ac91906106229061098d6001866150dc565b6029811061099d5761099d615129565b6020020151886060015161217d565b8560800181815250506109c78560600151886080015161217d565b60608601526109d58161513d565b9050610936565b505f6109ea602460016150ef565b90505b60298111610a6b57610a0561094d866020015161256a565b838260478110610a1757610a17615129565b602002015260808501516101408a0151610a3b91906106229061098d6001866150dc565b856080018181525050610a568560600151886080015161217d565b6060860152610a648161513d565b90506109ed565b50606087015181600160200201526080870151816002602002015260a0870151816003602002015260c0870151816004602002015260e0870151816005602002015261010087015181600660200201526101208701518160076020020152610140870151816008602002015261016087015181600960200201526101c087015181600a602002015261018087015181600b60200201526101a087015181600c60200201526101e087015181600d602002015261020087015181600e602002015261022087015181600f60200201526102408701518160106020020152610260870151816011602002015261028087015181601260200201526102a087015181601360200201526102c087015181601460200201526102e08701518160156020020152610300870151816016602002015261032087015181601760200201526103408701518160186020020152610360870151816019602002015261038087015181601a60200201526103a087015181601b60200201526103c087015181601c6020020181905250610bff886020015161252b565b6103a08201526040880151610c139061252b565b6103c08201526060880151610c279061252b565b6103e08201526080880151610c3b9061252b565b61040082015260a0880151610c4f9061252b565b610420820152610100880151610c649061252b565b61044082015260c0880151610c789061252b565b61046082015260e0880151610c8c9061252b565b6104808201526020880151610ca09061252b565b6104a08201526040880151610cb49061252b565b6104c08201526060880151610cc89061252b565b6104e08201526080880151610cdc9061252b565b61050082015260a0880151610cf09061252b565b610520820152606086015160808501516101808a01515f92610d35929091877f0000000000000000000000000000000000000000000000000000000000000000612582565b805160e0870151919250610d489161217d565b604086018190526101808a01515160c0890151610d79929161062291610d6e919061217d565b88610100015161217d565b604086015260c0870151610d8c9061269d565b60608601525f5b610d9f6001601c6150dc565b811015610fa7575f610dd260017f00000000000000000000000000000000000000000000000000000000000000006150dc565b821015905080610f4d57610e056108978a60e0015188856001610df591906150ef565b601c811061088d5761088d615129565b60e080890191909152890151610e35906108979088610e258660016150ef565b601c81106108b3576108b3615129565b610100880152606087015160e0880151610e4f919061217d565b610120880152606087015160c08a0151610e6c91610d6e9161217d565b6101408801819052610e8f90610e819061256a565b61062289610120015161256a565b8583610e9d602960016150ef565b610ea791906150ef565b60478110610eb757610eb7615129565b60200201526101408701516101808c01515f91610ef391610ed98660016150ef565b601c8110610ee957610ee9615129565b602002015161217d565b9050610f10816106228a610120015187876001610ed991906150ef565b9050610f20886040015182612196565b6040890152606088015160c08b0151610f4691610f3c9161217d565b8b60c0015161217d565b6060890152505b610f718b610160015183601b8110610f6757610f67615129565b602002015161252b565b8483610f7f602960016150ef565b610f8991906150ef565b60478110610f9957610f99615129565b602002015250600101610d93565b5060408051808201909152600181526002602082015282610fca601c60296150ef565b60478110610fda57610fda615129565b6020020152604085015183610ff1601c60296150ef565b6047811061100157611001615129565b60200201526101c08901515f906110179061252b565b90508083611027601c60296150ef565b6110329060016150ef565b6047811061104257611042615129565b602002015260e088015184611059601c60296150ef565b6110649060016150ef565b6047811061107457611074615129565b60200201525f61108484866126a8565b90505f6110908361276e565b905061109c82826127b4565b9c9b505050505050505050505050565b6110b4614a55565b50604080516103e08101825263020000008152601960208083019190915260ae82840152825180840184527f09334c98e7aa9d7c893c773e5cb601e88d34e2ef7a4b533d0271f52f65ad9ea881527f290f24eecb29156e1c4c3c08e409cbfcff9c1c077b6f536da97add2cffb8afe2818301526060830152825180840184527f23dcce77911e304e9dda87ef0525786c282a5425faab8be7f10743701cd8c65081527f279115fe862b11b138912829edb3b505f786aec0e29349e1e4baee9af6215e17818301526080830152825180840184527f232b1c8cbd5732691cdb9507533b22abeab5b312b00374975df090a0e42bed5981527f210cf5d6545df63b6dd6d508f7882e09b5a7d4805204c9b7425884862830cfde8183015260a0830152825180840184527f16185e75e98c7ba964ae5c1e128aabe6f5ab04a4b8c09657be3514b48f94afe881527f088f19d4953eb874bf037356dfa95eaf0b3d1ab719cf7ef1f0898bfc3bc1db3e8183015260c0830152825180840184527f1abd9df724831049545dbbd49a4f63af6b92b7f61d3cb203148467cc13519dba81527f1d909d25e6881a97db7772cf7f8ced73cf4913c4a3bea527622a19df373f53a98183015260e0830152825180840184527f17627dd50e14246aab4a7150c0835fb9385aa1eed28a9c38bcd8d2169f19358a81527f2a083a32fa64a595408a76e1b57303655e10d845f3cb803ba3a1c78aba1621bd81830152610100830152825180840184527f107d2d79c20982125b9f302008ecbd7b7f25eebc71271311c28f58223170c78b81527f0f3c9104533084fca88d92d900c94cb1400899b1c3c2b40cf32807f7d8517f4781830152610120830152825180840184527f03c8ba688220487daf92373540f3765c2e604baf121468ca5b913513690a4db981527f2c89160c84f7903b29fd626c25b76e58cbdc6be9a60c152703906d7d31e3b3c981830152610140830152825180840184527f04d60e98f94b55bfa9f433d502c9a164c16dcd5296d2843db8d4576a7b1a2cd081527f077d01892b9defa2ed388a5d54e6201c9f84ae43066455f1d09312be390db3fb81830152610160830152825180840184527f1ef4446f8ca19fc96ce47a212e25745a0fd6cc2e3a2e976139308ecfb1e6d5e481527f1cb75ce9d1d3a466c69c23f529de08578fb97590dd662bd6584a412519165e7a81830152610180830152825180840184527f16a547c67a7ed2a3fe79fa3cc7993fe239ca7c82da7a6bd4074084995e03aae681527f0b9bacc018ae81a696836033bdd5610e7fecb72c7cf3300ceb5bea7a9e6e5a7c818301526101a0830152825180840184527f1467fe37cb78030724b4d9ca59e522bfc05d4b043095e3fe5974399fdaa91f9481527f28ce91fd4eb517e79c85634d86feb74b7eb5e5e5bde75cc15c486bc04eeb5378818301526101c0830152825180840184527f24e1cd532e4c38c706308147778c46c1cfdb33ad817388518d1bfc9857dd7d0681527f117474e5171baea921b5fbc29dfdd1b637586d9cc493e0d95ed50c7ca7d2d8e3818301526101e0830152825180840184527f065c1127662a86c5886c290a6d7a848b8c307ffb9b0045128d2ac9d650d95f3281527f28bf9f9b979d273ae5577d24a76e13c83643fc1a957e090ea54cffbfe91f36b381830152610200830152825180840184527f09b964172f864b545e7b823e282729898d4a30629017630aea5087ac443c25a181527edfac5c45419a30ae002477ffd5184996affcf63ea58e94924184849765a3ba81830152610220830152825180840184527f0873705797c37e9b8b23b95bc3832b91917f18c106b809462d6d5975e0308c2681527f2179de359723b356c77ae71adee34a9fcc0da24c5cb7b684d12d37d11a08804781830152610240830152825180840184527f2ecf822725e04ce88844f575583620ac7254bf438f1ee188d6684bc7a24b51cf81527f2f031e3ce043a92f07b20b0b756d078a221c11aa5adfe122d6f0777b09770b2681830152610260830152825180840184527f16ae70bb7787988077c851c775c916c796bc3465ea27104714a0218407b57c6281527f0f87fd3d7073f34b5a275b0f8ede893d5fa70755ffcb44776793984368db5c0381830152610280830152825180840184527f253eb74f80aea955ecdc21c8bc616709ac8df436e56c7b218ab712f1bafbcf8181527f2ac603b5d188870c0decec31a3a88195f38fba0620920e65b86dfa0d63c68bfe818301526102a0830152825180840184527f0bf12249b1b1c067aeab52836f3a91823af5a5d9999e3a45f497cfed2ec45ac581527f2356185ea1d8e799a4558aa583033657b6865b21b2d7636aa13540a16f2076a2818301526102c0830152825180840184527e571b59727b0412772104738959df5ed480d2252d1fe166ef7a1dd80ce90ab581527f2051b5690608c36afb2993a5fb03e3c59cc1f5305d40f8da07705e3640a5f23a818301526102e0830152825180840184527e61ffb769200b8e428cd1f04935f0c9642bed1468d81f380a17baffee08ba4f81527f29123dbe8af19645c63d758d3ba7ea45ca7bccae7f84b49d393a6d72f68fa63181830152610300830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610320830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610340830152825180840184527f09d569252b4b229e483b00b1e67384ac4db29395d32e28c82f8b73983d30ac6b81527f2c47d5809e56ba32be655d4177db195bb450fd12587756c4b85b6506a7844ddb81830152610360830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c8183015261038083015282518084018452600181526002818301526103a083015282518084019093527f231b37b6408a23429458d5dfb1a3ae2f4f12e0f7001a206a6bbbb664bb2cf66983527f153d3d8224622574551f8091c7202b1e3f34b69f9a61bf46307f98ff3c50e657908301526103c081019190915290565b5f60208214611a3f5760405162461bcd60e51b815260206004820152602e60248201525f51602061538b5f395f51905f5260448201526d393ab1ba1023391039b1b0b630b960911b60648201526084015b60405180910390fd5b611a4c6106188385615155565b9392505050565b611a5b614db3565b60808214611ab05760405162461bcd60e51b815260206004820152602f60248201525f51602061538b5f395f51905f5260448201526e1c9d58dd08184811cc481c1bda5b9d608a1b6064820152608401611a36565b604080516080810190915280611ac960205f8688615102565b611ad291615155565b8152602090810190611ae8906040908688615102565b611af191615155565b8152602001611b04606060408688615102565b611b0d91615155565b8152602001611b20608060608688615102565b611b2991615155565b90529392505050565b611b3a614dd7565b5f611b498989898989896129a8565b604086019190915260208501919091529083529250611b68838a612e4e565b608085019190915260608401919091529199919850909650505050505050565b611b90614e07565b5f611b99614e26565b848152610100848101805151602080850191909152815181015160408086019190915282518101516060808701919091529251830151608086015260a080890180515191870191909152805183015160c0870152805182015160e087015251909201519284019290925251611c2f91611c1491849101615172565b6040516020818303038152906040528051906020012061215f565b9150611c3a82612f1d565b6020850152835260015b6002611c526001601c6150dc565b611c5c91906151ba565b811015611cdc57611c7983604051602001611c1491815260200190565b9250611c8483612f1d565b85611c908460026150c5565b601b8110611ca057611ca0615129565b6020020186611cb08560026150c5565b611cbb9060016150ef565b601b8110611ccb57611ccb615129565b602002019190915252600101611c44565b50611ce96001601c6150dc565b6001166001148015611d0657506002611d046001601c6150dc565b115b15611d6057611d2182604051602001611c1491815260200190565b91505f611d2d83612f1d565b856001611d3b81601c6150dc565b611d4591906150dc565b601b8110611d5557611d55615129565b602002019190915250505b509250929050565b611d70614e45565b5f805b601c811015611dc257611d9284604051602001611c1491815260200190565b93505f611d9e85612f1d565b8584601c8110611db057611db0615129565b60200201919091525050600101611d73565b5090929050565b611dd1614e45565b5f805b601c811015611e9457611de5614e26565b8481525f5b6008811015611e4e5786610120015183601c8110611e0a57611e0a615129565b60200201518160088110611e2057611e20615129565b602002015182611e318360016150ef565b60098110611e4157611e41615129565b6020020152600101611dea565b50611e6381604051602001611c149190615172565b94505f611e6f86612f1d565b8685601c8110611e8157611e81615129565b6020020191909152505050600101611dd4565b50909391925050565b5f5f611ea7614e64565b8381525f5b6029811015611efa578561014001518160298110611ecc57611ecc615129565b602002015182611edd8360016150ef565b602a8110611eed57611eed615129565b6020020152600101611eac565b50611f0f81604051602001611c1491906151cd565b91505f611f1b83612f1d565b5096929550919350505050565b5f5f611f32614e83565b8381525f5b611f436001601c6150dc565b8110156120815785610160015181601b8110611f6157611f61615129565b60200201515182611f738360046150c5565b611f7e9060016150ef565b606d8110611f8e57611f8e615129565b602002015261016086015181601b8110611faa57611faa615129565b60200201516020015182826004611fc191906150c5565b611fcc9060026150ef565b606d8110611fdc57611fdc615129565b602002015261016086015181601b8110611ff857611ff8615129565b6020020151604001518261200d8360046150c5565b6120189060036150ef565b606d811061202857612028615129565b602002015261016086015181601b811061204457612044615129565b602002015160600151826120598360046150c5565b6120649060046150ef565b606d811061207457612074615129565b6020020152600101611f37565b50611f0f81604051602001611c149190615201565b5f5f6120a0614ea2565b8381525f5b601c8110156120f35785610180015181601c81106120c5576120c5615129565b6020020151826120d68360016150ef565b601d81106120e6576120e6615129565b60200201526001016120a5565b50611f0f81604051602001611c149190615235565b5f5f612112614ec1565b8381526101a085018051516020808401919091528151810151604080850191909152825181015160608086019190915292519092015160808401529051611f0f91611c1491849101615269565b5f6121775f5160206153cb5f395f51905f528361529c565b92915050565b5f5f5160206153cb5f395f51905f528284099392505050565b5f5f5160206153cb5f395f51905f528284089392505050565b5f5f5160206153cb5f395f51905f526121d5835f5160206153cb5f395f51905f526150dc565b84089392505050565b5f611a4c8361061d846124c2565b81515f9081906121fe908560016108b3565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b60088110156122f0576122e68261061d87846121af565b91506001016122cf565b506122f9614edf565b5f5b600881101561235a575f84826008811061231757612317615129565b6020020151905061232c8161061d89856121af565b9050612337816124c2565b90508083836008811061234c5761234c615129565b6020020152506001016122fb565b505f5b60088110156123ad575f87826008811061237957612379615129565b6020020151905061239681848460088110610ee957610ee9615129565b90506123a28682612196565b95505060010161235d565b5061084a848361217d565b5f5f6123ce60016106228561061d8960016121af565b90506123da848261217d565b95945050505050565b5f6123ec614e45565b6123f7868285612f4d565b612403868683866130f9565b61240f868683866132e5565b61241a868285613510565b612425868285613704565b61243186868386613a4d565b61243d86868386613f00565b6124488682856142ff565b6124538682856146c0565b61084a81856149c0565b612465614e45565b81815260015b601c8110156124bc5761249d826124836001846150dc565b601c811061249357612493615129565b602002015161269d565b8282601c81106124af576124af615129565b602002015260010161246b565b50919050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f5160206153cb5f395f51905f520360808201525f5160206153cb5f395f51905f5260a082015260205f60c08360055afa905080612520575f5ffd5b50505f519392505050565b612533614efe565b604051806040016040528060888460200151901b845f015117815260200160888460600151901b8460400151178152509050919050565b5f612177825f5160206153cb5f395f51905f526150dc565b61258a614e45565b601c5b8015612693575f846125a06001846150dc565b601c81106125b0576125b0615129565b602002015190505f886125c46001856150dc565b601c81106125d4576125d4615129565b602002015190505f61262f6125f36125ec858c61217d565b600261217d565b6106408a6126026001896150dc565b601c811061261257612612615129565b602002015161061d6126298861061d60018a6121af565b876121af565b90506126508161061d61089761264a8761061d6001896121af565b86612196565b905085841161267f5797508780856126696001876150dc565b601c811061267957612679615129565b60200201525b5050508061268c906152af565b905061258d565b5095945050505050565b5f612177828361217d565b6126b0614efe565b5f6126bd601c60296150ef565b6126c89060026150ef565b90506001604051855151604082015285516020015160608201528451608082015260408160606040840160075afa8216915060015b838110156127565760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa909216916001016126fd565b50805184526020810151602085015250505092915050565b612776614efe565b5f5160206153ab5f395f51905f5282602001515f5160206153ab5f395f51905f526127a191906150dc565b6127ab919061529c565b60208301525090565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b03168360405161294a91906152c4565b5f60405180830381855afa9150503d805f8114612982576040519150601f19603f3d011682016040523d82523d5f602084013e612987565b606091505b509150915081801561084a57508080602001905181019061084a91906152da565b5f808080806129b88760036150ef565b6129c390600c6150ef565b6001600160401b038111156129da576129da6152f9565b604051908082528060200260200182016040528015612a03578160200160208202803683370190505b509050875f1b815f81518110612a1b57612a1b615129565b602002602001018181525050865f1b81600181518110612a3d57612a3d615129565b602002602001018181525050855f1b81600281518110612a5f57612a5f615129565b60209081029190910101525f5b612a776010896150dc565b811015612ac8578a8a82818110612a9057612a90615129565b9050602002013582826003612aa591906150ef565b81518110612ab557612ab5615129565b6020908102919091010152600101612a6c565b505f5b6010811015612b39578b51612af3908260108110612aeb57612aeb615129565b602002015190565b82826010612b028c60036150ef565b612b0c91906150dc565b612b1691906150ef565b81518110612b2657612b26615129565b6020908102919091010152600101612acb565b5060208b01515181612b4c8960036150ef565b81518110612b5c57612b5c615129565b6020908102919091018101919091528b810151015181612b7d8960036150ef565b612b889060016150ef565b81518110612b9857612b98615129565b6020908102919091018101919091528b01516040015181612bba8960036150ef565b612bc59060026150ef565b81518110612bd557612bd5615129565b6020908102919091018101919091528b01516060015181612bf78960036150ef565b612c029060036150ef565b81518110612c1257612c12615129565b602090810291909101015260408b01515181612c2f8960036150ef565b612c3a9060046150ef565b81518110612c4a57612c4a615129565b60209081029190910181019190915260408c0151015181612c6c8960036150ef565b612c779060056150ef565b81518110612c8757612c87615129565b60209081029190910101526040808c0151015181612ca68960036150ef565b612cb19060066150ef565b81518110612cc157612cc1615129565b602090810291909101015260408b01516060015181612ce18960036150ef565b612cec9060076150ef565b81518110612cfc57612cfc615129565b602090810291909101015260608b01515181612d198960036150ef565b612d249060086150ef565b81518110612d3457612d34615129565b60209081029190910181019190915260608c0151015181612d568960036150ef565b612d619060096150ef565b81518110612d7157612d71615129565b602090810291909101015260608b01516040015181612d918960036150ef565b612d9c90600a6150ef565b81518110612dac57612dac615129565b60209081029190910101526060808c0151015181612dcb8960036150ef565b612dd690600b6150ef565b81518110612de657612de6615129565b602002602001018181525050612e0681604051602001611c14919061530d565b9150612e1182612f1d565b6040805160208101869052929750909550612e2c9101611c14565b91505f612e3883612f1d565b50959c949b509499509097509195505050505050565b5f5f5f612e59614f16565b85815260c085810180515160208085019190915281518101516040808601919091528251810151606080870191909152925183015160808087019190915260e0808b0180515160a089015280518501519688019690965285518301519087015293518301516101008601529288018051516101208601528051820151610140860152805184015161016086015251909101516101808401529051612f0391611c1491849101615342565b9150612f0e82612f1d565b90979096509194509092505050565b5f80826001600160801b038116608082901c612f388261215f565b9450612f438161215f565b9350505050915091565b5f612f59846007614a25565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f612fba612fb4612f8e8560036121af565b61061d612fa9612f9e8b5f614a25565b61061d8c601d614a25565b61061d8b601c614a25565b8361217d565b905061303b613030613017612ffe612fe585610622612fda8d6002614a25565b61061d8e601c614a25565b610622612ff38c6003614a25565b61061d8d601d614a25565b61062261300c8b6004614a25565b61061d8c601e614a25565b6106226130258a6005614a25565b61061d8b601f614a25565b610622886001614a25565b905061305a8161062261304f8660016121af565b61061d8a6027614a25565b9050613066818461217d565b9050613072818561217d565b8552505f90506130ac6130a261309761308c88601c614a25565b61062289601f614a25565b610640886024614a25565b610622875f614a25565b90506130bd8161061d8460026121af565b90506130ce8161061d8460016121af565b90506130da818361217d565b90506130e6818461217d565b9050808460015b60200201525050505050565b5f5f5f61312f61312561310d89601c614a25565b61062261311b8b6012614a25565b8a6060015161217d565b8760800151612196565b90506131688161061d61315e6131468b601d614a25565b6106226131548d6013614a25565b8c6060015161217d565b8960800151612196565b905061318d8161061d61315e61317f8b601e614a25565b6106226131548d6014614a25565b90506131b28161061d61315e6131a48b601f614a25565b6106226131548d6015614a25565b92505f90506131d66131256131c889601c614a25565b61062261311b8b600e614a25565b90506131fb8161061d61315e6131ed8b601d614a25565b6106226131548d600f614a25565b90506132208161061d61315e6132128b601e614a25565b6106226131548d6010614a25565b90506132458161061d61315e6132378b601f614a25565b6106226131548d6011614a25565b91505f905061326c61326661325b896020614a25565b6106228a601a614a25565b8461217d565b90506132a18161064061329b6132838b6028614a25565b6106226132918d601b614a25565b8c60a0015161217d565b8561217d565b90506132ad818561217d565b6040860152505f6132d061329b6132c589601b614a25565b61061d8a6028614a25565b9050808560035b602002015250505050505050565b5f5f61334361332b6133136132fe61315e8a6016614a25565b61062261330c8b6017614a25565b8a5161217d565b6106226133218a6018614a25565b896020015161217d565b610622613339896019614a25565b886040015161217d565b91505f61337a61336161335789601c614a25565b8860800151612196565b61062261336f8a6003614a25565b61061d8b6024614a25565b90505f6133a361338b89601d614a25565b6106226133988b5f614a25565b61061d8c6025614a25565b90505f6133cd6133b48a601e614a25565b6106226133c28c6001614a25565b61061d8d6026614a25565b905061340c6133f46133e685610622868d5f015161217d565b610622848c6020015161217d565b6106226134028c6004614a25565b8b6040015161217d565b93505050505f613420613266886021614a25565b90505f613431613266896021614a25565b90505f6134696134506134458b6023614a25565b6106228c6006614a25565b61064061345e8c6023614a25565b61061d8d6006614a25565b90505f61348d61348761347c878961217d565b61061d8d6021614a25565b836121af565b9050613499818861217d565b90505f6134c16134b36134ad8d6006614a25565b8761217d565b6106406134ad8e6022614a25565b90505f6134cf8c6023614a25565b90505f6134df613487838461217d565b60808c0185905260a08c0184905290506134f9818b61217d565b8b6006602002015250505050505050505050505050565b5f61351c5f60016121af565b90505f61352a5f60026121af565b90505f6135385f60036121af565b90505f61355461354988601d614a25565b61064089601c614a25565b90505f61357061356589601e614a25565b6106408a601d614a25565b90505f61358c6135818a601f614a25565b6106408b601e614a25565b90505f6135a861359d8b6024614a25565b6106408c601f614a25565b9050836135b98161061d818b612196565b90506135c98161061d878a612196565b90506135d98161061d8789612196565b90506135ea8161061d8d6008614a25565b90506135f6818a61217d565b60e08b0152508261360b8161061d818b612196565b905061361b8161061d868a612196565b905061362b8161061d8689612196565b905061363c8161061d8d6008614a25565b9050613648818a61217d565b6101008b0152508161365e8161061d818b612196565b905061366e8161061d858a612196565b905061367e8161061d8589612196565b905061368f8161061d8d6008614a25565b905061369b818a61217d565b6101208b015250806136b18161061d818b612196565b90506136c18161061d848a612196565b90506136d18161061d8489612196565b90506136e28161061d8d6008614a25565b90506136ee818a61217d565b610140909a019990995250505050505050505050565b61373d6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61374884601d614a25565b815261375584601e614a25565b6020820152613765846024614a25565b6040820152613775846027614a25565b6060820152613785846026614a25565b6080820152613795846025614a25565b60a08201525f6137a6856002614a25565b90505f6137b3865f614a25565b90505f6137c78460400151855f01516121af565b90505f6137dc8560200151866020015161217d565b606086015190915086905f906137f2908061217d565b90505f61381061380a89602001518a6060015161217d565b8861217d565b90505f61382f6138288a60a001518b60400151612196565b8a51612196565b905061383e6134ad828861217d565b905061386561385f61385961385384876121af565b886121af565b84612196565b83612196565b905061388d613882613877838761217d565b61061d8f6009614a25565b61061d60018a6121af565b6101608c015250505050602085015160808601515f916138ac91612196565b90505f6138ca6138c088606001518861217d565b88602001516121af565b90505f6138ee6138da848761217d565b61062261329b8b60a001518c5f01516121af565b905061391661390b613900838c61217d565b61061d8e6009614a25565b61061d6001896121af565b6101808b0152505f91506139379050613930836011612196565b875161217d565b90505f6139448384612196565b90506139508182612196565b90505f61395e83600961217d565b905061398761398161326661397a8b60a001518c5f0151612196565b8b51612196565b826121af565b60c089018190525f906139a29061380a90613877908d61217d565b90506139b58b600b602002015182612196565b6101608c0152505086515f92506139dc9150613930906139d59080612196565b8851612196565b90505f613a1c6139f78361061d8a5f01518b60a001516121af565b602089015161064090613a0a9080612196565b61061d8b602001518c60800151612196565b9050613a3989600c602002015161062261380a613877858d61217d565b89600c602002015250505050505050505050565b613ab7604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613acf613ac586601e614a25565b856040015161217d565b808252613aee90610622613ae488601d614a25565b876020015161217d565b808252613b039061062261393088601c614a25565b808252613b1590610622876001614a25565b80825260208201819052613b2e9061064087601f614a25565b8152613b49613b3e866024614a25565b61064087601c614a25565b6080820152613b67613b5c866027614a25565b61064087601f614a25565b60608201526080810151613b8990613b7f908061217d565b82608001516121af565b6101c08201526080810151613bc990613bbf90613bb89061061d60015f5160206153cb5f395f51905f526150dc565b6001612196565b826060015161217d565b60a08201819052613bff90613bf19061061d613be6896002614a25565b61061d8a6003614a25565b61061d61329b88600a614a25565b83600e60200201526101c0810151613c2390613bf19061061d613be6896002614a25565b6101e08401528051613c489061061d613c3d886002614a25565b61061d896003614a25565b6101208201525f613c67613c5d87601f614a25565b83602001516121af565b9050613c76613981828361217d565b60e0830152613c93613c89876026614a25565b866040015161217d565b60408301819052613cb690610622613cac896025614a25565b886020015161217d565b60408301819052613cd690610622613ccf896024614a25565b885161217d565b6040830152613cf3613ce9876027614a25565b83604001516121af565b60408301525f613d12613d07886026614a25565b61064089601e614a25565b9050613d64613d3f612fb4613bb8866080015160015f5160206153cb5f395f51905f5261061d91906150dc565b61061d613bb8866040015160015f5160206153cb5f395f51905f5261061d91906150dc565b60c08401526040830151613d8690613d7c908061217d565b84604001516121af565b61010084015260c0830151613db290613da49061061d8a6007614a25565b61061d6134ad8a600a614a25565b6102008601526101c0830151613dd190613da49061061d8a6007614a25565b610220860152610100830151613df090613da49061061d8a6007614a25565b61024086015260e0830151613e0a9061061d896007614a25565b610140840152613e29613e1e886025614a25565b61064089601d614a25565b6101608401526080830151613e6790613d0790613e5c90613bb89061061d60015f5160206153cb5f395f51905f526150dc565b85610160015161217d565b61018084018190526101208401516101a08501819052613e9e916106229061061d613e938c6005614a25565b61061d8d6002614a25565b6101a084018190528351613ebe91906106229061061d613e938c5f614a25565b6101a08401819052610140840151613ed69190612196565b6101a08401819052613ef09061061d6134ad8a600a614a25565b6101a0840181905285600d6132d7565b613f396040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613f6e613f55613f4a87601c614a25565b61061d886025614a25565b610622613f63886024614a25565b61061d89601d614a25565b8152613fb3613fa8613f8f613f8488601c614a25565b61061d89601f614a25565b610622613f9d89601d614a25565b61061d8a601e614a25565b610640876026614a25565b60408201819052613fc890600160441b61217d565b60408201819052613fde90610640876027614a25565b604082018190528151613ff19190612196565b604082018190526140079061061d876005614a25565b6040820152805161401c90600160441b61217d565b80825261403c90610622614031886024614a25565b61061d896025614a25565b808252602082018190526140589061064061308c88601e614a25565b6020820181905261406e9061061d876004614a25565b602082015280516060820181905261408b9061062287601f614a25565b606082018190526140af906106406140a4886026614a25565b610622896027614a25565b606082018190526140c49061061d875f614a25565b8160600181815250505f6140ed6140e383602001518460400151612196565b8360600151612196565b90506140fe8161061d886003614a25565b905061411661410e876025614a25565b61400061217d565b6080830181905261412c90610622886024614a25565b6080830181905261413f9061400061217d565b608083018190526141559061062288601e614a25565b608083018190526141689061400061217d565b6080830181905261417e9061062288601d614a25565b608083018190526141919061400061217d565b608083018190526141a79061062288601c614a25565b608083018190526141bd9061064088601f614a25565b608083018190526141d39061061d886005614a25565b60808301526141e661410e876026614a25565b60a083018190526141fc90610622886025614a25565b60a0830181905261420f9061400061217d565b60a0830181905261422590610622886024614a25565b60a083018190526142389061400061217d565b60a0830181905261424e9061062288601f614a25565b60a083018190526142619061400061217d565b60a083018190526142779061062288601e614a25565b60a0830181905261428d90610640886027614a25565b60a083018190526142a29061061d885f614a25565b60a0830181905260808301515f916142ba9190612196565b90506142cb8161061d896004614a25565b90506142d78282612196565b60c084018190526142f09061061d6134ad8a600b614a25565b60c084018190528560136132d7565b6143756040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61438e61438385601c614a25565b610622866002614a25565b81526143a961439e85601d614a25565b610622866003614a25565b60208201526143c76143bc85601e614a25565b610622866004614a25565b60408201526143e56143da85601f614a25565b610622866005614a25565b60608201528051614417906144109061440990614402908061217d565b845161217d565b835161217d565b825161217d565b608082015260208101516144559061444b9061444190614437908061217d565b846020015161217d565b836020015161217d565b826020015161217d565b60a08201526040810151614493906144899061447f90614475908061217d565b846040015161217d565b836040015161217d565b826040015161217d565b60c082015260608101516144c790613bbf906144bd906144b3908061217d565b846060015161217d565b836060015161217d565b60e0820152608081015160a08201516144e09190612196565b61010082015260c081015160e08201516144fa9190612196565b61012082015260a081015161451e906145139080612196565b826101200151612196565b61014082015260e0810151614542906145379080612196565b826101000151612196565b6101608201526101208101516145589080612196565b6101e082018190526145799061456e9080612196565b826101600151612196565b6101e082015261010081015161458f9080612196565b6101a082018190526145b0906145a59080612196565b826101400151612196565b6101a082018190526101608201516145c791612196565b6101808201526101408101516101e08201516145e39190612196565b6101c08201526145f7612fb485600c614a25565b6102008201819052610280840151610180830151614622926106229161061d906106408a6024614a25565b8360146020020152614652836015602002015161062283610200015161061d856101a001516106408a6025614a25565b8360156020020152614682836016602002015161062283610200015161061d856101c001516106408a6026614a25565b83601660200201526146b2836017602002015161062283610200015161061d856101e001516106408a6027614a25565b836017602002015250505050565b6147126040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60405180608001604052806147477f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e761215f565b81526020016147757f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b61215f565b81526020016147a27e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac1561215f565b81526020016147d07f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b61215f565b905290506147ed6147e286601c614a25565b610622876002614a25565b610120830181905261482c90614821906148169061480b908061217d565b85610120015161217d565b84610120015161217d565b83610120015161217d565b825261483985601d614a25565b602083015261484985601e614a25565b604083015261485985601f614a25565b606083015281516020830151614881916140e3916148779190612196565b8460400151612196565b608083015261489461326686600d614a25565b61014083015281516148b5906148ab90835f610ee9565b8360800151612196565b60a08301526148e1846018602002015161062284610140015161061d8660a001516106408b6024614a25565b61030085015260208201516148fc906148ab90836001610ee9565b60c0830152614928846019602002015161062284610140015161061d8660c001516106408b6025614a25565b6103208501526040820151614943906148ab90836002610ee9565b60e083015261496f84601a602002015161062284610140015161061d8660e001516106408b6026614a25565b610340850152606082015161498a906148ab90836003610ee9565b6101008301526149b884601b602002015161062284610140015161061d8661010001516106408b6027614a25565b84601b6130ed565b5f6149cc8184816108b3565b905060015b601c811015614a1e57614a14826106228684601c81106149f3576149f3615129565b602002015186614a046001876150dc565b601b8110610ee957610ee9615129565b91506001016149d1565b5092915050565b5f82826028811115614a3957614a39615376565b60298110614a4957614a49615129565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f8152602001614a7b614efe565b8152602001614a88614efe565b8152602001614a95614efe565b8152602001614aa2614efe565b8152602001614aaf614efe565b8152602001614abc614efe565b8152602001614ac9614efe565b8152602001614ad6614efe565b8152602001614ae3614efe565b8152602001614af0614efe565b8152602001614afd614efe565b8152602001614b0a614efe565b8152602001614b17614efe565b8152602001614b24614efe565b8152602001614b31614efe565b8152602001614b3e614efe565b8152602001614b4b614efe565b8152602001614b58614efe565b8152602001614b65614efe565b8152602001614b72614efe565b8152602001614b7f614efe565b8152602001614b8c614efe565b8152602001614b99614efe565b8152602001614ba6614efe565b8152602001614bb3614efe565b8152602001614bc0614efe565b8152602001614bcd614efe565b8152602001614bda614efe565b905290565b604051806101e00160405280614bf3614f35565b8152602001614c00614db3565b8152602001614c0d614db3565b8152602001614c1a614db3565b8152602001614c27614db3565b8152602001614c34614db3565b8152602001614c41614db3565b8152602001614c4e614db3565b8152602001614c5b614db3565b8152602001614c68614f54565b8152602001614c75614f82565b8152602001614c82614fa1565b8152602001614c8f614e45565b8152602001614c9c614db3565b8152602001614bda614db3565b604051806101000160405280614cbd614dd7565b8152602001614cca614e07565b8152602001614cd7614e45565b8152602001614ce4614e45565b81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f8152602001614d34614fcf565b8152602001614d41614fcf565b81526020015f81526020015f81526020015f81526020015f8152602001614bda614e45565b604051806108e001604052806047906020820280368337509192915050565b604051806108e001604052806047905b614d9d614efe565b815260200190600190039081614d955790505090565b60405180608001604052805f81526020015f81526020015f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806103600160405280601b906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180610da00160405280606d906020820280368337509192915050565b604051806103a00160405280601d906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b60405180604001604052805f81526020015f81525090565b604051806101a00160405280600d906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b614f6c614edf565b815260200190600190039081614f645790505090565b6040518061052001604052806029906020820280368337509192915050565b604051806103600160405280601b905b614fb9614db3565b815260200190600190039081614fb15790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f60408587031215615000575f5ffd5b84356001600160401b03811115615015575f5ffd5b8501601f81018713615025575f5ffd5b80356001600160401b0381111561503a575f5ffd5b87602082840101111561504b575f5ffd5b6020918201955093508501356001600160401b0381111561506a575f5ffd5b8501601f8101871361507a575f5ffd5b80356001600160401b0381111561508f575f5ffd5b8760208260051b84010111156150a3575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417612177576121776150b1565b81810381811115612177576121776150b1565b80820180821115612177576121776150b1565b5f5f85851115615110575f5ffd5b8386111561511c575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b5f6001820161514e5761514e6150b1565b5060010190565b80356020831015612177575f19602084900360031b1b1692915050565b5f8183825b6009811015615196578151835260209283019290910190600101615177565b5050506101208201905092915050565b634e487b7160e01b5f52601260045260245ffd5b5f826151c8576151c86151a6565b500490565b5f8183825b602a8110156151f15781518352602092830192909101906001016151d2565b5050506105408201905092915050565b5f8183825b606d811015615225578151835260209283019290910190600101615206565b505050610da08201905092915050565b5f8183825b601d81101561525957815183526020928301929091019060010161523a565b5050506103a08201905092915050565b5f8183825b600581101561528d57815183526020928301929091019060010161526e565b50505060a08201905092915050565b5f826152aa576152aa6151a6565b500690565b5f816152bd576152bd6150b1565b505f190190565b5f82518060208501845e5f920191825250919050565b5f602082840312156152ea575f5ffd5b81518015158114611a4c575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b81515f90829060208501835b82811015615337578151845260209384019390910190600101615319565b509195945050505050565b5f8183825b600d811015615366578151835260209283019290910190600101615347565b5050506101a08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe696e76616c6964206e756d626572206f6620627974657320746f20636f6e737430644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
|
|
4
|
+
export declare const HonkVerifierBytecode = "0x60e060405234801561000f575f5ffd5b506302000000608052601960a05260ae60c05260805160a05160c0516157346100605f395f818160d6015261065001525f818161075b01528181610d110152610dae01525f6105f401526157345ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004615302565b610054565b604051901515815260200160405180910390f35b5f6100626101c960206153da565b8414610081576040516376ba560560e11b815260040160405180910390fd5b5f61008a6101c1565b90505f61009787876101d6565b9050601082604001516100aa91906153f1565b84146100c95760405163fa06659360e01b815260040160405180910390fd5b5f6100fc828787865f01517f0000000000000000000000000000000000000000000000000000000000000000600161052f565b905061014c8686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050855185516060810151608090910151919350915060016105de565b815160a001525f61015d8383610753565b90508061017d576040516313f8744360e31b815260040160405180910390fd5b5f610189848685610854565b9050806101a9576040516352ec174560e11b815260040160405180910390fd5b8180156101b35750805b9a9950505050505050505050565b6101c9614d6a565b6101d16110fe565b905090565b6101de614ef4565b5f805b60108110156102405761020d8583866101fb826020615404565b9261020893929190615417565b611a37565b835182601081106102205761022061543e565b6020020181815250506020826102369190615404565b91506001016101e1565b50610264848285610252826080615404565b9261025f93929190615417565b611aa5565b6020830152610274608082615404565b9050610287848285610252826080615404565b6040830152610297608082615404565b90506102aa848285610252826080615404565b60608301526102ba608082615404565b90506102cd848285610252826080615404565b60c08301526102dd608082615404565b90506102f0848285610252826080615404565b60e0830152610300608082615404565b9050610313848285610252826080615404565b6080808401919091526103269082615404565b9050610339848285610252826080615404565b61010083015261034a608082615404565b905061035d848285610252826080615404565b60a083015261036d608082615404565b90505f5b601c8110156103ec575f5b60088110156103e3576103968684876101fb826020615404565b84610120015183601c81106103ad576103ad61543e565b602002015182600881106103c3576103c361543e565b6020020181815250506020836103d99190615404565b925060010161037c565b50600101610371565b505f5b6029811015610440576104098583866101fb826020615404565b83610140015182602981106104205761042061543e565b6020020181815250506020826104369190615404565b91506001016103ef565b505f5b61044f6001601c6153f1565b81101561049857610467858386610252826080615404565b83610160015182601b811061047e5761047e61543e565b602002015261048e608083615404565b9150600101610443565b505f5b601c8110156104ec576104b58583866101fb826020615404565b83610180015182601c81106104cc576104cc61543e565b6020020181815250506020826104e29190615404565b915060010161049b565b506104fe848285610252826080615404565b6101a083015261050f608082615404565b9050610522848285610252826080615404565b6101c08301525092915050565b610537614fbe565b5f61054788888888888887611b84565b90835290506105568189611bda565b6020840191909152905061056981611dba565b6040840191909152905061057d8882611e1b565b606084019190915290506105918882611eef565b608084019190915290506105a58882611f7a565b60a084019190915290506105b988826120e8565b60c084019190915290506105cd888261215a565b5060e0830152509695505050505050565b5f60018082610627866106228961061d6106188a7f0000000000000000000000000000000000000000000000000000000000000000615404565b6121b1565b6121cf565b6121e8565b90505f610645876106408a61061d6106188b6001615404565b612201565b90505f5b61067460107f00000000000000000000000000000000000000000000000000000000000000006153f1565b8110156106e1575f61069e8c83815181106106915761069161543e565b60200260200101516121b1565b90506106ae8661061d86846121e8565b95506106be8561061d85846121e8565b94506106ca848b6121e8565b93506106d6838b612201565b925050600101610649565b505f5b6010811015610748575f8a82601081106107005761070061543e565b602002015190506107158661061d86846121e8565b95506107258561061d85846121e8565b9450610731848b6121e8565b935061073d838b612201565b9250506001016106e4565b506101b38484612230565b5f806001815b7f000000000000000000000000000000000000000000000000000000000000000081101561082a575f86610120015182601c81106107995761079961543e565b602002015190505f6107ab828661223e565b9050806107cb576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c81106107e2576107e261543e565b602002015190506107f3838261225b565b955061081a886040015185601c811061080e5761080e61543e565b6020020151868361240a565b9450505050806001019050610759565b505f610844866101400151865f0151876020015185612435565b90508281145b9695505050505050565b5f61085d615017565b5f61086b8460a001516124af565b905061087561507b565b61087d61509a565b60e086015161089c9061089790855f5b6020020151612201565b612514565b60e0808601919091528601516108bd9061089790855f5b60200201516121e8565b610100850181905260e085015160c08801516108dd9261062291906121cf565b845260a086015161090c906108f190612514565b61061d8660e001516106408a60c001518961010001516121cf565b6020850152600182526101a08801516109249061257d565b81526001606085018190525f60808601525b602481116109dc5761095761094d865f01516125bc565b86606001516121cf565b8382604781106109695761096961543e565b602002015260808501516101408a01516109ac91906106229061098d6001866153f1565b6029811061099d5761099d61543e565b602002015188606001516121cf565b8560800181815250506109c7856060015188608001516121cf565b60608601526109d581615452565b9050610936565b505f6109ea60246001615404565b90505b60298111610a6b57610a0561094d86602001516125bc565b838260478110610a1757610a1761543e565b602002015260808501516101408a0151610a3b91906106229061098d6001866153f1565b856080018181525050610a56856060015188608001516121cf565b6060860152610a6481615452565b90506109ed565b50606087015181600160200201526080870151816002602002015260a0870151816003602002015260c0870151816004602002015260e0870151816005602002015261010087015181600660200201526101208701518160076020020152610140870151816008602002015261016087015181600960200201526101c087015181600a602002015261018087015181600b60200201526101a087015181600c60200201526101e087015181600d602002015261020087015181600e602002015261022087015181600f60200201526102408701518160106020020152610260870151816011602002015261028087015181601260200201526102a087015181601360200201526102c087015181601460200201526102e08701518160156020020152610300870151816016602002015261032087015181601760200201526103408701518160186020020152610360870151816019602002015261038087015181601a60200201526103a087015181601b60200201526103c087015181601c6020020181905250610bff886020015161257d565b6103a08201526040880151610c139061257d565b6103c08201526060880151610c279061257d565b6103e08201526080880151610c3b9061257d565b61040082015260a0880151610c4f9061257d565b610420820152610100880151610c649061257d565b61044082015260c0880151610c789061257d565b61046082015260e0880151610c8c9061257d565b6104808201526020880151610ca09061257d565b6104a08201526040880151610cb49061257d565b6104c08201526060880151610cc89061257d565b6104e08201526080880151610cdc9061257d565b61050082015260a0880151610cf09061257d565b610520820152606086015160808501516101808a01515f92610d35929091877f00000000000000000000000000000000000000000000000000000000000000006125d4565b805160e0870151919250610d48916121cf565b604086018190526101808a01515160c0890151610d79929161062291610d6e91906121cf565b8861010001516121cf565b604086015260c0870151610d8c906126ef565b60608601525f5b610d9f6001601c6153f1565b811015610fa7575f610dd260017f00000000000000000000000000000000000000000000000000000000000000006153f1565b821015905080610f4d57610e056108978a60e0015188856001610df59190615404565b601c811061088d5761088d61543e565b60e080890191909152890151610e35906108979088610e25866001615404565b601c81106108b3576108b361543e565b610100880152606087015160e0880151610e4f91906121cf565b610120880152606087015160c08a0151610e6c91610d6e916121cf565b6101408801819052610e8f90610e81906125bc565b6106228961012001516125bc565b8583610e9d60296001615404565b610ea79190615404565b60478110610eb757610eb761543e565b60200201526101408701516101808c01515f91610ef391610ed9866001615404565b601c8110610ee957610ee961543e565b60200201516121cf565b9050610f10816106228a610120015187876001610ed99190615404565b9050610f208860400151826121e8565b6040890152606088015160c08b0151610f4691610f3c916121cf565b8b60c001516121cf565b6060890152505b610f718b610160015183601b8110610f6757610f6761543e565b602002015161257d565b8483610f7f60296001615404565b610f899190615404565b60478110610f9957610f9961543e565b602002015250600101610d93565b5060408051808201909152600181526002602082015282610fca601c6029615404565b60478110610fda57610fda61543e565b6020020152604085015183610ff1601c6029615404565b604781106110015761100161543e565b60200201526101c08901515f906110179061257d565b90508083611027601c6029615404565b611032906001615404565b604781106110425761104261543e565b602002015260e088015184611059601c6029615404565b611064906001615404565b604781106110745761107461543e565b60200201525f61108484866126fa565b90505f611090836127f2565b90505f6110a18d5f01518484612838565b90505f5f6110b18f5f01516128ae565b915091506110be8261296f565b6110c78161296f565b6110d2858385612a0e565b94506110df848285612a0e565b93506110eb8585612a34565b9f9e505050505050505050505050505050565b611106614d6a565b50604080516103e08101825263020000008152601960208083019190915260ae82840152825180840184527f09334c98e7aa9d7c893c773e5cb601e88d34e2ef7a4b533d0271f52f65ad9ea881527f290f24eecb29156e1c4c3c08e409cbfcff9c1c077b6f536da97add2cffb8afe2818301526060830152825180840184527f23dcce77911e304e9dda87ef0525786c282a5425faab8be7f10743701cd8c65081527f279115fe862b11b138912829edb3b505f786aec0e29349e1e4baee9af6215e17818301526080830152825180840184527f232b1c8cbd5732691cdb9507533b22abeab5b312b00374975df090a0e42bed5981527f210cf5d6545df63b6dd6d508f7882e09b5a7d4805204c9b7425884862830cfde8183015260a0830152825180840184527f16185e75e98c7ba964ae5c1e128aabe6f5ab04a4b8c09657be3514b48f94afe881527f088f19d4953eb874bf037356dfa95eaf0b3d1ab719cf7ef1f0898bfc3bc1db3e8183015260c0830152825180840184527f1abd9df724831049545dbbd49a4f63af6b92b7f61d3cb203148467cc13519dba81527f1d909d25e6881a97db7772cf7f8ced73cf4913c4a3bea527622a19df373f53a98183015260e0830152825180840184527f17627dd50e14246aab4a7150c0835fb9385aa1eed28a9c38bcd8d2169f19358a81527f2a083a32fa64a595408a76e1b57303655e10d845f3cb803ba3a1c78aba1621bd81830152610100830152825180840184527f107d2d79c20982125b9f302008ecbd7b7f25eebc71271311c28f58223170c78b81527f0f3c9104533084fca88d92d900c94cb1400899b1c3c2b40cf32807f7d8517f4781830152610120830152825180840184527f03c8ba688220487daf92373540f3765c2e604baf121468ca5b913513690a4db981527f2c89160c84f7903b29fd626c25b76e58cbdc6be9a60c152703906d7d31e3b3c981830152610140830152825180840184527f04d60e98f94b55bfa9f433d502c9a164c16dcd5296d2843db8d4576a7b1a2cd081527f077d01892b9defa2ed388a5d54e6201c9f84ae43066455f1d09312be390db3fb81830152610160830152825180840184527f1ef4446f8ca19fc96ce47a212e25745a0fd6cc2e3a2e976139308ecfb1e6d5e481527f1cb75ce9d1d3a466c69c23f529de08578fb97590dd662bd6584a412519165e7a81830152610180830152825180840184527f16a547c67a7ed2a3fe79fa3cc7993fe239ca7c82da7a6bd4074084995e03aae681527f0b9bacc018ae81a696836033bdd5610e7fecb72c7cf3300ceb5bea7a9e6e5a7c818301526101a0830152825180840184527f1467fe37cb78030724b4d9ca59e522bfc05d4b043095e3fe5974399fdaa91f9481527f28ce91fd4eb517e79c85634d86feb74b7eb5e5e5bde75cc15c486bc04eeb5378818301526101c0830152825180840184527f24e1cd532e4c38c706308147778c46c1cfdb33ad817388518d1bfc9857dd7d0681527f117474e5171baea921b5fbc29dfdd1b637586d9cc493e0d95ed50c7ca7d2d8e3818301526101e0830152825180840184527f065c1127662a86c5886c290a6d7a848b8c307ffb9b0045128d2ac9d650d95f3281527f28bf9f9b979d273ae5577d24a76e13c83643fc1a957e090ea54cffbfe91f36b381830152610200830152825180840184527f09b964172f864b545e7b823e282729898d4a30629017630aea5087ac443c25a181527edfac5c45419a30ae002477ffd5184996affcf63ea58e94924184849765a3ba81830152610220830152825180840184527f0873705797c37e9b8b23b95bc3832b91917f18c106b809462d6d5975e0308c2681527f2179de359723b356c77ae71adee34a9fcc0da24c5cb7b684d12d37d11a08804781830152610240830152825180840184527f2ecf822725e04ce88844f575583620ac7254bf438f1ee188d6684bc7a24b51cf81527f2f031e3ce043a92f07b20b0b756d078a221c11aa5adfe122d6f0777b09770b2681830152610260830152825180840184527f16ae70bb7787988077c851c775c916c796bc3465ea27104714a0218407b57c6281527f0f87fd3d7073f34b5a275b0f8ede893d5fa70755ffcb44776793984368db5c0381830152610280830152825180840184527f253eb74f80aea955ecdc21c8bc616709ac8df436e56c7b218ab712f1bafbcf8181527f2ac603b5d188870c0decec31a3a88195f38fba0620920e65b86dfa0d63c68bfe818301526102a0830152825180840184527f0bf12249b1b1c067aeab52836f3a91823af5a5d9999e3a45f497cfed2ec45ac581527f2356185ea1d8e799a4558aa583033657b6865b21b2d7636aa13540a16f2076a2818301526102c0830152825180840184527e571b59727b0412772104738959df5ed480d2252d1fe166ef7a1dd80ce90ab581527f2051b5690608c36afb2993a5fb03e3c59cc1f5305d40f8da07705e3640a5f23a818301526102e0830152825180840184527e61ffb769200b8e428cd1f04935f0c9642bed1468d81f380a17baffee08ba4f81527f29123dbe8af19645c63d758d3ba7ea45ca7bccae7f84b49d393a6d72f68fa63181830152610300830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610320830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610340830152825180840184527f09d569252b4b229e483b00b1e67384ac4db29395d32e28c82f8b73983d30ac6b81527f2c47d5809e56ba32be655d4177db195bb450fd12587756c4b85b6506a7844ddb81830152610360830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c8183015261038083015282518084018452600181526002818301526103a083015282518084019093527f231b37b6408a23429458d5dfb1a3ae2f4f12e0f7001a206a6bbbb664bb2cf66983527f153d3d8224622574551f8091c7202b1e3f34b69f9a61bf46307f98ff3c50e657908301526103c081019190915290565b5f60208214611a915760405162461bcd60e51b815260206004820152602e60248201525f5160206156d45f395f51905f5260448201526d393ab1ba1023391039b1b0b630b960911b60648201526084015b60405180910390fd5b611a9e610618838561546a565b9392505050565b611aad6150c8565b60808214611b025760405162461bcd60e51b815260206004820152602f60248201525f5160206156d45f395f51905f5260448201526e1c9d58dd08184811cc481c1bda5b9d608a1b6064820152608401611a88565b604080516080810190915280611b1b60205f8688615417565b611b249161546a565b8152602090810190611b3a906040908688615417565b611b439161546a565b8152602001611b56606060408688615417565b611b5f9161546a565b8152602001611b72608060608688615417565b611b7b9161546a565b90529392505050565b611b8c6150ec565b5f611b9b898989898989612c28565b604086019190915260208501919091529083529250611bba838a6130ce565b608085019190915260608401919091529199919850909650505050505050565b611be261511c565b5f611beb61513b565b848152610100848101805151602080850191909152815181015160408086019190915282518101516060808701919091529251830151608086015260a080890180515191870191909152805183015160c0870152805182015160e087015251909201519284019290925251611c8191611c6691849101615487565b604051602081830303815290604052805190602001206121b1565b9150611c8c8261319d565b6020850152835260015b6002611ca46001601c6153f1565b611cae91906154cf565b811015611d2e57611ccb83604051602001611c6691815260200190565b9250611cd68361319d565b85611ce28460026153da565b601b8110611cf257611cf261543e565b6020020186611d028560026153da565b611d0d906001615404565b601b8110611d1d57611d1d61543e565b602002019190915252600101611c96565b50611d3b6001601c6153f1565b6001166001148015611d5857506002611d566001601c6153f1565b115b15611db257611d7382604051602001611c6691815260200190565b91505f611d7f8361319d565b856001611d8d81601c6153f1565b611d9791906153f1565b601b8110611da757611da761543e565b602002019190915250505b509250929050565b611dc261515a565b5f805b601c811015611e1457611de484604051602001611c6691815260200190565b93505f611df08561319d565b8584601c8110611e0257611e0261543e565b60200201919091525050600101611dc5565b5090929050565b611e2361515a565b5f805b601c811015611ee657611e3761513b565b8481525f5b6008811015611ea05786610120015183601c8110611e5c57611e5c61543e565b60200201518160088110611e7257611e7261543e565b602002015182611e83836001615404565b60098110611e9357611e9361543e565b6020020152600101611e3c565b50611eb581604051602001611c669190615487565b94505f611ec18661319d565b8685601c8110611ed357611ed361543e565b6020020191909152505050600101611e26565b50909391925050565b5f5f611ef9615179565b8381525f5b6029811015611f4c578561014001518160298110611f1e57611f1e61543e565b602002015182611f2f836001615404565b602a8110611f3f57611f3f61543e565b6020020152600101611efe565b50611f6181604051602001611c6691906154e2565b91505f611f6d8361319d565b5096929550919350505050565b5f5f611f84615198565b8381525f5b611f956001601c6153f1565b8110156120d35785610160015181601b8110611fb357611fb361543e565b60200201515182611fc58360046153da565b611fd0906001615404565b606d8110611fe057611fe061543e565b602002015261016086015181601b8110611ffc57611ffc61543e565b6020020151602001518282600461201391906153da565b61201e906002615404565b606d811061202e5761202e61543e565b602002015261016086015181601b811061204a5761204a61543e565b6020020151604001518261205f8360046153da565b61206a906003615404565b606d811061207a5761207a61543e565b602002015261016086015181601b81106120965761209661543e565b602002015160600151826120ab8360046153da565b6120b6906004615404565b606d81106120c6576120c661543e565b6020020152600101611f89565b50611f6181604051602001611c669190615516565b5f5f6120f26151b7565b8381525f5b601c8110156121455785610180015181601c81106121175761211761543e565b602002015182612128836001615404565b601d81106121385761213861543e565b60200201526001016120f7565b50611f6181604051602001611c66919061554a565b5f5f6121646151d6565b8381526101a085018051516020808401919091528151810151604080850191909152825181015160608086019190915292519092015160808401529051611f6191611c669184910161557e565b5f6121c95f5160206157145f395f51905f52836155b1565b92915050565b5f5f5160206157145f395f51905f528284099392505050565b5f5f5160206157145f395f51905f528284089392505050565b5f5f5160206157145f395f51905f52612227835f5160206157145f395f51905f526153f1565b84089392505050565b5f611a9e8361061d84612514565b81515f908190612250908560016108b3565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b6008811015612342576123388261061d8784612201565b9150600101612321565b5061234b6151f4565b5f5b60088110156123ac575f8482600881106123695761236961543e565b6020020151905061237e8161061d8985612201565b905061238981612514565b90508083836008811061239e5761239e61543e565b60200201525060010161234d565b505f5b60088110156123ff575f8782600881106123cb576123cb61543e565b602002015190506123e881848460088110610ee957610ee961543e565b90506123f486826121e8565b9550506001016123af565b5061084a84836121cf565b5f5f61242060016106228561061d896001612201565b905061242c84826121cf565b95945050505050565b5f61243e61515a565b6124498682856131cd565b61245586868386613379565b61246186868386613565565b61246c868285613790565b612477868285613984565b61248386868386613ccd565b61248f86868386614180565b61249a86828561457f565b6124a5868285614940565b61084a8185614c40565b6124b761515a565b81815260015b601c81101561250e576124ef826124d56001846153f1565b601c81106124e5576124e561543e565b60200201516126ef565b8282601c81106125015761250161543e565b60200201526001016124bd565b50919050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f5160206157145f395f51905f520360808201525f5160206157145f395f51905f5260a082015260205f60c08360055afa905080612572575f5ffd5b50505f519392505050565b612585615213565b604051806040016040528060888460200151901b845f015117815260200160888460600151901b8460400151178152509050919050565b5f6121c9825f5160206157145f395f51905f526153f1565b6125dc61515a565b601c5b80156126e5575f846125f26001846153f1565b601c81106126025761260261543e565b602002015190505f886126166001856153f1565b601c81106126265761262661543e565b602002015190505f61268161264561263e858c6121cf565b60026121cf565b6106408a6126546001896153f1565b601c81106126645761266461543e565b602002015161061d61267b8861061d60018a612201565b87612201565b90506126a28161061d61089761269c8761061d600189612201565b866121e8565b90508584116126d15797508780856126bb6001876153f1565b601c81106126cb576126cb61543e565b60200201525b505050806126de906155c4565b90506125df565b5095945050505050565b5f6121c982836121cf565b612702615213565b5f61270f601c6029615404565b61271a906002615404565b90505f5b8181101561274d5761274585826047811061273b5761273b61543e565b602002015161296f565b60010161271e565b506001604051855151604082015285516020015160608201528451608082015260408160606040840160075afa8216915060015b838110156127da5760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612781565b50805184526020810151602085015250505092915050565b6127fa615213565b5f5160206156f45f395f51905f5282602001515f5160206156f45f395f51905f5261282591906153f1565b61282f91906155b1565b60208301525090565b5f5f5f612844866128ae565b915091506128506151f4565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e0840152516128a391611c66918491016155d9565b979650505050505050565b6128b6615213565b6128be615213565b82516020808501516040860151606087015160cc90811b608892831b604494851b90961795909517949094178652608087015160a088015160c089015160e08a0151871b90841b91851b9092171717868401526101008701516101208801516101408901516101608a0151871b90841b91851b909217171785526101808701516101a08801516101c08901516101e09099015190951b9790911b9390911b1791909117939093179281019290925291565b805160208201515f5f5160206156f45f395f51905f528380095f5160206156f45f395f51905f5260035f5160206156f45f395f51905f52838709085f5160206156f45f395f51905f528485091491505080612a085760405162461bcd60e51b8152602060048201526019602482015278706f696e74206973206e6f74206f6e2074686520637572766560381b6044820152606401611a88565b50505050565b612a16615213565b612a1e615213565b612a288386614ca5565b905061242c8185614cf5565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b031683604051612bca919061560d565b5f60405180830381855afa9150503d805f8114612c02576040519150601f19603f3d011682016040523d82523d5f602084013e612c07565b606091505b509150915081801561084a57508080602001905181019061084a9190615623565b5f80808080612c38876003615404565b612c4390600c615404565b6001600160401b03811115612c5a57612c5a615642565b604051908082528060200260200182016040528015612c83578160200160208202803683370190505b509050875f1b815f81518110612c9b57612c9b61543e565b602002602001018181525050865f1b81600181518110612cbd57612cbd61543e565b602002602001018181525050855f1b81600281518110612cdf57612cdf61543e565b60209081029190910101525f5b612cf76010896153f1565b811015612d48578a8a82818110612d1057612d1061543e565b9050602002013582826003612d259190615404565b81518110612d3557612d3561543e565b6020908102919091010152600101612cec565b505f5b6010811015612db9578b51612d73908260108110612d6b57612d6b61543e565b602002015190565b82826010612d828c6003615404565b612d8c91906153f1565b612d969190615404565b81518110612da657612da661543e565b6020908102919091010152600101612d4b565b5060208b01515181612dcc896003615404565b81518110612ddc57612ddc61543e565b6020908102919091018101919091528b810151015181612dfd896003615404565b612e08906001615404565b81518110612e1857612e1861543e565b6020908102919091018101919091528b01516040015181612e3a896003615404565b612e45906002615404565b81518110612e5557612e5561543e565b6020908102919091018101919091528b01516060015181612e77896003615404565b612e82906003615404565b81518110612e9257612e9261543e565b602090810291909101015260408b01515181612eaf896003615404565b612eba906004615404565b81518110612eca57612eca61543e565b60209081029190910181019190915260408c0151015181612eec896003615404565b612ef7906005615404565b81518110612f0757612f0761543e565b60209081029190910101526040808c0151015181612f26896003615404565b612f31906006615404565b81518110612f4157612f4161543e565b602090810291909101015260408b01516060015181612f61896003615404565b612f6c906007615404565b81518110612f7c57612f7c61543e565b602090810291909101015260608b01515181612f99896003615404565b612fa4906008615404565b81518110612fb457612fb461543e565b60209081029190910181019190915260608c0151015181612fd6896003615404565b612fe1906009615404565b81518110612ff157612ff161543e565b602090810291909101015260608b01516040015181613011896003615404565b61301c90600a615404565b8151811061302c5761302c61543e565b60209081029190910101526060808c015101518161304b896003615404565b61305690600b615404565b815181106130665761306661543e565b60200260200101818152505061308681604051602001611c669190615656565b91506130918261319d565b60408051602081018690529297509095506130ac9101611c66565b91505f6130b88361319d565b50959c949b509499509097509195505050505050565b5f5f5f6130d961522b565b85815260c085810180515160208085019190915281518101516040808601919091528251810151606080870191909152925183015160808087019190915260e0808b0180515160a08901528051850151968801969096528551830151908701529351830151610100860152928801805151610120860152805182015161014086015280518401516101608601525190910151610180840152905161318391611c669184910161568b565b915061318e8261319d565b90979096509194509092505050565b5f80826001600160801b038116608082901c6131b8826121b1565b94506131c3816121b1565b9350505050915091565b5f6131d9846007614d3a565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f61323a61323461320e856003612201565b61061d61322961321e8b5f614d3a565b61061d8c601d614d3a565b61061d8b601c614d3a565b836121cf565b90506132bb6132b061329761327e6132658561062261325a8d6002614d3a565b61061d8e601c614d3a565b6106226132738c6003614d3a565b61061d8d601d614d3a565b61062261328c8b6004614d3a565b61061d8c601e614d3a565b6106226132a58a6005614d3a565b61061d8b601f614d3a565b610622886001614d3a565b90506132da816106226132cf866001612201565b61061d8a6027614d3a565b90506132e681846121cf565b90506132f281856121cf565b8552505f905061332c61332261331761330c88601c614d3a565b61062289601f614d3a565b610640886024614d3a565b610622875f614d3a565b905061333d8161061d846002612201565b905061334e8161061d846001612201565b905061335a81836121cf565b905061336681846121cf565b9050808460015b60200201525050505050565b5f5f5f6133af6133a561338d89601c614d3a565b61062261339b8b6012614d3a565b8a606001516121cf565b87608001516121e8565b90506133e88161061d6133de6133c68b601d614d3a565b6106226133d48d6013614d3a565b8c606001516121cf565b89608001516121e8565b905061340d8161061d6133de6133ff8b601e614d3a565b6106226133d48d6014614d3a565b90506134328161061d6133de6134248b601f614d3a565b6106226133d48d6015614d3a565b92505f90506134566133a561344889601c614d3a565b61062261339b8b600e614d3a565b905061347b8161061d6133de61346d8b601d614d3a565b6106226133d48d600f614d3a565b90506134a08161061d6133de6134928b601e614d3a565b6106226133d48d6010614d3a565b90506134c58161061d6133de6134b78b601f614d3a565b6106226133d48d6011614d3a565b91505f90506134ec6134e66134db896020614d3a565b6106228a601a614d3a565b846121cf565b90506135218161064061351b6135038b6028614d3a565b6106226135118d601b614d3a565b8c60a001516121cf565b856121cf565b905061352d81856121cf565b6040860152505f61355061351b61354589601b614d3a565b61061d8a6028614d3a565b9050808560035b602002015250505050505050565b5f5f6135c36135ab61359361357e6133de8a6016614d3a565b61062261358c8b6017614d3a565b8a516121cf565b6106226135a18a6018614d3a565b89602001516121cf565b6106226135b9896019614d3a565b88604001516121cf565b91505f6135fa6135e16135d789601c614d3a565b88608001516121e8565b6106226135ef8a6003614d3a565b61061d8b6024614d3a565b90505f61362361360b89601d614d3a565b6106226136188b5f614d3a565b61061d8c6025614d3a565b90505f61364d6136348a601e614d3a565b6106226136428c6001614d3a565b61061d8d6026614d3a565b905061368c61367461366685610622868d5f01516121cf565b610622848c602001516121cf565b6106226136828c6004614d3a565b8b604001516121cf565b93505050505f6136a06134e6886021614d3a565b90505f6136b16134e6896021614d3a565b90505f6136e96136d06136c58b6023614d3a565b6106228c6006614d3a565b6106406136de8c6023614d3a565b61061d8d6006614d3a565b90505f61370d6137076136fc87896121cf565b61061d8d6021614d3a565b83612201565b905061371981886121cf565b90505f61374161373361372d8d6006614d3a565b876121cf565b61064061372d8e6022614d3a565b90505f61374f8c6023614d3a565b90505f61375f61370783846121cf565b60808c0185905260a08c018490529050613779818b6121cf565b8b6006602002015250505050505050505050505050565b5f61379c5f6001612201565b90505f6137aa5f6002612201565b90505f6137b85f6003612201565b90505f6137d46137c988601d614d3a565b61064089601c614d3a565b90505f6137f06137e589601e614d3a565b6106408a601d614d3a565b90505f61380c6138018a601f614d3a565b6106408b601e614d3a565b90505f61382861381d8b6024614d3a565b6106408c601f614d3a565b9050836138398161061d818b6121e8565b90506138498161061d878a6121e8565b90506138598161061d87896121e8565b905061386a8161061d8d6008614d3a565b9050613876818a6121cf565b60e08b0152508261388b8161061d818b6121e8565b905061389b8161061d868a6121e8565b90506138ab8161061d86896121e8565b90506138bc8161061d8d6008614d3a565b90506138c8818a6121cf565b6101008b015250816138de8161061d818b6121e8565b90506138ee8161061d858a6121e8565b90506138fe8161061d85896121e8565b905061390f8161061d8d6008614d3a565b905061391b818a6121cf565b6101208b015250806139318161061d818b6121e8565b90506139418161061d848a6121e8565b90506139518161061d84896121e8565b90506139628161061d8d6008614d3a565b905061396e818a6121cf565b610140909a019990995250505050505050505050565b6139bd6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6139c884601d614d3a565b81526139d584601e614d3a565b60208201526139e5846024614d3a565b60408201526139f5846027614d3a565b6060820152613a05846026614d3a565b6080820152613a15846025614d3a565b60a08201525f613a26856002614d3a565b90505f613a33865f614d3a565b90505f613a478460400151855f0151612201565b90505f613a5c856020015186602001516121cf565b606086015190915086905f90613a7290806121cf565b90505f613a90613a8a89602001518a606001516121cf565b886121cf565b90505f613aaf613aa88a60a001518b604001516121e8565b8a516121e8565b9050613abe61372d82886121cf565b9050613ae5613adf613ad9613ad38487612201565b88612201565b846121e8565b836121e8565b9050613b0d613b02613af783876121cf565b61061d8f6009614d3a565b61061d60018a612201565b6101608c015250505050602085015160808601515f91613b2c916121e8565b90505f613b4a613b408860600151886121cf565b8860200151612201565b90505f613b6e613b5a84876121cf565b61062261351b8b60a001518c5f0151612201565b9050613b96613b8b613b80838c6121cf565b61061d8e6009614d3a565b61061d600189612201565b6101808b0152505f9150613bb79050613bb08360116121e8565b87516121cf565b90505f613bc483846121e8565b9050613bd081826121e8565b90505f613bde8360096121cf565b9050613c07613c016134e6613bfa8b60a001518c5f01516121e8565b8b516121e8565b82612201565b60c089018190525f90613c2290613a8a90613af7908d6121cf565b9050613c358b600b6020020151826121e8565b6101608c0152505086515f9250613c5c9150613bb090613c5590806121e8565b88516121e8565b90505f613c9c613c778361061d8a5f01518b60a00151612201565b602089015161064090613c8a90806121e8565b61061d8b602001518c608001516121e8565b9050613cb989600c6020020151610622613a8a613af7858d6121cf565b89600c602002015250505050505050505050565b613d37604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613d4f613d4586601e614d3a565b85604001516121cf565b808252613d6e90610622613d6488601d614d3a565b87602001516121cf565b808252613d8390610622613bb088601c614d3a565b808252613d9590610622876001614d3a565b80825260208201819052613dae9061064087601f614d3a565b8152613dc9613dbe866024614d3a565b61064087601c614d3a565b6080820152613de7613ddc866027614d3a565b61064087601f614d3a565b60608201526080810151613e0990613dff90806121cf565b8260800151612201565b6101c08201526080810151613e4990613e3f90613e389061061d60015f5160206157145f395f51905f526153f1565b60016121e8565b82606001516121cf565b60a08201819052613e7f90613e719061061d613e66896002614d3a565b61061d8a6003614d3a565b61061d61351b88600a614d3a565b83600e60200201526101c0810151613ea390613e719061061d613e66896002614d3a565b6101e08401528051613ec89061061d613ebd886002614d3a565b61061d896003614d3a565b6101208201525f613ee7613edd87601f614d3a565b8360200151612201565b9050613ef6613c0182836121cf565b60e0830152613f13613f09876026614d3a565b86604001516121cf565b60408301819052613f3690610622613f2c896025614d3a565b88602001516121cf565b60408301819052613f5690610622613f4f896024614d3a565b88516121cf565b6040830152613f73613f69876027614d3a565b8360400151612201565b60408301525f613f92613f87886026614d3a565b61064089601e614d3a565b9050613fe4613fbf613234613e38866080015160015f5160206157145f395f51905f5261061d91906153f1565b61061d613e38866040015160015f5160206157145f395f51905f5261061d91906153f1565b60c0840152604083015161400690613ffc90806121cf565b8460400151612201565b61010084015260c0830151614032906140249061061d8a6007614d3a565b61061d61372d8a600a614d3a565b6102008601526101c0830151614051906140249061061d8a6007614d3a565b610220860152610100830151614070906140249061061d8a6007614d3a565b61024086015260e083015161408a9061061d896007614d3a565b6101408401526140a961409e886025614d3a565b61064089601d614d3a565b61016084015260808301516140e790613f87906140dc90613e389061061d60015f5160206157145f395f51905f526153f1565b8561016001516121cf565b61018084018190526101208401516101a0850181905261411e916106229061061d6141138c6005614d3a565b61061d8d6002614d3a565b6101a08401819052835161413e91906106229061061d6141138c5f614d3a565b6101a0840181905261014084015161415691906121e8565b6101a084018190526141709061061d61372d8a600a614d3a565b6101a0840181905285600d613557565b6141b96040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6141ee6141d56141ca87601c614d3a565b61061d886025614d3a565b6106226141e3886024614d3a565b61061d89601d614d3a565b815261423361422861420f61420488601c614d3a565b61061d89601f614d3a565b61062261421d89601d614d3a565b61061d8a601e614d3a565b610640876026614d3a565b6040820181905261424890600160441b6121cf565b6040820181905261425e90610640876027614d3a565b60408201819052815161427191906121e8565b604082018190526142879061061d876005614d3a565b6040820152805161429c90600160441b6121cf565b8082526142bc906106226142b1886024614d3a565b61061d896025614d3a565b808252602082018190526142d89061064061330c88601e614d3a565b602082018190526142ee9061061d876004614d3a565b602082015280516060820181905261430b9061062287601f614d3a565b6060820181905261432f90610640614324886026614d3a565b610622896027614d3a565b606082018190526143449061061d875f614d3a565b8160600181815250505f61436d614363836020015184604001516121e8565b83606001516121e8565b905061437e8161061d886003614d3a565b905061439661438e876025614d3a565b6140006121cf565b608083018190526143ac90610622886024614d3a565b608083018190526143bf906140006121cf565b608083018190526143d59061062288601e614d3a565b608083018190526143e8906140006121cf565b608083018190526143fe9061062288601d614d3a565b60808301819052614411906140006121cf565b608083018190526144279061062288601c614d3a565b6080830181905261443d9061064088601f614d3a565b608083018190526144539061061d886005614d3a565b608083015261446661438e876026614d3a565b60a0830181905261447c90610622886025614d3a565b60a0830181905261448f906140006121cf565b60a083018190526144a590610622886024614d3a565b60a083018190526144b8906140006121cf565b60a083018190526144ce9061062288601f614d3a565b60a083018190526144e1906140006121cf565b60a083018190526144f79061062288601e614d3a565b60a0830181905261450d90610640886027614d3a565b60a083018190526145229061061d885f614d3a565b60a0830181905260808301515f9161453a91906121e8565b905061454b8161061d896004614d3a565b905061455782826121e8565b60c084018190526145709061061d61372d8a600b614d3a565b60c08401819052856013613557565b6145f56040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61460e61460385601c614d3a565b610622866002614d3a565b815261462961461e85601d614d3a565b610622866003614d3a565b602082015261464761463c85601e614d3a565b610622866004614d3a565b604082015261466561465a85601f614d3a565b610622866005614d3a565b6060820152805161469790614690906146899061468290806121cf565b84516121cf565b83516121cf565b82516121cf565b608082015260208101516146d5906146cb906146c1906146b790806121cf565b84602001516121cf565b83602001516121cf565b82602001516121cf565b60a0820152604081015161471390614709906146ff906146f590806121cf565b84604001516121cf565b83604001516121cf565b82604001516121cf565b60c0820152606081015161474790613e3f9061473d9061473390806121cf565b84606001516121cf565b83606001516121cf565b60e0820152608081015160a082015161476091906121e8565b61010082015260c081015160e082015161477a91906121e8565b61012082015260a081015161479e9061479390806121e8565b8261012001516121e8565b61014082015260e08101516147c2906147b790806121e8565b8261010001516121e8565b6101608201526101208101516147d890806121e8565b6101e082018190526147f9906147ee90806121e8565b8261016001516121e8565b6101e082015261010081015161480f90806121e8565b6101a082018190526148309061482590806121e8565b8261014001516121e8565b6101a08201819052610160820151614847916121e8565b6101808201526101408101516101e082015161486391906121e8565b6101c082015261487761323485600c614d3a565b61020082018190526102808401516101808301516148a2926106229161061d906106408a6024614d3a565b83601460200201526148d2836015602002015161062283610200015161061d856101a001516106408a6025614d3a565b8360156020020152614902836016602002015161062283610200015161061d856101c001516106408a6026614d3a565b8360166020020152614932836017602002015161062283610200015161061d856101e001516106408a6027614d3a565b836017602002015250505050565b6149926040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60405180608001604052806149c77f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e76121b1565b81526020016149f57f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b6121b1565b8152602001614a227e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac156121b1565b8152602001614a507f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b6121b1565b90529050614a6d614a6286601c614d3a565b610622876002614d3a565b6101208301819052614aac90614aa190614a9690614a8b90806121cf565b8561012001516121cf565b8461012001516121cf565b8361012001516121cf565b8252614ab985601d614d3a565b6020830152614ac985601e614d3a565b6040830152614ad985601f614d3a565b606083015281516020830151614b019161436391614af791906121e8565b84604001516121e8565b6080830152614b146134e686600d614d3a565b6101408301528151614b3590614b2b90835f610ee9565b83608001516121e8565b60a0830152614b61846018602002015161062284610140015161061d8660a001516106408b6024614d3a565b6103008501526020820151614b7c90614b2b90836001610ee9565b60c0830152614ba8846019602002015161062284610140015161061d8660c001516106408b6025614d3a565b6103208501526040820151614bc390614b2b90836002610ee9565b60e0830152614bef84601a602002015161062284610140015161061d8660e001516106408b6026614d3a565b6103408501526060820151614c0a90614b2b90836003610ee9565b610100830152614c3884601b602002015161062284610140015161061d8661010001516106408b6027614d3a565b84601b61336d565b5f614c4c8184816108b3565b905060015b601c811015614c9e57614c94826106228684601c8110614c7357614c7361543e565b602002015186614c846001876153f1565b601b8110610ee957610ee961543e565b9150600101614c51565b5092915050565b614cad615213565b614cb5615213565b604051835181526020840151602082015284604082015260408160608360075afa80614cdf575f5ffd5b5080518252602090810151908201529392505050565b614cfd615213565b614d05615213565b6040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa80614cdf575f5ffd5b5f82826028811115614d4e57614d4e6156bf565b60298110614d5e57614d5e61543e565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f8152602001614d90615213565b8152602001614d9d615213565b8152602001614daa615213565b8152602001614db7615213565b8152602001614dc4615213565b8152602001614dd1615213565b8152602001614dde615213565b8152602001614deb615213565b8152602001614df8615213565b8152602001614e05615213565b8152602001614e12615213565b8152602001614e1f615213565b8152602001614e2c615213565b8152602001614e39615213565b8152602001614e46615213565b8152602001614e53615213565b8152602001614e60615213565b8152602001614e6d615213565b8152602001614e7a615213565b8152602001614e87615213565b8152602001614e94615213565b8152602001614ea1615213565b8152602001614eae615213565b8152602001614ebb615213565b8152602001614ec8615213565b8152602001614ed5615213565b8152602001614ee2615213565b8152602001614eef615213565b905290565b604051806101e00160405280614f0861524a565b8152602001614f156150c8565b8152602001614f226150c8565b8152602001614f2f6150c8565b8152602001614f3c6150c8565b8152602001614f496150c8565b8152602001614f566150c8565b8152602001614f636150c8565b8152602001614f706150c8565b8152602001614f7d615269565b8152602001614f8a615297565b8152602001614f976152b6565b8152602001614fa461515a565b8152602001614fb16150c8565b8152602001614eef6150c8565b604051806101000160405280614fd26150ec565b8152602001614fdf61511c565b8152602001614fec61515a565b8152602001614ff961515a565b81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020016150496152e4565b81526020016150566152e4565b81526020015f81526020015f81526020015f81526020015f8152602001614eef61515a565b604051806108e001604052806047906020820280368337509192915050565b604051806108e001604052806047905b6150b2615213565b8152602001906001900390816150aa5790505090565b60405180608001604052805f81526020015f81526020015f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806103600160405280601b906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180610da00160405280606d906020820280368337509192915050565b604051806103a00160405280601d906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b60405180604001604052805f81526020015f81525090565b604051806101a00160405280600d906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b6152816151f4565b8152602001906001900390816152795790505090565b6040518061052001604052806029906020820280368337509192915050565b604051806103600160405280601b905b6152ce6150c8565b8152602001906001900390816152c65790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f60408587031215615315575f5ffd5b84356001600160401b0381111561532a575f5ffd5b8501601f8101871361533a575f5ffd5b80356001600160401b0381111561534f575f5ffd5b876020828401011115615360575f5ffd5b6020918201955093508501356001600160401b0381111561537f575f5ffd5b8501601f8101871361538f575f5ffd5b80356001600160401b038111156153a4575f5ffd5b8760208260051b84010111156153b8575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176121c9576121c96153c6565b818103818111156121c9576121c96153c6565b808201808211156121c9576121c96153c6565b5f5f85851115615425575f5ffd5b83861115615431575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b5f60018201615463576154636153c6565b5060010190565b803560208310156121c9575f19602084900360031b1b1692915050565b5f8183825b60098110156154ab57815183526020928301929091019060010161548c565b5050506101208201905092915050565b634e487b7160e01b5f52601260045260245ffd5b5f826154dd576154dd6154bb565b500490565b5f8183825b602a8110156155065781518352602092830192909101906001016154e7565b5050506105408201905092915050565b5f8183825b606d81101561553a57815183526020928301929091019060010161551b565b505050610da08201905092915050565b5f8183825b601d81101561556e57815183526020928301929091019060010161554f565b5050506103a08201905092915050565b5f8183825b60058110156155a2578151835260209283019290910190600101615583565b50505060a08201905092915050565b5f826155bf576155bf6154bb565b500690565b5f816155d2576155d26153c6565b505f190190565b5f8183825b60088110156155fd5781518352602092830192909101906001016155de565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f60208284031215615633575f5ffd5b81518015158114611a9e575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b81515f90829060208501835b82811015615680578151845260209384019390910190600101615662565b509195945050505050565b5f8183825b600d8110156156af578151835260209283019290910190600101615690565b5050506101a08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe696e76616c6964206e756d626572206f6620627974657320746f20636f6e737430644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
|
|
5
5
|
/**
|
|
6
6
|
* HonkVerifier link references.
|
|
7
7
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HonkVerifierBytecode.d.ts","sourceRoot":"","sources":["../src/HonkVerifierBytecode.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"HonkVerifierBytecode.d.ts","sourceRoot":"","sources":["../src/HonkVerifierBytecode.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,oBAAoB,+y3CAA+y3C,CAAC;AACj13C;;GAEG;AACH,eAAO,MAAM,0BAA0B,IAAc,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* HonkVerifier bytecode.
|
|
3
|
-
*/ export const HonkVerifierBytecode = "0x60e060405234801561000f575f5ffd5b506302000000608052601960a05260ae60c05260805160a05160c0516153eb6100605f395f818160d6015261065001525f818161075b01528181610d110152610dae01525f6105f401526153eb5ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004614fed565b610054565b604051901515815260200160405180910390f35b5f6100626101c960206150c5565b8414610081576040516376ba560560e11b815260040160405180910390fd5b5f61008a6101c1565b90505f61009787876101d6565b9050601082604001516100aa91906150dc565b84146100c95760405163fa06659360e01b815260040160405180910390fd5b5f6100fc828787865f01517f0000000000000000000000000000000000000000000000000000000000000000600161052f565b905061014c8686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050855185516060810151608090910151919350915060016105de565b815160a001525f61015d8383610753565b90508061017d576040516313f8744360e31b815260040160405180910390fd5b5f610189848685610854565b9050806101a9576040516352ec174560e11b815260040160405180910390fd5b8180156101b35750805b9a9950505050505050505050565b6101c9614a55565b6101d16110ac565b905090565b6101de614bdf565b5f805b60108110156102405761020d8583866101fb8260206150ef565b9261020893929190615102565b6119e5565b8351826010811061022057610220615129565b60200201818152505060208261023691906150ef565b91506001016101e1565b506102648482856102528260806150ef565b9261025f93929190615102565b611a53565b60208301526102746080826150ef565b90506102878482856102528260806150ef565b60408301526102976080826150ef565b90506102aa8482856102528260806150ef565b60608301526102ba6080826150ef565b90506102cd8482856102528260806150ef565b60c08301526102dd6080826150ef565b90506102f08482856102528260806150ef565b60e08301526103006080826150ef565b90506103138482856102528260806150ef565b60808084019190915261032690826150ef565b90506103398482856102528260806150ef565b61010083015261034a6080826150ef565b905061035d8482856102528260806150ef565b60a083015261036d6080826150ef565b90505f5b601c8110156103ec575f5b60088110156103e3576103968684876101fb8260206150ef565b84610120015183601c81106103ad576103ad615129565b602002015182600881106103c3576103c3615129565b6020020181815250506020836103d991906150ef565b925060010161037c565b50600101610371565b505f5b6029811015610440576104098583866101fb8260206150ef565b836101400151826029811061042057610420615129565b60200201818152505060208261043691906150ef565b91506001016103ef565b505f5b61044f6001601c6150dc565b811015610498576104678583866102528260806150ef565b83610160015182601b811061047e5761047e615129565b602002015261048e6080836150ef565b9150600101610443565b505f5b601c8110156104ec576104b58583866101fb8260206150ef565b83610180015182601c81106104cc576104cc615129565b6020020181815250506020826104e291906150ef565b915060010161049b565b506104fe8482856102528260806150ef565b6101a083015261050f6080826150ef565b90506105228482856102528260806150ef565b6101c08301525092915050565b610537614ca9565b5f61054788888888888887611b32565b90835290506105568189611b88565b6020840191909152905061056981611d68565b6040840191909152905061057d8882611dc9565b606084019190915290506105918882611e9d565b608084019190915290506105a58882611f28565b60a084019190915290506105b98882612096565b60c084019190915290506105cd8882612108565b5060e0830152509695505050505050565b5f60018082610627866106228961061d6106188a7f00000000000000000000000000000000000000000000000000000000000000006150ef565b61215f565b61217d565b612196565b90505f610645876106408a61061d6106188b60016150ef565b6121af565b90505f5b61067460107f00000000000000000000000000000000000000000000000000000000000000006150dc565b8110156106e1575f61069e8c838151811061069157610691615129565b602002602001015161215f565b90506106ae8661061d8684612196565b95506106be8561061d8584612196565b94506106ca848b612196565b93506106d6838b6121af565b925050600101610649565b505f5b6010811015610748575f8a826010811061070057610700615129565b602002015190506107158661061d8684612196565b95506107258561061d8584612196565b9450610731848b612196565b935061073d838b6121af565b9250506001016106e4565b506101b384846121de565b5f806001815b7f000000000000000000000000000000000000000000000000000000000000000081101561082a575f86610120015182601c811061079957610799615129565b602002015190505f6107ab82866121ec565b9050806107cb576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c81106107e2576107e2615129565b602002015190506107f38382612209565b955061081a886040015185601c811061080e5761080e615129565b602002015186836123b8565b9450505050806001019050610759565b505f610844866101400151865f01518760200151856123e3565b90508281145b9695505050505050565b5f61085d614d02565b5f61086b8460a0015161245d565b9050610875614d66565b61087d614d85565b60e086015161089c9061089790855f5b60200201516121af565b6124c2565b60e0808601919091528601516108bd9061089790855f5b6020020151612196565b610100850181905260e085015160c08801516108dd92610622919061217d565b845260a086015161090c906108f1906124c2565b61061d8660e001516106408a60c0015189610100015161217d565b6020850152600182526101a08801516109249061252b565b81526001606085018190525f60808601525b602481116109dc5761095761094d865f015161256a565b866060015161217d565b83826047811061096957610969615129565b602002015260808501516101408a01516109ac91906106229061098d6001866150dc565b6029811061099d5761099d615129565b6020020151886060015161217d565b8560800181815250506109c78560600151886080015161217d565b60608601526109d58161513d565b9050610936565b505f6109ea602460016150ef565b90505b60298111610a6b57610a0561094d866020015161256a565b838260478110610a1757610a17615129565b602002015260808501516101408a0151610a3b91906106229061098d6001866150dc565b856080018181525050610a568560600151886080015161217d565b6060860152610a648161513d565b90506109ed565b50606087015181600160200201526080870151816002602002015260a0870151816003602002015260c0870151816004602002015260e0870151816005602002015261010087015181600660200201526101208701518160076020020152610140870151816008602002015261016087015181600960200201526101c087015181600a602002015261018087015181600b60200201526101a087015181600c60200201526101e087015181600d602002015261020087015181600e602002015261022087015181600f60200201526102408701518160106020020152610260870151816011602002015261028087015181601260200201526102a087015181601360200201526102c087015181601460200201526102e08701518160156020020152610300870151816016602002015261032087015181601760200201526103408701518160186020020152610360870151816019602002015261038087015181601a60200201526103a087015181601b60200201526103c087015181601c6020020181905250610bff886020015161252b565b6103a08201526040880151610c139061252b565b6103c08201526060880151610c279061252b565b6103e08201526080880151610c3b9061252b565b61040082015260a0880151610c4f9061252b565b610420820152610100880151610c649061252b565b61044082015260c0880151610c789061252b565b61046082015260e0880151610c8c9061252b565b6104808201526020880151610ca09061252b565b6104a08201526040880151610cb49061252b565b6104c08201526060880151610cc89061252b565b6104e08201526080880151610cdc9061252b565b61050082015260a0880151610cf09061252b565b610520820152606086015160808501516101808a01515f92610d35929091877f0000000000000000000000000000000000000000000000000000000000000000612582565b805160e0870151919250610d489161217d565b604086018190526101808a01515160c0890151610d79929161062291610d6e919061217d565b88610100015161217d565b604086015260c0870151610d8c9061269d565b60608601525f5b610d9f6001601c6150dc565b811015610fa7575f610dd260017f00000000000000000000000000000000000000000000000000000000000000006150dc565b821015905080610f4d57610e056108978a60e0015188856001610df591906150ef565b601c811061088d5761088d615129565b60e080890191909152890151610e35906108979088610e258660016150ef565b601c81106108b3576108b3615129565b610100880152606087015160e0880151610e4f919061217d565b610120880152606087015160c08a0151610e6c91610d6e9161217d565b6101408801819052610e8f90610e819061256a565b61062289610120015161256a565b8583610e9d602960016150ef565b610ea791906150ef565b60478110610eb757610eb7615129565b60200201526101408701516101808c01515f91610ef391610ed98660016150ef565b601c8110610ee957610ee9615129565b602002015161217d565b9050610f10816106228a610120015187876001610ed991906150ef565b9050610f20886040015182612196565b6040890152606088015160c08b0151610f4691610f3c9161217d565b8b60c0015161217d565b6060890152505b610f718b610160015183601b8110610f6757610f67615129565b602002015161252b565b8483610f7f602960016150ef565b610f8991906150ef565b60478110610f9957610f99615129565b602002015250600101610d93565b5060408051808201909152600181526002602082015282610fca601c60296150ef565b60478110610fda57610fda615129565b6020020152604085015183610ff1601c60296150ef565b6047811061100157611001615129565b60200201526101c08901515f906110179061252b565b90508083611027601c60296150ef565b6110329060016150ef565b6047811061104257611042615129565b602002015260e088015184611059601c60296150ef565b6110649060016150ef565b6047811061107457611074615129565b60200201525f61108484866126a8565b90505f6110908361276e565b905061109c82826127b4565b9c9b505050505050505050505050565b6110b4614a55565b50604080516103e08101825263020000008152601960208083019190915260ae82840152825180840184527f09334c98e7aa9d7c893c773e5cb601e88d34e2ef7a4b533d0271f52f65ad9ea881527f290f24eecb29156e1c4c3c08e409cbfcff9c1c077b6f536da97add2cffb8afe2818301526060830152825180840184527f23dcce77911e304e9dda87ef0525786c282a5425faab8be7f10743701cd8c65081527f279115fe862b11b138912829edb3b505f786aec0e29349e1e4baee9af6215e17818301526080830152825180840184527f232b1c8cbd5732691cdb9507533b22abeab5b312b00374975df090a0e42bed5981527f210cf5d6545df63b6dd6d508f7882e09b5a7d4805204c9b7425884862830cfde8183015260a0830152825180840184527f16185e75e98c7ba964ae5c1e128aabe6f5ab04a4b8c09657be3514b48f94afe881527f088f19d4953eb874bf037356dfa95eaf0b3d1ab719cf7ef1f0898bfc3bc1db3e8183015260c0830152825180840184527f1abd9df724831049545dbbd49a4f63af6b92b7f61d3cb203148467cc13519dba81527f1d909d25e6881a97db7772cf7f8ced73cf4913c4a3bea527622a19df373f53a98183015260e0830152825180840184527f17627dd50e14246aab4a7150c0835fb9385aa1eed28a9c38bcd8d2169f19358a81527f2a083a32fa64a595408a76e1b57303655e10d845f3cb803ba3a1c78aba1621bd81830152610100830152825180840184527f107d2d79c20982125b9f302008ecbd7b7f25eebc71271311c28f58223170c78b81527f0f3c9104533084fca88d92d900c94cb1400899b1c3c2b40cf32807f7d8517f4781830152610120830152825180840184527f03c8ba688220487daf92373540f3765c2e604baf121468ca5b913513690a4db981527f2c89160c84f7903b29fd626c25b76e58cbdc6be9a60c152703906d7d31e3b3c981830152610140830152825180840184527f04d60e98f94b55bfa9f433d502c9a164c16dcd5296d2843db8d4576a7b1a2cd081527f077d01892b9defa2ed388a5d54e6201c9f84ae43066455f1d09312be390db3fb81830152610160830152825180840184527f1ef4446f8ca19fc96ce47a212e25745a0fd6cc2e3a2e976139308ecfb1e6d5e481527f1cb75ce9d1d3a466c69c23f529de08578fb97590dd662bd6584a412519165e7a81830152610180830152825180840184527f16a547c67a7ed2a3fe79fa3cc7993fe239ca7c82da7a6bd4074084995e03aae681527f0b9bacc018ae81a696836033bdd5610e7fecb72c7cf3300ceb5bea7a9e6e5a7c818301526101a0830152825180840184527f1467fe37cb78030724b4d9ca59e522bfc05d4b043095e3fe5974399fdaa91f9481527f28ce91fd4eb517e79c85634d86feb74b7eb5e5e5bde75cc15c486bc04eeb5378818301526101c0830152825180840184527f24e1cd532e4c38c706308147778c46c1cfdb33ad817388518d1bfc9857dd7d0681527f117474e5171baea921b5fbc29dfdd1b637586d9cc493e0d95ed50c7ca7d2d8e3818301526101e0830152825180840184527f065c1127662a86c5886c290a6d7a848b8c307ffb9b0045128d2ac9d650d95f3281527f28bf9f9b979d273ae5577d24a76e13c83643fc1a957e090ea54cffbfe91f36b381830152610200830152825180840184527f09b964172f864b545e7b823e282729898d4a30629017630aea5087ac443c25a181527edfac5c45419a30ae002477ffd5184996affcf63ea58e94924184849765a3ba81830152610220830152825180840184527f0873705797c37e9b8b23b95bc3832b91917f18c106b809462d6d5975e0308c2681527f2179de359723b356c77ae71adee34a9fcc0da24c5cb7b684d12d37d11a08804781830152610240830152825180840184527f2ecf822725e04ce88844f575583620ac7254bf438f1ee188d6684bc7a24b51cf81527f2f031e3ce043a92f07b20b0b756d078a221c11aa5adfe122d6f0777b09770b2681830152610260830152825180840184527f16ae70bb7787988077c851c775c916c796bc3465ea27104714a0218407b57c6281527f0f87fd3d7073f34b5a275b0f8ede893d5fa70755ffcb44776793984368db5c0381830152610280830152825180840184527f253eb74f80aea955ecdc21c8bc616709ac8df436e56c7b218ab712f1bafbcf8181527f2ac603b5d188870c0decec31a3a88195f38fba0620920e65b86dfa0d63c68bfe818301526102a0830152825180840184527f0bf12249b1b1c067aeab52836f3a91823af5a5d9999e3a45f497cfed2ec45ac581527f2356185ea1d8e799a4558aa583033657b6865b21b2d7636aa13540a16f2076a2818301526102c0830152825180840184527e571b59727b0412772104738959df5ed480d2252d1fe166ef7a1dd80ce90ab581527f2051b5690608c36afb2993a5fb03e3c59cc1f5305d40f8da07705e3640a5f23a818301526102e0830152825180840184527e61ffb769200b8e428cd1f04935f0c9642bed1468d81f380a17baffee08ba4f81527f29123dbe8af19645c63d758d3ba7ea45ca7bccae7f84b49d393a6d72f68fa63181830152610300830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610320830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610340830152825180840184527f09d569252b4b229e483b00b1e67384ac4db29395d32e28c82f8b73983d30ac6b81527f2c47d5809e56ba32be655d4177db195bb450fd12587756c4b85b6506a7844ddb81830152610360830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c8183015261038083015282518084018452600181526002818301526103a083015282518084019093527f231b37b6408a23429458d5dfb1a3ae2f4f12e0f7001a206a6bbbb664bb2cf66983527f153d3d8224622574551f8091c7202b1e3f34b69f9a61bf46307f98ff3c50e657908301526103c081019190915290565b5f60208214611a3f5760405162461bcd60e51b815260206004820152602e60248201525f51602061538b5f395f51905f5260448201526d393ab1ba1023391039b1b0b630b960911b60648201526084015b60405180910390fd5b611a4c6106188385615155565b9392505050565b611a5b614db3565b60808214611ab05760405162461bcd60e51b815260206004820152602f60248201525f51602061538b5f395f51905f5260448201526e1c9d58dd08184811cc481c1bda5b9d608a1b6064820152608401611a36565b604080516080810190915280611ac960205f8688615102565b611ad291615155565b8152602090810190611ae8906040908688615102565b611af191615155565b8152602001611b04606060408688615102565b611b0d91615155565b8152602001611b20608060608688615102565b611b2991615155565b90529392505050565b611b3a614dd7565b5f611b498989898989896129a8565b604086019190915260208501919091529083529250611b68838a612e4e565b608085019190915260608401919091529199919850909650505050505050565b611b90614e07565b5f611b99614e26565b848152610100848101805151602080850191909152815181015160408086019190915282518101516060808701919091529251830151608086015260a080890180515191870191909152805183015160c0870152805182015160e087015251909201519284019290925251611c2f91611c1491849101615172565b6040516020818303038152906040528051906020012061215f565b9150611c3a82612f1d565b6020850152835260015b6002611c526001601c6150dc565b611c5c91906151ba565b811015611cdc57611c7983604051602001611c1491815260200190565b9250611c8483612f1d565b85611c908460026150c5565b601b8110611ca057611ca0615129565b6020020186611cb08560026150c5565b611cbb9060016150ef565b601b8110611ccb57611ccb615129565b602002019190915252600101611c44565b50611ce96001601c6150dc565b6001166001148015611d0657506002611d046001601c6150dc565b115b15611d6057611d2182604051602001611c1491815260200190565b91505f611d2d83612f1d565b856001611d3b81601c6150dc565b611d4591906150dc565b601b8110611d5557611d55615129565b602002019190915250505b509250929050565b611d70614e45565b5f805b601c811015611dc257611d9284604051602001611c1491815260200190565b93505f611d9e85612f1d565b8584601c8110611db057611db0615129565b60200201919091525050600101611d73565b5090929050565b611dd1614e45565b5f805b601c811015611e9457611de5614e26565b8481525f5b6008811015611e4e5786610120015183601c8110611e0a57611e0a615129565b60200201518160088110611e2057611e20615129565b602002015182611e318360016150ef565b60098110611e4157611e41615129565b6020020152600101611dea565b50611e6381604051602001611c149190615172565b94505f611e6f86612f1d565b8685601c8110611e8157611e81615129565b6020020191909152505050600101611dd4565b50909391925050565b5f5f611ea7614e64565b8381525f5b6029811015611efa578561014001518160298110611ecc57611ecc615129565b602002015182611edd8360016150ef565b602a8110611eed57611eed615129565b6020020152600101611eac565b50611f0f81604051602001611c1491906151cd565b91505f611f1b83612f1d565b5096929550919350505050565b5f5f611f32614e83565b8381525f5b611f436001601c6150dc565b8110156120815785610160015181601b8110611f6157611f61615129565b60200201515182611f738360046150c5565b611f7e9060016150ef565b606d8110611f8e57611f8e615129565b602002015261016086015181601b8110611faa57611faa615129565b60200201516020015182826004611fc191906150c5565b611fcc9060026150ef565b606d8110611fdc57611fdc615129565b602002015261016086015181601b8110611ff857611ff8615129565b6020020151604001518261200d8360046150c5565b6120189060036150ef565b606d811061202857612028615129565b602002015261016086015181601b811061204457612044615129565b602002015160600151826120598360046150c5565b6120649060046150ef565b606d811061207457612074615129565b6020020152600101611f37565b50611f0f81604051602001611c149190615201565b5f5f6120a0614ea2565b8381525f5b601c8110156120f35785610180015181601c81106120c5576120c5615129565b6020020151826120d68360016150ef565b601d81106120e6576120e6615129565b60200201526001016120a5565b50611f0f81604051602001611c149190615235565b5f5f612112614ec1565b8381526101a085018051516020808401919091528151810151604080850191909152825181015160608086019190915292519092015160808401529051611f0f91611c1491849101615269565b5f6121775f5160206153cb5f395f51905f528361529c565b92915050565b5f5f5160206153cb5f395f51905f528284099392505050565b5f5f5160206153cb5f395f51905f528284089392505050565b5f5f5160206153cb5f395f51905f526121d5835f5160206153cb5f395f51905f526150dc565b84089392505050565b5f611a4c8361061d846124c2565b81515f9081906121fe908560016108b3565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b60088110156122f0576122e68261061d87846121af565b91506001016122cf565b506122f9614edf565b5f5b600881101561235a575f84826008811061231757612317615129565b6020020151905061232c8161061d89856121af565b9050612337816124c2565b90508083836008811061234c5761234c615129565b6020020152506001016122fb565b505f5b60088110156123ad575f87826008811061237957612379615129565b6020020151905061239681848460088110610ee957610ee9615129565b90506123a28682612196565b95505060010161235d565b5061084a848361217d565b5f5f6123ce60016106228561061d8960016121af565b90506123da848261217d565b95945050505050565b5f6123ec614e45565b6123f7868285612f4d565b612403868683866130f9565b61240f868683866132e5565b61241a868285613510565b612425868285613704565b61243186868386613a4d565b61243d86868386613f00565b6124488682856142ff565b6124538682856146c0565b61084a81856149c0565b612465614e45565b81815260015b601c8110156124bc5761249d826124836001846150dc565b601c811061249357612493615129565b602002015161269d565b8282601c81106124af576124af615129565b602002015260010161246b565b50919050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f5160206153cb5f395f51905f520360808201525f5160206153cb5f395f51905f5260a082015260205f60c08360055afa905080612520575f5ffd5b50505f519392505050565b612533614efe565b604051806040016040528060888460200151901b845f015117815260200160888460600151901b8460400151178152509050919050565b5f612177825f5160206153cb5f395f51905f526150dc565b61258a614e45565b601c5b8015612693575f846125a06001846150dc565b601c81106125b0576125b0615129565b602002015190505f886125c46001856150dc565b601c81106125d4576125d4615129565b602002015190505f61262f6125f36125ec858c61217d565b600261217d565b6106408a6126026001896150dc565b601c811061261257612612615129565b602002015161061d6126298861061d60018a6121af565b876121af565b90506126508161061d61089761264a8761061d6001896121af565b86612196565b905085841161267f5797508780856126696001876150dc565b601c811061267957612679615129565b60200201525b5050508061268c906152af565b905061258d565b5095945050505050565b5f612177828361217d565b6126b0614efe565b5f6126bd601c60296150ef565b6126c89060026150ef565b90506001604051855151604082015285516020015160608201528451608082015260408160606040840160075afa8216915060015b838110156127565760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa909216916001016126fd565b50805184526020810151602085015250505092915050565b612776614efe565b5f5160206153ab5f395f51905f5282602001515f5160206153ab5f395f51905f526127a191906150dc565b6127ab919061529c565b60208301525090565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b03168360405161294a91906152c4565b5f60405180830381855afa9150503d805f8114612982576040519150601f19603f3d011682016040523d82523d5f602084013e612987565b606091505b509150915081801561084a57508080602001905181019061084a91906152da565b5f808080806129b88760036150ef565b6129c390600c6150ef565b6001600160401b038111156129da576129da6152f9565b604051908082528060200260200182016040528015612a03578160200160208202803683370190505b509050875f1b815f81518110612a1b57612a1b615129565b602002602001018181525050865f1b81600181518110612a3d57612a3d615129565b602002602001018181525050855f1b81600281518110612a5f57612a5f615129565b60209081029190910101525f5b612a776010896150dc565b811015612ac8578a8a82818110612a9057612a90615129565b9050602002013582826003612aa591906150ef565b81518110612ab557612ab5615129565b6020908102919091010152600101612a6c565b505f5b6010811015612b39578b51612af3908260108110612aeb57612aeb615129565b602002015190565b82826010612b028c60036150ef565b612b0c91906150dc565b612b1691906150ef565b81518110612b2657612b26615129565b6020908102919091010152600101612acb565b5060208b01515181612b4c8960036150ef565b81518110612b5c57612b5c615129565b6020908102919091018101919091528b810151015181612b7d8960036150ef565b612b889060016150ef565b81518110612b9857612b98615129565b6020908102919091018101919091528b01516040015181612bba8960036150ef565b612bc59060026150ef565b81518110612bd557612bd5615129565b6020908102919091018101919091528b01516060015181612bf78960036150ef565b612c029060036150ef565b81518110612c1257612c12615129565b602090810291909101015260408b01515181612c2f8960036150ef565b612c3a9060046150ef565b81518110612c4a57612c4a615129565b60209081029190910181019190915260408c0151015181612c6c8960036150ef565b612c779060056150ef565b81518110612c8757612c87615129565b60209081029190910101526040808c0151015181612ca68960036150ef565b612cb19060066150ef565b81518110612cc157612cc1615129565b602090810291909101015260408b01516060015181612ce18960036150ef565b612cec9060076150ef565b81518110612cfc57612cfc615129565b602090810291909101015260608b01515181612d198960036150ef565b612d249060086150ef565b81518110612d3457612d34615129565b60209081029190910181019190915260608c0151015181612d568960036150ef565b612d619060096150ef565b81518110612d7157612d71615129565b602090810291909101015260608b01516040015181612d918960036150ef565b612d9c90600a6150ef565b81518110612dac57612dac615129565b60209081029190910101526060808c0151015181612dcb8960036150ef565b612dd690600b6150ef565b81518110612de657612de6615129565b602002602001018181525050612e0681604051602001611c14919061530d565b9150612e1182612f1d565b6040805160208101869052929750909550612e2c9101611c14565b91505f612e3883612f1d565b50959c949b509499509097509195505050505050565b5f5f5f612e59614f16565b85815260c085810180515160208085019190915281518101516040808601919091528251810151606080870191909152925183015160808087019190915260e0808b0180515160a089015280518501519688019690965285518301519087015293518301516101008601529288018051516101208601528051820151610140860152805184015161016086015251909101516101808401529051612f0391611c1491849101615342565b9150612f0e82612f1d565b90979096509194509092505050565b5f80826001600160801b038116608082901c612f388261215f565b9450612f438161215f565b9350505050915091565b5f612f59846007614a25565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f612fba612fb4612f8e8560036121af565b61061d612fa9612f9e8b5f614a25565b61061d8c601d614a25565b61061d8b601c614a25565b8361217d565b905061303b613030613017612ffe612fe585610622612fda8d6002614a25565b61061d8e601c614a25565b610622612ff38c6003614a25565b61061d8d601d614a25565b61062261300c8b6004614a25565b61061d8c601e614a25565b6106226130258a6005614a25565b61061d8b601f614a25565b610622886001614a25565b905061305a8161062261304f8660016121af565b61061d8a6027614a25565b9050613066818461217d565b9050613072818561217d565b8552505f90506130ac6130a261309761308c88601c614a25565b61062289601f614a25565b610640886024614a25565b610622875f614a25565b90506130bd8161061d8460026121af565b90506130ce8161061d8460016121af565b90506130da818361217d565b90506130e6818461217d565b9050808460015b60200201525050505050565b5f5f5f61312f61312561310d89601c614a25565b61062261311b8b6012614a25565b8a6060015161217d565b8760800151612196565b90506131688161061d61315e6131468b601d614a25565b6106226131548d6013614a25565b8c6060015161217d565b8960800151612196565b905061318d8161061d61315e61317f8b601e614a25565b6106226131548d6014614a25565b90506131b28161061d61315e6131a48b601f614a25565b6106226131548d6015614a25565b92505f90506131d66131256131c889601c614a25565b61062261311b8b600e614a25565b90506131fb8161061d61315e6131ed8b601d614a25565b6106226131548d600f614a25565b90506132208161061d61315e6132128b601e614a25565b6106226131548d6010614a25565b90506132458161061d61315e6132378b601f614a25565b6106226131548d6011614a25565b91505f905061326c61326661325b896020614a25565b6106228a601a614a25565b8461217d565b90506132a18161064061329b6132838b6028614a25565b6106226132918d601b614a25565b8c60a0015161217d565b8561217d565b90506132ad818561217d565b6040860152505f6132d061329b6132c589601b614a25565b61061d8a6028614a25565b9050808560035b602002015250505050505050565b5f5f61334361332b6133136132fe61315e8a6016614a25565b61062261330c8b6017614a25565b8a5161217d565b6106226133218a6018614a25565b896020015161217d565b610622613339896019614a25565b886040015161217d565b91505f61337a61336161335789601c614a25565b8860800151612196565b61062261336f8a6003614a25565b61061d8b6024614a25565b90505f6133a361338b89601d614a25565b6106226133988b5f614a25565b61061d8c6025614a25565b90505f6133cd6133b48a601e614a25565b6106226133c28c6001614a25565b61061d8d6026614a25565b905061340c6133f46133e685610622868d5f015161217d565b610622848c6020015161217d565b6106226134028c6004614a25565b8b6040015161217d565b93505050505f613420613266886021614a25565b90505f613431613266896021614a25565b90505f6134696134506134458b6023614a25565b6106228c6006614a25565b61064061345e8c6023614a25565b61061d8d6006614a25565b90505f61348d61348761347c878961217d565b61061d8d6021614a25565b836121af565b9050613499818861217d565b90505f6134c16134b36134ad8d6006614a25565b8761217d565b6106406134ad8e6022614a25565b90505f6134cf8c6023614a25565b90505f6134df613487838461217d565b60808c0185905260a08c0184905290506134f9818b61217d565b8b6006602002015250505050505050505050505050565b5f61351c5f60016121af565b90505f61352a5f60026121af565b90505f6135385f60036121af565b90505f61355461354988601d614a25565b61064089601c614a25565b90505f61357061356589601e614a25565b6106408a601d614a25565b90505f61358c6135818a601f614a25565b6106408b601e614a25565b90505f6135a861359d8b6024614a25565b6106408c601f614a25565b9050836135b98161061d818b612196565b90506135c98161061d878a612196565b90506135d98161061d8789612196565b90506135ea8161061d8d6008614a25565b90506135f6818a61217d565b60e08b0152508261360b8161061d818b612196565b905061361b8161061d868a612196565b905061362b8161061d8689612196565b905061363c8161061d8d6008614a25565b9050613648818a61217d565b6101008b0152508161365e8161061d818b612196565b905061366e8161061d858a612196565b905061367e8161061d8589612196565b905061368f8161061d8d6008614a25565b905061369b818a61217d565b6101208b015250806136b18161061d818b612196565b90506136c18161061d848a612196565b90506136d18161061d8489612196565b90506136e28161061d8d6008614a25565b90506136ee818a61217d565b610140909a019990995250505050505050505050565b61373d6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61374884601d614a25565b815261375584601e614a25565b6020820152613765846024614a25565b6040820152613775846027614a25565b6060820152613785846026614a25565b6080820152613795846025614a25565b60a08201525f6137a6856002614a25565b90505f6137b3865f614a25565b90505f6137c78460400151855f01516121af565b90505f6137dc8560200151866020015161217d565b606086015190915086905f906137f2908061217d565b90505f61381061380a89602001518a6060015161217d565b8861217d565b90505f61382f6138288a60a001518b60400151612196565b8a51612196565b905061383e6134ad828861217d565b905061386561385f61385961385384876121af565b886121af565b84612196565b83612196565b905061388d613882613877838761217d565b61061d8f6009614a25565b61061d60018a6121af565b6101608c015250505050602085015160808601515f916138ac91612196565b90505f6138ca6138c088606001518861217d565b88602001516121af565b90505f6138ee6138da848761217d565b61062261329b8b60a001518c5f01516121af565b905061391661390b613900838c61217d565b61061d8e6009614a25565b61061d6001896121af565b6101808b0152505f91506139379050613930836011612196565b875161217d565b90505f6139448384612196565b90506139508182612196565b90505f61395e83600961217d565b905061398761398161326661397a8b60a001518c5f0151612196565b8b51612196565b826121af565b60c089018190525f906139a29061380a90613877908d61217d565b90506139b58b600b602002015182612196565b6101608c0152505086515f92506139dc9150613930906139d59080612196565b8851612196565b90505f613a1c6139f78361061d8a5f01518b60a001516121af565b602089015161064090613a0a9080612196565b61061d8b602001518c60800151612196565b9050613a3989600c602002015161062261380a613877858d61217d565b89600c602002015250505050505050505050565b613ab7604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613acf613ac586601e614a25565b856040015161217d565b808252613aee90610622613ae488601d614a25565b876020015161217d565b808252613b039061062261393088601c614a25565b808252613b1590610622876001614a25565b80825260208201819052613b2e9061064087601f614a25565b8152613b49613b3e866024614a25565b61064087601c614a25565b6080820152613b67613b5c866027614a25565b61064087601f614a25565b60608201526080810151613b8990613b7f908061217d565b82608001516121af565b6101c08201526080810151613bc990613bbf90613bb89061061d60015f5160206153cb5f395f51905f526150dc565b6001612196565b826060015161217d565b60a08201819052613bff90613bf19061061d613be6896002614a25565b61061d8a6003614a25565b61061d61329b88600a614a25565b83600e60200201526101c0810151613c2390613bf19061061d613be6896002614a25565b6101e08401528051613c489061061d613c3d886002614a25565b61061d896003614a25565b6101208201525f613c67613c5d87601f614a25565b83602001516121af565b9050613c76613981828361217d565b60e0830152613c93613c89876026614a25565b866040015161217d565b60408301819052613cb690610622613cac896025614a25565b886020015161217d565b60408301819052613cd690610622613ccf896024614a25565b885161217d565b6040830152613cf3613ce9876027614a25565b83604001516121af565b60408301525f613d12613d07886026614a25565b61064089601e614a25565b9050613d64613d3f612fb4613bb8866080015160015f5160206153cb5f395f51905f5261061d91906150dc565b61061d613bb8866040015160015f5160206153cb5f395f51905f5261061d91906150dc565b60c08401526040830151613d8690613d7c908061217d565b84604001516121af565b61010084015260c0830151613db290613da49061061d8a6007614a25565b61061d6134ad8a600a614a25565b6102008601526101c0830151613dd190613da49061061d8a6007614a25565b610220860152610100830151613df090613da49061061d8a6007614a25565b61024086015260e0830151613e0a9061061d896007614a25565b610140840152613e29613e1e886025614a25565b61064089601d614a25565b6101608401526080830151613e6790613d0790613e5c90613bb89061061d60015f5160206153cb5f395f51905f526150dc565b85610160015161217d565b61018084018190526101208401516101a08501819052613e9e916106229061061d613e938c6005614a25565b61061d8d6002614a25565b6101a084018190528351613ebe91906106229061061d613e938c5f614a25565b6101a08401819052610140840151613ed69190612196565b6101a08401819052613ef09061061d6134ad8a600a614a25565b6101a0840181905285600d6132d7565b613f396040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613f6e613f55613f4a87601c614a25565b61061d886025614a25565b610622613f63886024614a25565b61061d89601d614a25565b8152613fb3613fa8613f8f613f8488601c614a25565b61061d89601f614a25565b610622613f9d89601d614a25565b61061d8a601e614a25565b610640876026614a25565b60408201819052613fc890600160441b61217d565b60408201819052613fde90610640876027614a25565b604082018190528151613ff19190612196565b604082018190526140079061061d876005614a25565b6040820152805161401c90600160441b61217d565b80825261403c90610622614031886024614a25565b61061d896025614a25565b808252602082018190526140589061064061308c88601e614a25565b6020820181905261406e9061061d876004614a25565b602082015280516060820181905261408b9061062287601f614a25565b606082018190526140af906106406140a4886026614a25565b610622896027614a25565b606082018190526140c49061061d875f614a25565b8160600181815250505f6140ed6140e383602001518460400151612196565b8360600151612196565b90506140fe8161061d886003614a25565b905061411661410e876025614a25565b61400061217d565b6080830181905261412c90610622886024614a25565b6080830181905261413f9061400061217d565b608083018190526141559061062288601e614a25565b608083018190526141689061400061217d565b6080830181905261417e9061062288601d614a25565b608083018190526141919061400061217d565b608083018190526141a79061062288601c614a25565b608083018190526141bd9061064088601f614a25565b608083018190526141d39061061d886005614a25565b60808301526141e661410e876026614a25565b60a083018190526141fc90610622886025614a25565b60a0830181905261420f9061400061217d565b60a0830181905261422590610622886024614a25565b60a083018190526142389061400061217d565b60a0830181905261424e9061062288601f614a25565b60a083018190526142619061400061217d565b60a083018190526142779061062288601e614a25565b60a0830181905261428d90610640886027614a25565b60a083018190526142a29061061d885f614a25565b60a0830181905260808301515f916142ba9190612196565b90506142cb8161061d896004614a25565b90506142d78282612196565b60c084018190526142f09061061d6134ad8a600b614a25565b60c084018190528560136132d7565b6143756040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61438e61438385601c614a25565b610622866002614a25565b81526143a961439e85601d614a25565b610622866003614a25565b60208201526143c76143bc85601e614a25565b610622866004614a25565b60408201526143e56143da85601f614a25565b610622866005614a25565b60608201528051614417906144109061440990614402908061217d565b845161217d565b835161217d565b825161217d565b608082015260208101516144559061444b9061444190614437908061217d565b846020015161217d565b836020015161217d565b826020015161217d565b60a08201526040810151614493906144899061447f90614475908061217d565b846040015161217d565b836040015161217d565b826040015161217d565b60c082015260608101516144c790613bbf906144bd906144b3908061217d565b846060015161217d565b836060015161217d565b60e0820152608081015160a08201516144e09190612196565b61010082015260c081015160e08201516144fa9190612196565b61012082015260a081015161451e906145139080612196565b826101200151612196565b61014082015260e0810151614542906145379080612196565b826101000151612196565b6101608201526101208101516145589080612196565b6101e082018190526145799061456e9080612196565b826101600151612196565b6101e082015261010081015161458f9080612196565b6101a082018190526145b0906145a59080612196565b826101400151612196565b6101a082018190526101608201516145c791612196565b6101808201526101408101516101e08201516145e39190612196565b6101c08201526145f7612fb485600c614a25565b6102008201819052610280840151610180830151614622926106229161061d906106408a6024614a25565b8360146020020152614652836015602002015161062283610200015161061d856101a001516106408a6025614a25565b8360156020020152614682836016602002015161062283610200015161061d856101c001516106408a6026614a25565b83601660200201526146b2836017602002015161062283610200015161061d856101e001516106408a6027614a25565b836017602002015250505050565b6147126040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60405180608001604052806147477f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e761215f565b81526020016147757f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b61215f565b81526020016147a27e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac1561215f565b81526020016147d07f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b61215f565b905290506147ed6147e286601c614a25565b610622876002614a25565b610120830181905261482c90614821906148169061480b908061217d565b85610120015161217d565b84610120015161217d565b83610120015161217d565b825261483985601d614a25565b602083015261484985601e614a25565b604083015261485985601f614a25565b606083015281516020830151614881916140e3916148779190612196565b8460400151612196565b608083015261489461326686600d614a25565b61014083015281516148b5906148ab90835f610ee9565b8360800151612196565b60a08301526148e1846018602002015161062284610140015161061d8660a001516106408b6024614a25565b61030085015260208201516148fc906148ab90836001610ee9565b60c0830152614928846019602002015161062284610140015161061d8660c001516106408b6025614a25565b6103208501526040820151614943906148ab90836002610ee9565b60e083015261496f84601a602002015161062284610140015161061d8660e001516106408b6026614a25565b610340850152606082015161498a906148ab90836003610ee9565b6101008301526149b884601b602002015161062284610140015161061d8661010001516106408b6027614a25565b84601b6130ed565b5f6149cc8184816108b3565b905060015b601c811015614a1e57614a14826106228684601c81106149f3576149f3615129565b602002015186614a046001876150dc565b601b8110610ee957610ee9615129565b91506001016149d1565b5092915050565b5f82826028811115614a3957614a39615376565b60298110614a4957614a49615129565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f8152602001614a7b614efe565b8152602001614a88614efe565b8152602001614a95614efe565b8152602001614aa2614efe565b8152602001614aaf614efe565b8152602001614abc614efe565b8152602001614ac9614efe565b8152602001614ad6614efe565b8152602001614ae3614efe565b8152602001614af0614efe565b8152602001614afd614efe565b8152602001614b0a614efe565b8152602001614b17614efe565b8152602001614b24614efe565b8152602001614b31614efe565b8152602001614b3e614efe565b8152602001614b4b614efe565b8152602001614b58614efe565b8152602001614b65614efe565b8152602001614b72614efe565b8152602001614b7f614efe565b8152602001614b8c614efe565b8152602001614b99614efe565b8152602001614ba6614efe565b8152602001614bb3614efe565b8152602001614bc0614efe565b8152602001614bcd614efe565b8152602001614bda614efe565b905290565b604051806101e00160405280614bf3614f35565b8152602001614c00614db3565b8152602001614c0d614db3565b8152602001614c1a614db3565b8152602001614c27614db3565b8152602001614c34614db3565b8152602001614c41614db3565b8152602001614c4e614db3565b8152602001614c5b614db3565b8152602001614c68614f54565b8152602001614c75614f82565b8152602001614c82614fa1565b8152602001614c8f614e45565b8152602001614c9c614db3565b8152602001614bda614db3565b604051806101000160405280614cbd614dd7565b8152602001614cca614e07565b8152602001614cd7614e45565b8152602001614ce4614e45565b81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f8152602001614d34614fcf565b8152602001614d41614fcf565b81526020015f81526020015f81526020015f81526020015f8152602001614bda614e45565b604051806108e001604052806047906020820280368337509192915050565b604051806108e001604052806047905b614d9d614efe565b815260200190600190039081614d955790505090565b60405180608001604052805f81526020015f81526020015f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806103600160405280601b906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180610da00160405280606d906020820280368337509192915050565b604051806103a00160405280601d906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b60405180604001604052805f81526020015f81525090565b604051806101a00160405280600d906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b614f6c614edf565b815260200190600190039081614f645790505090565b6040518061052001604052806029906020820280368337509192915050565b604051806103600160405280601b905b614fb9614db3565b815260200190600190039081614fb15790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f60408587031215615000575f5ffd5b84356001600160401b03811115615015575f5ffd5b8501601f81018713615025575f5ffd5b80356001600160401b0381111561503a575f5ffd5b87602082840101111561504b575f5ffd5b6020918201955093508501356001600160401b0381111561506a575f5ffd5b8501601f8101871361507a575f5ffd5b80356001600160401b0381111561508f575f5ffd5b8760208260051b84010111156150a3575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417612177576121776150b1565b81810381811115612177576121776150b1565b80820180821115612177576121776150b1565b5f5f85851115615110575f5ffd5b8386111561511c575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b5f6001820161514e5761514e6150b1565b5060010190565b80356020831015612177575f19602084900360031b1b1692915050565b5f8183825b6009811015615196578151835260209283019290910190600101615177565b5050506101208201905092915050565b634e487b7160e01b5f52601260045260245ffd5b5f826151c8576151c86151a6565b500490565b5f8183825b602a8110156151f15781518352602092830192909101906001016151d2565b5050506105408201905092915050565b5f8183825b606d811015615225578151835260209283019290910190600101615206565b505050610da08201905092915050565b5f8183825b601d81101561525957815183526020928301929091019060010161523a565b5050506103a08201905092915050565b5f8183825b600581101561528d57815183526020928301929091019060010161526e565b50505060a08201905092915050565b5f826152aa576152aa6151a6565b500690565b5f816152bd576152bd6150b1565b505f190190565b5f82518060208501845e5f920191825250919050565b5f602082840312156152ea575f5ffd5b81518015158114611a4c575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b81515f90829060208501835b82811015615337578151845260209384019390910190600101615319565b509195945050505050565b5f8183825b600d811015615366578151835260209283019290910190600101615347565b5050506101a08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe696e76616c6964206e756d626572206f6620627974657320746f20636f6e737430644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
|
|
3
|
+
*/ export const HonkVerifierBytecode = "0x60e060405234801561000f575f5ffd5b506302000000608052601960a05260ae60c05260805160a05160c0516157346100605f395f818160d6015261065001525f818161075b01528181610d110152610dae01525f6105f401526157345ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004615302565b610054565b604051901515815260200160405180910390f35b5f6100626101c960206153da565b8414610081576040516376ba560560e11b815260040160405180910390fd5b5f61008a6101c1565b90505f61009787876101d6565b9050601082604001516100aa91906153f1565b84146100c95760405163fa06659360e01b815260040160405180910390fd5b5f6100fc828787865f01517f0000000000000000000000000000000000000000000000000000000000000000600161052f565b905061014c8686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050855185516060810151608090910151919350915060016105de565b815160a001525f61015d8383610753565b90508061017d576040516313f8744360e31b815260040160405180910390fd5b5f610189848685610854565b9050806101a9576040516352ec174560e11b815260040160405180910390fd5b8180156101b35750805b9a9950505050505050505050565b6101c9614d6a565b6101d16110fe565b905090565b6101de614ef4565b5f805b60108110156102405761020d8583866101fb826020615404565b9261020893929190615417565b611a37565b835182601081106102205761022061543e565b6020020181815250506020826102369190615404565b91506001016101e1565b50610264848285610252826080615404565b9261025f93929190615417565b611aa5565b6020830152610274608082615404565b9050610287848285610252826080615404565b6040830152610297608082615404565b90506102aa848285610252826080615404565b60608301526102ba608082615404565b90506102cd848285610252826080615404565b60c08301526102dd608082615404565b90506102f0848285610252826080615404565b60e0830152610300608082615404565b9050610313848285610252826080615404565b6080808401919091526103269082615404565b9050610339848285610252826080615404565b61010083015261034a608082615404565b905061035d848285610252826080615404565b60a083015261036d608082615404565b90505f5b601c8110156103ec575f5b60088110156103e3576103968684876101fb826020615404565b84610120015183601c81106103ad576103ad61543e565b602002015182600881106103c3576103c361543e565b6020020181815250506020836103d99190615404565b925060010161037c565b50600101610371565b505f5b6029811015610440576104098583866101fb826020615404565b83610140015182602981106104205761042061543e565b6020020181815250506020826104369190615404565b91506001016103ef565b505f5b61044f6001601c6153f1565b81101561049857610467858386610252826080615404565b83610160015182601b811061047e5761047e61543e565b602002015261048e608083615404565b9150600101610443565b505f5b601c8110156104ec576104b58583866101fb826020615404565b83610180015182601c81106104cc576104cc61543e565b6020020181815250506020826104e29190615404565b915060010161049b565b506104fe848285610252826080615404565b6101a083015261050f608082615404565b9050610522848285610252826080615404565b6101c08301525092915050565b610537614fbe565b5f61054788888888888887611b84565b90835290506105568189611bda565b6020840191909152905061056981611dba565b6040840191909152905061057d8882611e1b565b606084019190915290506105918882611eef565b608084019190915290506105a58882611f7a565b60a084019190915290506105b988826120e8565b60c084019190915290506105cd888261215a565b5060e0830152509695505050505050565b5f60018082610627866106228961061d6106188a7f0000000000000000000000000000000000000000000000000000000000000000615404565b6121b1565b6121cf565b6121e8565b90505f610645876106408a61061d6106188b6001615404565b612201565b90505f5b61067460107f00000000000000000000000000000000000000000000000000000000000000006153f1565b8110156106e1575f61069e8c83815181106106915761069161543e565b60200260200101516121b1565b90506106ae8661061d86846121e8565b95506106be8561061d85846121e8565b94506106ca848b6121e8565b93506106d6838b612201565b925050600101610649565b505f5b6010811015610748575f8a82601081106107005761070061543e565b602002015190506107158661061d86846121e8565b95506107258561061d85846121e8565b9450610731848b6121e8565b935061073d838b612201565b9250506001016106e4565b506101b38484612230565b5f806001815b7f000000000000000000000000000000000000000000000000000000000000000081101561082a575f86610120015182601c81106107995761079961543e565b602002015190505f6107ab828661223e565b9050806107cb576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c81106107e2576107e261543e565b602002015190506107f3838261225b565b955061081a886040015185601c811061080e5761080e61543e565b6020020151868361240a565b9450505050806001019050610759565b505f610844866101400151865f0151876020015185612435565b90508281145b9695505050505050565b5f61085d615017565b5f61086b8460a001516124af565b905061087561507b565b61087d61509a565b60e086015161089c9061089790855f5b6020020151612201565b612514565b60e0808601919091528601516108bd9061089790855f5b60200201516121e8565b610100850181905260e085015160c08801516108dd9261062291906121cf565b845260a086015161090c906108f190612514565b61061d8660e001516106408a60c001518961010001516121cf565b6020850152600182526101a08801516109249061257d565b81526001606085018190525f60808601525b602481116109dc5761095761094d865f01516125bc565b86606001516121cf565b8382604781106109695761096961543e565b602002015260808501516101408a01516109ac91906106229061098d6001866153f1565b6029811061099d5761099d61543e565b602002015188606001516121cf565b8560800181815250506109c7856060015188608001516121cf565b60608601526109d581615452565b9050610936565b505f6109ea60246001615404565b90505b60298111610a6b57610a0561094d86602001516125bc565b838260478110610a1757610a1761543e565b602002015260808501516101408a0151610a3b91906106229061098d6001866153f1565b856080018181525050610a56856060015188608001516121cf565b6060860152610a6481615452565b90506109ed565b50606087015181600160200201526080870151816002602002015260a0870151816003602002015260c0870151816004602002015260e0870151816005602002015261010087015181600660200201526101208701518160076020020152610140870151816008602002015261016087015181600960200201526101c087015181600a602002015261018087015181600b60200201526101a087015181600c60200201526101e087015181600d602002015261020087015181600e602002015261022087015181600f60200201526102408701518160106020020152610260870151816011602002015261028087015181601260200201526102a087015181601360200201526102c087015181601460200201526102e08701518160156020020152610300870151816016602002015261032087015181601760200201526103408701518160186020020152610360870151816019602002015261038087015181601a60200201526103a087015181601b60200201526103c087015181601c6020020181905250610bff886020015161257d565b6103a08201526040880151610c139061257d565b6103c08201526060880151610c279061257d565b6103e08201526080880151610c3b9061257d565b61040082015260a0880151610c4f9061257d565b610420820152610100880151610c649061257d565b61044082015260c0880151610c789061257d565b61046082015260e0880151610c8c9061257d565b6104808201526020880151610ca09061257d565b6104a08201526040880151610cb49061257d565b6104c08201526060880151610cc89061257d565b6104e08201526080880151610cdc9061257d565b61050082015260a0880151610cf09061257d565b610520820152606086015160808501516101808a01515f92610d35929091877f00000000000000000000000000000000000000000000000000000000000000006125d4565b805160e0870151919250610d48916121cf565b604086018190526101808a01515160c0890151610d79929161062291610d6e91906121cf565b8861010001516121cf565b604086015260c0870151610d8c906126ef565b60608601525f5b610d9f6001601c6153f1565b811015610fa7575f610dd260017f00000000000000000000000000000000000000000000000000000000000000006153f1565b821015905080610f4d57610e056108978a60e0015188856001610df59190615404565b601c811061088d5761088d61543e565b60e080890191909152890151610e35906108979088610e25866001615404565b601c81106108b3576108b361543e565b610100880152606087015160e0880151610e4f91906121cf565b610120880152606087015160c08a0151610e6c91610d6e916121cf565b6101408801819052610e8f90610e81906125bc565b6106228961012001516125bc565b8583610e9d60296001615404565b610ea79190615404565b60478110610eb757610eb761543e565b60200201526101408701516101808c01515f91610ef391610ed9866001615404565b601c8110610ee957610ee961543e565b60200201516121cf565b9050610f10816106228a610120015187876001610ed99190615404565b9050610f208860400151826121e8565b6040890152606088015160c08b0151610f4691610f3c916121cf565b8b60c001516121cf565b6060890152505b610f718b610160015183601b8110610f6757610f6761543e565b602002015161257d565b8483610f7f60296001615404565b610f899190615404565b60478110610f9957610f9961543e565b602002015250600101610d93565b5060408051808201909152600181526002602082015282610fca601c6029615404565b60478110610fda57610fda61543e565b6020020152604085015183610ff1601c6029615404565b604781106110015761100161543e565b60200201526101c08901515f906110179061257d565b90508083611027601c6029615404565b611032906001615404565b604781106110425761104261543e565b602002015260e088015184611059601c6029615404565b611064906001615404565b604781106110745761107461543e565b60200201525f61108484866126fa565b90505f611090836127f2565b90505f6110a18d5f01518484612838565b90505f5f6110b18f5f01516128ae565b915091506110be8261296f565b6110c78161296f565b6110d2858385612a0e565b94506110df848285612a0e565b93506110eb8585612a34565b9f9e505050505050505050505050505050565b611106614d6a565b50604080516103e08101825263020000008152601960208083019190915260ae82840152825180840184527f09334c98e7aa9d7c893c773e5cb601e88d34e2ef7a4b533d0271f52f65ad9ea881527f290f24eecb29156e1c4c3c08e409cbfcff9c1c077b6f536da97add2cffb8afe2818301526060830152825180840184527f23dcce77911e304e9dda87ef0525786c282a5425faab8be7f10743701cd8c65081527f279115fe862b11b138912829edb3b505f786aec0e29349e1e4baee9af6215e17818301526080830152825180840184527f232b1c8cbd5732691cdb9507533b22abeab5b312b00374975df090a0e42bed5981527f210cf5d6545df63b6dd6d508f7882e09b5a7d4805204c9b7425884862830cfde8183015260a0830152825180840184527f16185e75e98c7ba964ae5c1e128aabe6f5ab04a4b8c09657be3514b48f94afe881527f088f19d4953eb874bf037356dfa95eaf0b3d1ab719cf7ef1f0898bfc3bc1db3e8183015260c0830152825180840184527f1abd9df724831049545dbbd49a4f63af6b92b7f61d3cb203148467cc13519dba81527f1d909d25e6881a97db7772cf7f8ced73cf4913c4a3bea527622a19df373f53a98183015260e0830152825180840184527f17627dd50e14246aab4a7150c0835fb9385aa1eed28a9c38bcd8d2169f19358a81527f2a083a32fa64a595408a76e1b57303655e10d845f3cb803ba3a1c78aba1621bd81830152610100830152825180840184527f107d2d79c20982125b9f302008ecbd7b7f25eebc71271311c28f58223170c78b81527f0f3c9104533084fca88d92d900c94cb1400899b1c3c2b40cf32807f7d8517f4781830152610120830152825180840184527f03c8ba688220487daf92373540f3765c2e604baf121468ca5b913513690a4db981527f2c89160c84f7903b29fd626c25b76e58cbdc6be9a60c152703906d7d31e3b3c981830152610140830152825180840184527f04d60e98f94b55bfa9f433d502c9a164c16dcd5296d2843db8d4576a7b1a2cd081527f077d01892b9defa2ed388a5d54e6201c9f84ae43066455f1d09312be390db3fb81830152610160830152825180840184527f1ef4446f8ca19fc96ce47a212e25745a0fd6cc2e3a2e976139308ecfb1e6d5e481527f1cb75ce9d1d3a466c69c23f529de08578fb97590dd662bd6584a412519165e7a81830152610180830152825180840184527f16a547c67a7ed2a3fe79fa3cc7993fe239ca7c82da7a6bd4074084995e03aae681527f0b9bacc018ae81a696836033bdd5610e7fecb72c7cf3300ceb5bea7a9e6e5a7c818301526101a0830152825180840184527f1467fe37cb78030724b4d9ca59e522bfc05d4b043095e3fe5974399fdaa91f9481527f28ce91fd4eb517e79c85634d86feb74b7eb5e5e5bde75cc15c486bc04eeb5378818301526101c0830152825180840184527f24e1cd532e4c38c706308147778c46c1cfdb33ad817388518d1bfc9857dd7d0681527f117474e5171baea921b5fbc29dfdd1b637586d9cc493e0d95ed50c7ca7d2d8e3818301526101e0830152825180840184527f065c1127662a86c5886c290a6d7a848b8c307ffb9b0045128d2ac9d650d95f3281527f28bf9f9b979d273ae5577d24a76e13c83643fc1a957e090ea54cffbfe91f36b381830152610200830152825180840184527f09b964172f864b545e7b823e282729898d4a30629017630aea5087ac443c25a181527edfac5c45419a30ae002477ffd5184996affcf63ea58e94924184849765a3ba81830152610220830152825180840184527f0873705797c37e9b8b23b95bc3832b91917f18c106b809462d6d5975e0308c2681527f2179de359723b356c77ae71adee34a9fcc0da24c5cb7b684d12d37d11a08804781830152610240830152825180840184527f2ecf822725e04ce88844f575583620ac7254bf438f1ee188d6684bc7a24b51cf81527f2f031e3ce043a92f07b20b0b756d078a221c11aa5adfe122d6f0777b09770b2681830152610260830152825180840184527f16ae70bb7787988077c851c775c916c796bc3465ea27104714a0218407b57c6281527f0f87fd3d7073f34b5a275b0f8ede893d5fa70755ffcb44776793984368db5c0381830152610280830152825180840184527f253eb74f80aea955ecdc21c8bc616709ac8df436e56c7b218ab712f1bafbcf8181527f2ac603b5d188870c0decec31a3a88195f38fba0620920e65b86dfa0d63c68bfe818301526102a0830152825180840184527f0bf12249b1b1c067aeab52836f3a91823af5a5d9999e3a45f497cfed2ec45ac581527f2356185ea1d8e799a4558aa583033657b6865b21b2d7636aa13540a16f2076a2818301526102c0830152825180840184527e571b59727b0412772104738959df5ed480d2252d1fe166ef7a1dd80ce90ab581527f2051b5690608c36afb2993a5fb03e3c59cc1f5305d40f8da07705e3640a5f23a818301526102e0830152825180840184527e61ffb769200b8e428cd1f04935f0c9642bed1468d81f380a17baffee08ba4f81527f29123dbe8af19645c63d758d3ba7ea45ca7bccae7f84b49d393a6d72f68fa63181830152610300830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610320830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610340830152825180840184527f09d569252b4b229e483b00b1e67384ac4db29395d32e28c82f8b73983d30ac6b81527f2c47d5809e56ba32be655d4177db195bb450fd12587756c4b85b6506a7844ddb81830152610360830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c8183015261038083015282518084018452600181526002818301526103a083015282518084019093527f231b37b6408a23429458d5dfb1a3ae2f4f12e0f7001a206a6bbbb664bb2cf66983527f153d3d8224622574551f8091c7202b1e3f34b69f9a61bf46307f98ff3c50e657908301526103c081019190915290565b5f60208214611a915760405162461bcd60e51b815260206004820152602e60248201525f5160206156d45f395f51905f5260448201526d393ab1ba1023391039b1b0b630b960911b60648201526084015b60405180910390fd5b611a9e610618838561546a565b9392505050565b611aad6150c8565b60808214611b025760405162461bcd60e51b815260206004820152602f60248201525f5160206156d45f395f51905f5260448201526e1c9d58dd08184811cc481c1bda5b9d608a1b6064820152608401611a88565b604080516080810190915280611b1b60205f8688615417565b611b249161546a565b8152602090810190611b3a906040908688615417565b611b439161546a565b8152602001611b56606060408688615417565b611b5f9161546a565b8152602001611b72608060608688615417565b611b7b9161546a565b90529392505050565b611b8c6150ec565b5f611b9b898989898989612c28565b604086019190915260208501919091529083529250611bba838a6130ce565b608085019190915260608401919091529199919850909650505050505050565b611be261511c565b5f611beb61513b565b848152610100848101805151602080850191909152815181015160408086019190915282518101516060808701919091529251830151608086015260a080890180515191870191909152805183015160c0870152805182015160e087015251909201519284019290925251611c8191611c6691849101615487565b604051602081830303815290604052805190602001206121b1565b9150611c8c8261319d565b6020850152835260015b6002611ca46001601c6153f1565b611cae91906154cf565b811015611d2e57611ccb83604051602001611c6691815260200190565b9250611cd68361319d565b85611ce28460026153da565b601b8110611cf257611cf261543e565b6020020186611d028560026153da565b611d0d906001615404565b601b8110611d1d57611d1d61543e565b602002019190915252600101611c96565b50611d3b6001601c6153f1565b6001166001148015611d5857506002611d566001601c6153f1565b115b15611db257611d7382604051602001611c6691815260200190565b91505f611d7f8361319d565b856001611d8d81601c6153f1565b611d9791906153f1565b601b8110611da757611da761543e565b602002019190915250505b509250929050565b611dc261515a565b5f805b601c811015611e1457611de484604051602001611c6691815260200190565b93505f611df08561319d565b8584601c8110611e0257611e0261543e565b60200201919091525050600101611dc5565b5090929050565b611e2361515a565b5f805b601c811015611ee657611e3761513b565b8481525f5b6008811015611ea05786610120015183601c8110611e5c57611e5c61543e565b60200201518160088110611e7257611e7261543e565b602002015182611e83836001615404565b60098110611e9357611e9361543e565b6020020152600101611e3c565b50611eb581604051602001611c669190615487565b94505f611ec18661319d565b8685601c8110611ed357611ed361543e565b6020020191909152505050600101611e26565b50909391925050565b5f5f611ef9615179565b8381525f5b6029811015611f4c578561014001518160298110611f1e57611f1e61543e565b602002015182611f2f836001615404565b602a8110611f3f57611f3f61543e565b6020020152600101611efe565b50611f6181604051602001611c6691906154e2565b91505f611f6d8361319d565b5096929550919350505050565b5f5f611f84615198565b8381525f5b611f956001601c6153f1565b8110156120d35785610160015181601b8110611fb357611fb361543e565b60200201515182611fc58360046153da565b611fd0906001615404565b606d8110611fe057611fe061543e565b602002015261016086015181601b8110611ffc57611ffc61543e565b6020020151602001518282600461201391906153da565b61201e906002615404565b606d811061202e5761202e61543e565b602002015261016086015181601b811061204a5761204a61543e565b6020020151604001518261205f8360046153da565b61206a906003615404565b606d811061207a5761207a61543e565b602002015261016086015181601b81106120965761209661543e565b602002015160600151826120ab8360046153da565b6120b6906004615404565b606d81106120c6576120c661543e565b6020020152600101611f89565b50611f6181604051602001611c669190615516565b5f5f6120f26151b7565b8381525f5b601c8110156121455785610180015181601c81106121175761211761543e565b602002015182612128836001615404565b601d81106121385761213861543e565b60200201526001016120f7565b50611f6181604051602001611c66919061554a565b5f5f6121646151d6565b8381526101a085018051516020808401919091528151810151604080850191909152825181015160608086019190915292519092015160808401529051611f6191611c669184910161557e565b5f6121c95f5160206157145f395f51905f52836155b1565b92915050565b5f5f5160206157145f395f51905f528284099392505050565b5f5f5160206157145f395f51905f528284089392505050565b5f5f5160206157145f395f51905f52612227835f5160206157145f395f51905f526153f1565b84089392505050565b5f611a9e8361061d84612514565b81515f908190612250908560016108b3565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b6008811015612342576123388261061d8784612201565b9150600101612321565b5061234b6151f4565b5f5b60088110156123ac575f8482600881106123695761236961543e565b6020020151905061237e8161061d8985612201565b905061238981612514565b90508083836008811061239e5761239e61543e565b60200201525060010161234d565b505f5b60088110156123ff575f8782600881106123cb576123cb61543e565b602002015190506123e881848460088110610ee957610ee961543e565b90506123f486826121e8565b9550506001016123af565b5061084a84836121cf565b5f5f61242060016106228561061d896001612201565b905061242c84826121cf565b95945050505050565b5f61243e61515a565b6124498682856131cd565b61245586868386613379565b61246186868386613565565b61246c868285613790565b612477868285613984565b61248386868386613ccd565b61248f86868386614180565b61249a86828561457f565b6124a5868285614940565b61084a8185614c40565b6124b761515a565b81815260015b601c81101561250e576124ef826124d56001846153f1565b601c81106124e5576124e561543e565b60200201516126ef565b8282601c81106125015761250161543e565b60200201526001016124bd565b50919050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f5160206157145f395f51905f520360808201525f5160206157145f395f51905f5260a082015260205f60c08360055afa905080612572575f5ffd5b50505f519392505050565b612585615213565b604051806040016040528060888460200151901b845f015117815260200160888460600151901b8460400151178152509050919050565b5f6121c9825f5160206157145f395f51905f526153f1565b6125dc61515a565b601c5b80156126e5575f846125f26001846153f1565b601c81106126025761260261543e565b602002015190505f886126166001856153f1565b601c81106126265761262661543e565b602002015190505f61268161264561263e858c6121cf565b60026121cf565b6106408a6126546001896153f1565b601c81106126645761266461543e565b602002015161061d61267b8861061d60018a612201565b87612201565b90506126a28161061d61089761269c8761061d600189612201565b866121e8565b90508584116126d15797508780856126bb6001876153f1565b601c81106126cb576126cb61543e565b60200201525b505050806126de906155c4565b90506125df565b5095945050505050565b5f6121c982836121cf565b612702615213565b5f61270f601c6029615404565b61271a906002615404565b90505f5b8181101561274d5761274585826047811061273b5761273b61543e565b602002015161296f565b60010161271e565b506001604051855151604082015285516020015160608201528451608082015260408160606040840160075afa8216915060015b838110156127da5760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612781565b50805184526020810151602085015250505092915050565b6127fa615213565b5f5160206156f45f395f51905f5282602001515f5160206156f45f395f51905f5261282591906153f1565b61282f91906155b1565b60208301525090565b5f5f5f612844866128ae565b915091506128506151f4565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e0840152516128a391611c66918491016155d9565b979650505050505050565b6128b6615213565b6128be615213565b82516020808501516040860151606087015160cc90811b608892831b604494851b90961795909517949094178652608087015160a088015160c089015160e08a0151871b90841b91851b9092171717868401526101008701516101208801516101408901516101608a0151871b90841b91851b909217171785526101808701516101a08801516101c08901516101e09099015190951b9790911b9390911b1791909117939093179281019290925291565b805160208201515f5f5160206156f45f395f51905f528380095f5160206156f45f395f51905f5260035f5160206156f45f395f51905f52838709085f5160206156f45f395f51905f528485091491505080612a085760405162461bcd60e51b8152602060048201526019602482015278706f696e74206973206e6f74206f6e2074686520637572766560381b6044820152606401611a88565b50505050565b612a16615213565b612a1e615213565b612a288386614ca5565b905061242c8185614cf5565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b031683604051612bca919061560d565b5f60405180830381855afa9150503d805f8114612c02576040519150601f19603f3d011682016040523d82523d5f602084013e612c07565b606091505b509150915081801561084a57508080602001905181019061084a9190615623565b5f80808080612c38876003615404565b612c4390600c615404565b6001600160401b03811115612c5a57612c5a615642565b604051908082528060200260200182016040528015612c83578160200160208202803683370190505b509050875f1b815f81518110612c9b57612c9b61543e565b602002602001018181525050865f1b81600181518110612cbd57612cbd61543e565b602002602001018181525050855f1b81600281518110612cdf57612cdf61543e565b60209081029190910101525f5b612cf76010896153f1565b811015612d48578a8a82818110612d1057612d1061543e565b9050602002013582826003612d259190615404565b81518110612d3557612d3561543e565b6020908102919091010152600101612cec565b505f5b6010811015612db9578b51612d73908260108110612d6b57612d6b61543e565b602002015190565b82826010612d828c6003615404565b612d8c91906153f1565b612d969190615404565b81518110612da657612da661543e565b6020908102919091010152600101612d4b565b5060208b01515181612dcc896003615404565b81518110612ddc57612ddc61543e565b6020908102919091018101919091528b810151015181612dfd896003615404565b612e08906001615404565b81518110612e1857612e1861543e565b6020908102919091018101919091528b01516040015181612e3a896003615404565b612e45906002615404565b81518110612e5557612e5561543e565b6020908102919091018101919091528b01516060015181612e77896003615404565b612e82906003615404565b81518110612e9257612e9261543e565b602090810291909101015260408b01515181612eaf896003615404565b612eba906004615404565b81518110612eca57612eca61543e565b60209081029190910181019190915260408c0151015181612eec896003615404565b612ef7906005615404565b81518110612f0757612f0761543e565b60209081029190910101526040808c0151015181612f26896003615404565b612f31906006615404565b81518110612f4157612f4161543e565b602090810291909101015260408b01516060015181612f61896003615404565b612f6c906007615404565b81518110612f7c57612f7c61543e565b602090810291909101015260608b01515181612f99896003615404565b612fa4906008615404565b81518110612fb457612fb461543e565b60209081029190910181019190915260608c0151015181612fd6896003615404565b612fe1906009615404565b81518110612ff157612ff161543e565b602090810291909101015260608b01516040015181613011896003615404565b61301c90600a615404565b8151811061302c5761302c61543e565b60209081029190910101526060808c015101518161304b896003615404565b61305690600b615404565b815181106130665761306661543e565b60200260200101818152505061308681604051602001611c669190615656565b91506130918261319d565b60408051602081018690529297509095506130ac9101611c66565b91505f6130b88361319d565b50959c949b509499509097509195505050505050565b5f5f5f6130d961522b565b85815260c085810180515160208085019190915281518101516040808601919091528251810151606080870191909152925183015160808087019190915260e0808b0180515160a08901528051850151968801969096528551830151908701529351830151610100860152928801805151610120860152805182015161014086015280518401516101608601525190910151610180840152905161318391611c669184910161568b565b915061318e8261319d565b90979096509194509092505050565b5f80826001600160801b038116608082901c6131b8826121b1565b94506131c3816121b1565b9350505050915091565b5f6131d9846007614d3a565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f61323a61323461320e856003612201565b61061d61322961321e8b5f614d3a565b61061d8c601d614d3a565b61061d8b601c614d3a565b836121cf565b90506132bb6132b061329761327e6132658561062261325a8d6002614d3a565b61061d8e601c614d3a565b6106226132738c6003614d3a565b61061d8d601d614d3a565b61062261328c8b6004614d3a565b61061d8c601e614d3a565b6106226132a58a6005614d3a565b61061d8b601f614d3a565b610622886001614d3a565b90506132da816106226132cf866001612201565b61061d8a6027614d3a565b90506132e681846121cf565b90506132f281856121cf565b8552505f905061332c61332261331761330c88601c614d3a565b61062289601f614d3a565b610640886024614d3a565b610622875f614d3a565b905061333d8161061d846002612201565b905061334e8161061d846001612201565b905061335a81836121cf565b905061336681846121cf565b9050808460015b60200201525050505050565b5f5f5f6133af6133a561338d89601c614d3a565b61062261339b8b6012614d3a565b8a606001516121cf565b87608001516121e8565b90506133e88161061d6133de6133c68b601d614d3a565b6106226133d48d6013614d3a565b8c606001516121cf565b89608001516121e8565b905061340d8161061d6133de6133ff8b601e614d3a565b6106226133d48d6014614d3a565b90506134328161061d6133de6134248b601f614d3a565b6106226133d48d6015614d3a565b92505f90506134566133a561344889601c614d3a565b61062261339b8b600e614d3a565b905061347b8161061d6133de61346d8b601d614d3a565b6106226133d48d600f614d3a565b90506134a08161061d6133de6134928b601e614d3a565b6106226133d48d6010614d3a565b90506134c58161061d6133de6134b78b601f614d3a565b6106226133d48d6011614d3a565b91505f90506134ec6134e66134db896020614d3a565b6106228a601a614d3a565b846121cf565b90506135218161064061351b6135038b6028614d3a565b6106226135118d601b614d3a565b8c60a001516121cf565b856121cf565b905061352d81856121cf565b6040860152505f61355061351b61354589601b614d3a565b61061d8a6028614d3a565b9050808560035b602002015250505050505050565b5f5f6135c36135ab61359361357e6133de8a6016614d3a565b61062261358c8b6017614d3a565b8a516121cf565b6106226135a18a6018614d3a565b89602001516121cf565b6106226135b9896019614d3a565b88604001516121cf565b91505f6135fa6135e16135d789601c614d3a565b88608001516121e8565b6106226135ef8a6003614d3a565b61061d8b6024614d3a565b90505f61362361360b89601d614d3a565b6106226136188b5f614d3a565b61061d8c6025614d3a565b90505f61364d6136348a601e614d3a565b6106226136428c6001614d3a565b61061d8d6026614d3a565b905061368c61367461366685610622868d5f01516121cf565b610622848c602001516121cf565b6106226136828c6004614d3a565b8b604001516121cf565b93505050505f6136a06134e6886021614d3a565b90505f6136b16134e6896021614d3a565b90505f6136e96136d06136c58b6023614d3a565b6106228c6006614d3a565b6106406136de8c6023614d3a565b61061d8d6006614d3a565b90505f61370d6137076136fc87896121cf565b61061d8d6021614d3a565b83612201565b905061371981886121cf565b90505f61374161373361372d8d6006614d3a565b876121cf565b61064061372d8e6022614d3a565b90505f61374f8c6023614d3a565b90505f61375f61370783846121cf565b60808c0185905260a08c018490529050613779818b6121cf565b8b6006602002015250505050505050505050505050565b5f61379c5f6001612201565b90505f6137aa5f6002612201565b90505f6137b85f6003612201565b90505f6137d46137c988601d614d3a565b61064089601c614d3a565b90505f6137f06137e589601e614d3a565b6106408a601d614d3a565b90505f61380c6138018a601f614d3a565b6106408b601e614d3a565b90505f61382861381d8b6024614d3a565b6106408c601f614d3a565b9050836138398161061d818b6121e8565b90506138498161061d878a6121e8565b90506138598161061d87896121e8565b905061386a8161061d8d6008614d3a565b9050613876818a6121cf565b60e08b0152508261388b8161061d818b6121e8565b905061389b8161061d868a6121e8565b90506138ab8161061d86896121e8565b90506138bc8161061d8d6008614d3a565b90506138c8818a6121cf565b6101008b015250816138de8161061d818b6121e8565b90506138ee8161061d858a6121e8565b90506138fe8161061d85896121e8565b905061390f8161061d8d6008614d3a565b905061391b818a6121cf565b6101208b015250806139318161061d818b6121e8565b90506139418161061d848a6121e8565b90506139518161061d84896121e8565b90506139628161061d8d6008614d3a565b905061396e818a6121cf565b610140909a019990995250505050505050505050565b6139bd6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6139c884601d614d3a565b81526139d584601e614d3a565b60208201526139e5846024614d3a565b60408201526139f5846027614d3a565b6060820152613a05846026614d3a565b6080820152613a15846025614d3a565b60a08201525f613a26856002614d3a565b90505f613a33865f614d3a565b90505f613a478460400151855f0151612201565b90505f613a5c856020015186602001516121cf565b606086015190915086905f90613a7290806121cf565b90505f613a90613a8a89602001518a606001516121cf565b886121cf565b90505f613aaf613aa88a60a001518b604001516121e8565b8a516121e8565b9050613abe61372d82886121cf565b9050613ae5613adf613ad9613ad38487612201565b88612201565b846121e8565b836121e8565b9050613b0d613b02613af783876121cf565b61061d8f6009614d3a565b61061d60018a612201565b6101608c015250505050602085015160808601515f91613b2c916121e8565b90505f613b4a613b408860600151886121cf565b8860200151612201565b90505f613b6e613b5a84876121cf565b61062261351b8b60a001518c5f0151612201565b9050613b96613b8b613b80838c6121cf565b61061d8e6009614d3a565b61061d600189612201565b6101808b0152505f9150613bb79050613bb08360116121e8565b87516121cf565b90505f613bc483846121e8565b9050613bd081826121e8565b90505f613bde8360096121cf565b9050613c07613c016134e6613bfa8b60a001518c5f01516121e8565b8b516121e8565b82612201565b60c089018190525f90613c2290613a8a90613af7908d6121cf565b9050613c358b600b6020020151826121e8565b6101608c0152505086515f9250613c5c9150613bb090613c5590806121e8565b88516121e8565b90505f613c9c613c778361061d8a5f01518b60a00151612201565b602089015161064090613c8a90806121e8565b61061d8b602001518c608001516121e8565b9050613cb989600c6020020151610622613a8a613af7858d6121cf565b89600c602002015250505050505050505050565b613d37604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613d4f613d4586601e614d3a565b85604001516121cf565b808252613d6e90610622613d6488601d614d3a565b87602001516121cf565b808252613d8390610622613bb088601c614d3a565b808252613d9590610622876001614d3a565b80825260208201819052613dae9061064087601f614d3a565b8152613dc9613dbe866024614d3a565b61064087601c614d3a565b6080820152613de7613ddc866027614d3a565b61064087601f614d3a565b60608201526080810151613e0990613dff90806121cf565b8260800151612201565b6101c08201526080810151613e4990613e3f90613e389061061d60015f5160206157145f395f51905f526153f1565b60016121e8565b82606001516121cf565b60a08201819052613e7f90613e719061061d613e66896002614d3a565b61061d8a6003614d3a565b61061d61351b88600a614d3a565b83600e60200201526101c0810151613ea390613e719061061d613e66896002614d3a565b6101e08401528051613ec89061061d613ebd886002614d3a565b61061d896003614d3a565b6101208201525f613ee7613edd87601f614d3a565b8360200151612201565b9050613ef6613c0182836121cf565b60e0830152613f13613f09876026614d3a565b86604001516121cf565b60408301819052613f3690610622613f2c896025614d3a565b88602001516121cf565b60408301819052613f5690610622613f4f896024614d3a565b88516121cf565b6040830152613f73613f69876027614d3a565b8360400151612201565b60408301525f613f92613f87886026614d3a565b61064089601e614d3a565b9050613fe4613fbf613234613e38866080015160015f5160206157145f395f51905f5261061d91906153f1565b61061d613e38866040015160015f5160206157145f395f51905f5261061d91906153f1565b60c0840152604083015161400690613ffc90806121cf565b8460400151612201565b61010084015260c0830151614032906140249061061d8a6007614d3a565b61061d61372d8a600a614d3a565b6102008601526101c0830151614051906140249061061d8a6007614d3a565b610220860152610100830151614070906140249061061d8a6007614d3a565b61024086015260e083015161408a9061061d896007614d3a565b6101408401526140a961409e886025614d3a565b61064089601d614d3a565b61016084015260808301516140e790613f87906140dc90613e389061061d60015f5160206157145f395f51905f526153f1565b8561016001516121cf565b61018084018190526101208401516101a0850181905261411e916106229061061d6141138c6005614d3a565b61061d8d6002614d3a565b6101a08401819052835161413e91906106229061061d6141138c5f614d3a565b6101a0840181905261014084015161415691906121e8565b6101a084018190526141709061061d61372d8a600a614d3a565b6101a0840181905285600d613557565b6141b96040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6141ee6141d56141ca87601c614d3a565b61061d886025614d3a565b6106226141e3886024614d3a565b61061d89601d614d3a565b815261423361422861420f61420488601c614d3a565b61061d89601f614d3a565b61062261421d89601d614d3a565b61061d8a601e614d3a565b610640876026614d3a565b6040820181905261424890600160441b6121cf565b6040820181905261425e90610640876027614d3a565b60408201819052815161427191906121e8565b604082018190526142879061061d876005614d3a565b6040820152805161429c90600160441b6121cf565b8082526142bc906106226142b1886024614d3a565b61061d896025614d3a565b808252602082018190526142d89061064061330c88601e614d3a565b602082018190526142ee9061061d876004614d3a565b602082015280516060820181905261430b9061062287601f614d3a565b6060820181905261432f90610640614324886026614d3a565b610622896027614d3a565b606082018190526143449061061d875f614d3a565b8160600181815250505f61436d614363836020015184604001516121e8565b83606001516121e8565b905061437e8161061d886003614d3a565b905061439661438e876025614d3a565b6140006121cf565b608083018190526143ac90610622886024614d3a565b608083018190526143bf906140006121cf565b608083018190526143d59061062288601e614d3a565b608083018190526143e8906140006121cf565b608083018190526143fe9061062288601d614d3a565b60808301819052614411906140006121cf565b608083018190526144279061062288601c614d3a565b6080830181905261443d9061064088601f614d3a565b608083018190526144539061061d886005614d3a565b608083015261446661438e876026614d3a565b60a0830181905261447c90610622886025614d3a565b60a0830181905261448f906140006121cf565b60a083018190526144a590610622886024614d3a565b60a083018190526144b8906140006121cf565b60a083018190526144ce9061062288601f614d3a565b60a083018190526144e1906140006121cf565b60a083018190526144f79061062288601e614d3a565b60a0830181905261450d90610640886027614d3a565b60a083018190526145229061061d885f614d3a565b60a0830181905260808301515f9161453a91906121e8565b905061454b8161061d896004614d3a565b905061455782826121e8565b60c084018190526145709061061d61372d8a600b614d3a565b60c08401819052856013613557565b6145f56040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61460e61460385601c614d3a565b610622866002614d3a565b815261462961461e85601d614d3a565b610622866003614d3a565b602082015261464761463c85601e614d3a565b610622866004614d3a565b604082015261466561465a85601f614d3a565b610622866005614d3a565b6060820152805161469790614690906146899061468290806121cf565b84516121cf565b83516121cf565b82516121cf565b608082015260208101516146d5906146cb906146c1906146b790806121cf565b84602001516121cf565b83602001516121cf565b82602001516121cf565b60a0820152604081015161471390614709906146ff906146f590806121cf565b84604001516121cf565b83604001516121cf565b82604001516121cf565b60c0820152606081015161474790613e3f9061473d9061473390806121cf565b84606001516121cf565b83606001516121cf565b60e0820152608081015160a082015161476091906121e8565b61010082015260c081015160e082015161477a91906121e8565b61012082015260a081015161479e9061479390806121e8565b8261012001516121e8565b61014082015260e08101516147c2906147b790806121e8565b8261010001516121e8565b6101608201526101208101516147d890806121e8565b6101e082018190526147f9906147ee90806121e8565b8261016001516121e8565b6101e082015261010081015161480f90806121e8565b6101a082018190526148309061482590806121e8565b8261014001516121e8565b6101a08201819052610160820151614847916121e8565b6101808201526101408101516101e082015161486391906121e8565b6101c082015261487761323485600c614d3a565b61020082018190526102808401516101808301516148a2926106229161061d906106408a6024614d3a565b83601460200201526148d2836015602002015161062283610200015161061d856101a001516106408a6025614d3a565b8360156020020152614902836016602002015161062283610200015161061d856101c001516106408a6026614d3a565b8360166020020152614932836017602002015161062283610200015161061d856101e001516106408a6027614d3a565b836017602002015250505050565b6149926040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60405180608001604052806149c77f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e76121b1565b81526020016149f57f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b6121b1565b8152602001614a227e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac156121b1565b8152602001614a507f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b6121b1565b90529050614a6d614a6286601c614d3a565b610622876002614d3a565b6101208301819052614aac90614aa190614a9690614a8b90806121cf565b8561012001516121cf565b8461012001516121cf565b8361012001516121cf565b8252614ab985601d614d3a565b6020830152614ac985601e614d3a565b6040830152614ad985601f614d3a565b606083015281516020830151614b019161436391614af791906121e8565b84604001516121e8565b6080830152614b146134e686600d614d3a565b6101408301528151614b3590614b2b90835f610ee9565b83608001516121e8565b60a0830152614b61846018602002015161062284610140015161061d8660a001516106408b6024614d3a565b6103008501526020820151614b7c90614b2b90836001610ee9565b60c0830152614ba8846019602002015161062284610140015161061d8660c001516106408b6025614d3a565b6103208501526040820151614bc390614b2b90836002610ee9565b60e0830152614bef84601a602002015161062284610140015161061d8660e001516106408b6026614d3a565b6103408501526060820151614c0a90614b2b90836003610ee9565b610100830152614c3884601b602002015161062284610140015161061d8661010001516106408b6027614d3a565b84601b61336d565b5f614c4c8184816108b3565b905060015b601c811015614c9e57614c94826106228684601c8110614c7357614c7361543e565b602002015186614c846001876153f1565b601b8110610ee957610ee961543e565b9150600101614c51565b5092915050565b614cad615213565b614cb5615213565b604051835181526020840151602082015284604082015260408160608360075afa80614cdf575f5ffd5b5080518252602090810151908201529392505050565b614cfd615213565b614d05615213565b6040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa80614cdf575f5ffd5b5f82826028811115614d4e57614d4e6156bf565b60298110614d5e57614d5e61543e565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f8152602001614d90615213565b8152602001614d9d615213565b8152602001614daa615213565b8152602001614db7615213565b8152602001614dc4615213565b8152602001614dd1615213565b8152602001614dde615213565b8152602001614deb615213565b8152602001614df8615213565b8152602001614e05615213565b8152602001614e12615213565b8152602001614e1f615213565b8152602001614e2c615213565b8152602001614e39615213565b8152602001614e46615213565b8152602001614e53615213565b8152602001614e60615213565b8152602001614e6d615213565b8152602001614e7a615213565b8152602001614e87615213565b8152602001614e94615213565b8152602001614ea1615213565b8152602001614eae615213565b8152602001614ebb615213565b8152602001614ec8615213565b8152602001614ed5615213565b8152602001614ee2615213565b8152602001614eef615213565b905290565b604051806101e00160405280614f0861524a565b8152602001614f156150c8565b8152602001614f226150c8565b8152602001614f2f6150c8565b8152602001614f3c6150c8565b8152602001614f496150c8565b8152602001614f566150c8565b8152602001614f636150c8565b8152602001614f706150c8565b8152602001614f7d615269565b8152602001614f8a615297565b8152602001614f976152b6565b8152602001614fa461515a565b8152602001614fb16150c8565b8152602001614eef6150c8565b604051806101000160405280614fd26150ec565b8152602001614fdf61511c565b8152602001614fec61515a565b8152602001614ff961515a565b81526020015f81526020015f81526020015f81526020015f81525090565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020016150496152e4565b81526020016150566152e4565b81526020015f81526020015f81526020015f81526020015f8152602001614eef61515a565b604051806108e001604052806047906020820280368337509192915050565b604051806108e001604052806047905b6150b2615213565b8152602001906001900390816150aa5790505090565b60405180608001604052805f81526020015f81526020015f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806103600160405280601b906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180610da00160405280606d906020820280368337509192915050565b604051806103a00160405280601d906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b60405180604001604052805f81526020015f81525090565b604051806101a00160405280600d906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b6152816151f4565b8152602001906001900390816152795790505090565b6040518061052001604052806029906020820280368337509192915050565b604051806103600160405280601b905b6152ce6150c8565b8152602001906001900390816152c65790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f60408587031215615315575f5ffd5b84356001600160401b0381111561532a575f5ffd5b8501601f8101871361533a575f5ffd5b80356001600160401b0381111561534f575f5ffd5b876020828401011115615360575f5ffd5b6020918201955093508501356001600160401b0381111561537f575f5ffd5b8501601f8101871361538f575f5ffd5b80356001600160401b038111156153a4575f5ffd5b8760208260051b84010111156153b8575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176121c9576121c96153c6565b818103818111156121c9576121c96153c6565b808201808211156121c9576121c96153c6565b5f5f85851115615425575f5ffd5b83861115615431575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b5f60018201615463576154636153c6565b5060010190565b803560208310156121c9575f19602084900360031b1b1692915050565b5f8183825b60098110156154ab57815183526020928301929091019060010161548c565b5050506101208201905092915050565b634e487b7160e01b5f52601260045260245ffd5b5f826154dd576154dd6154bb565b500490565b5f8183825b602a8110156155065781518352602092830192909101906001016154e7565b5050506105408201905092915050565b5f8183825b606d81101561553a57815183526020928301929091019060010161551b565b505050610da08201905092915050565b5f8183825b601d81101561556e57815183526020928301929091019060010161554f565b5050506103a08201905092915050565b5f8183825b60058110156155a2578151835260209283019290910190600101615583565b50505060a08201905092915050565b5f826155bf576155bf6154bb565b500690565b5f816155d2576155d26153c6565b505f190190565b5f8183825b60088110156155fd5781518352602092830192909101906001016155de565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f60208284031215615633575f5ffd5b81518015158114611a9e575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b81515f90829060208501835b82811015615680578151845260209384019390910190600101615662565b509195945050505050565b5f8183825b600d8110156156af578151835260209283019290910190600101615690565b5050506101a08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe696e76616c6964206e756d626572206f6620627974657320746f20636f6e737430644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
|
|
4
4
|
/**
|
|
5
5
|
* HonkVerifier link references.
|
|
6
6
|
*/ export const HonkVerifierLinkReferences = {};
|
package/dest/IERC20Abi.d.ts
CHANGED
|
@@ -201,10 +201,6 @@ export declare const IERC20Abi: readonly [{
|
|
|
201
201
|
readonly type: "address";
|
|
202
202
|
readonly internalType: "address";
|
|
203
203
|
}];
|
|
204
|
-
}, {
|
|
205
|
-
readonly type: "error";
|
|
206
|
-
readonly name: "GovernanceProposer__CanOnlySubmitRoundWinnerInPast";
|
|
207
|
-
readonly inputs: readonly [];
|
|
208
204
|
}, {
|
|
209
205
|
readonly type: "error";
|
|
210
206
|
readonly name: "GovernanceProposer__FailedToSubmitRoundWinner";
|
|
@@ -237,6 +233,18 @@ export declare const IERC20Abi: readonly [{
|
|
|
237
233
|
readonly type: "uint256";
|
|
238
234
|
readonly internalType: "uint256";
|
|
239
235
|
}];
|
|
236
|
+
}, {
|
|
237
|
+
readonly type: "error";
|
|
238
|
+
readonly name: "GovernanceProposer__InvalidLifetimeAndExecutionDelay";
|
|
239
|
+
readonly inputs: readonly [{
|
|
240
|
+
readonly name: "lifetimeInRounds";
|
|
241
|
+
readonly type: "uint256";
|
|
242
|
+
readonly internalType: "uint256";
|
|
243
|
+
}, {
|
|
244
|
+
readonly name: "executionDelayInRounds";
|
|
245
|
+
readonly type: "uint256";
|
|
246
|
+
readonly internalType: "uint256";
|
|
247
|
+
}];
|
|
240
248
|
}, {
|
|
241
249
|
readonly type: "error";
|
|
242
250
|
readonly name: "GovernanceProposer__InvalidQuorumAndRoundSize";
|
|
@@ -293,6 +301,18 @@ export declare const IERC20Abi: readonly [{
|
|
|
293
301
|
readonly type: "uint256";
|
|
294
302
|
readonly internalType: "uint256";
|
|
295
303
|
}];
|
|
304
|
+
}, {
|
|
305
|
+
readonly type: "error";
|
|
306
|
+
readonly name: "GovernanceProposer__RoundTooNew";
|
|
307
|
+
readonly inputs: readonly [{
|
|
308
|
+
readonly name: "roundNumber";
|
|
309
|
+
readonly type: "uint256";
|
|
310
|
+
readonly internalType: "uint256";
|
|
311
|
+
}, {
|
|
312
|
+
readonly name: "currentRoundNumber";
|
|
313
|
+
readonly type: "uint256";
|
|
314
|
+
readonly internalType: "uint256";
|
|
315
|
+
}];
|
|
296
316
|
}, {
|
|
297
317
|
readonly type: "error";
|
|
298
318
|
readonly name: "GovernanceProposer__RoundTooOld";
|
package/dest/IERC20Abi.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IERC20Abi.d.ts","sourceRoot":"","sources":["../src/IERC20Abi.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"IERC20Abi.d.ts","sourceRoot":"","sources":["../src/IERC20Abi.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8jEZ,CAAC"}
|