@aztec/l1-artifacts 3.0.0-canary.a9708bd → 3.0.0-nightly.20250905

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.
@@ -2,10 +2,6 @@
2
2
  * HonkVerifier ABI.
3
3
  */
4
4
  export declare const HonkVerifierAbi: readonly [{
5
- readonly type: "constructor";
6
- readonly inputs: readonly [];
7
- readonly stateMutability: "nonpayable";
8
- }, {
9
5
  readonly type: "error";
10
6
  readonly name: "DevNet__NoPruningAllowed";
11
7
  readonly inputs: readonly [];
@@ -165,6 +161,14 @@ export declare const HonkVerifierAbi: readonly [{
165
161
  readonly type: "error";
166
162
  readonly name: "Outbox__Unauthorized";
167
163
  readonly inputs: readonly [];
164
+ }, {
165
+ readonly type: "error";
166
+ readonly name: "ProofLengthWrong";
167
+ readonly inputs: readonly [];
168
+ }, {
169
+ readonly type: "error";
170
+ readonly name: "PublicInputsLengthWrong";
171
+ readonly inputs: readonly [];
168
172
  }, {
169
173
  readonly type: "error";
170
174
  readonly name: "Registry__NoRollupsRegistered";
@@ -237,6 +241,10 @@ export declare const HonkVerifierAbi: readonly [{
237
241
  readonly type: "error";
238
242
  readonly name: "Rollup__TryingToProveNonExistingBlock";
239
243
  readonly inputs: readonly [];
244
+ }, {
245
+ readonly type: "error";
246
+ readonly name: "ShpleminiFailed";
247
+ readonly inputs: readonly [];
240
248
  }, {
241
249
  readonly type: "error";
242
250
  readonly name: "Staking__DepositOutOfGas";
@@ -253,6 +261,10 @@ export declare const HonkVerifierAbi: readonly [{
253
261
  readonly type: "error";
254
262
  readonly name: "Staking__QueueEmpty";
255
263
  readonly inputs: readonly [];
264
+ }, {
265
+ readonly type: "error";
266
+ readonly name: "SumcheckFailed";
267
+ readonly inputs: readonly [];
256
268
  }, {
257
269
  readonly type: "error";
258
270
  readonly name: "TallySlashingProposer__InvalidCommitteeCommitment";
@@ -1733,11 +1745,11 @@ export declare const HonkVerifierAbi: readonly [{
1733
1745
  readonly type: "function";
1734
1746
  readonly name: "verify";
1735
1747
  readonly inputs: readonly [{
1736
- readonly name: "";
1748
+ readonly name: "proof";
1737
1749
  readonly type: "bytes";
1738
1750
  readonly internalType: "bytes";
1739
1751
  }, {
1740
- readonly name: "";
1752
+ readonly name: "publicInputs";
1741
1753
  readonly type: "bytes32[]";
1742
1754
  readonly internalType: "bytes32[]";
1743
1755
  }];
@@ -1795,6 +1807,22 @@ export declare const HonkVerifierAbi: readonly [{
1795
1807
  readonly type: "uint256";
1796
1808
  readonly internalType: "uint256";
1797
1809
  }];
1810
+ }, {
1811
+ readonly type: "error";
1812
+ readonly name: "ProofLengthWrongWithLogN";
1813
+ readonly inputs: readonly [{
1814
+ readonly name: "logN";
1815
+ readonly type: "uint256";
1816
+ readonly internalType: "uint256";
1817
+ }, {
1818
+ readonly name: "actualLength";
1819
+ readonly type: "uint256";
1820
+ readonly internalType: "uint256";
1821
+ }, {
1822
+ readonly name: "expectedLength";
1823
+ readonly type: "uint256";
1824
+ readonly internalType: "uint256";
1825
+ }];
1798
1826
  }, {
1799
1827
  readonly type: "error";
1800
1828
  readonly name: "Rollup__StaleTempBlockLog";
@@ -1 +1 @@
1
- {"version":3,"file":"HonkVerifierAbi.d.ts","sourceRoot":"","sources":["../src/HonkVerifierAbi.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAo8ElB,CAAC"}
1
+ {"version":3,"file":"HonkVerifierAbi.d.ts","sourceRoot":"","sources":["../src/HonkVerifierAbi.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAw+ElB,CAAC"}
@@ -1,11 +1,6 @@
1
1
  /**
2
2
  * HonkVerifier ABI.
3
3
  */ export const HonkVerifierAbi = [
4
- {
5
- "type": "constructor",
6
- "inputs": [],
7
- "stateMutability": "nonpayable"
8
- },
9
4
  {
10
5
  "type": "error",
11
6
  "name": "DevNet__NoPruningAllowed",
@@ -206,6 +201,16 @@
206
201
  "name": "Outbox__Unauthorized",
207
202
  "inputs": []
208
203
  },
204
+ {
205
+ "type": "error",
206
+ "name": "ProofLengthWrong",
207
+ "inputs": []
208
+ },
209
+ {
210
+ "type": "error",
211
+ "name": "PublicInputsLengthWrong",
212
+ "inputs": []
213
+ },
209
214
  {
210
215
  "type": "error",
211
216
  "name": "Registry__NoRollupsRegistered",
@@ -296,6 +301,11 @@
296
301
  "name": "Rollup__TryingToProveNonExistingBlock",
297
302
  "inputs": []
298
303
  },
304
+ {
305
+ "type": "error",
306
+ "name": "ShpleminiFailed",
307
+ "inputs": []
308
+ },
299
309
  {
300
310
  "type": "error",
301
311
  "name": "Staking__DepositOutOfGas",
@@ -316,6 +326,11 @@
316
326
  "name": "Staking__QueueEmpty",
317
327
  "inputs": []
318
328
  },
329
+ {
330
+ "type": "error",
331
+ "name": "SumcheckFailed",
332
+ "inputs": []
333
+ },
319
334
  {
320
335
  "type": "error",
321
336
  "name": "TallySlashingProposer__InvalidCommitteeCommitment",
@@ -2309,12 +2324,12 @@
2309
2324
  "name": "verify",
2310
2325
  "inputs": [
2311
2326
  {
2312
- "name": "",
2327
+ "name": "proof",
2313
2328
  "type": "bytes",
2314
2329
  "internalType": "bytes"
2315
2330
  },
2316
2331
  {
2317
- "name": "",
2332
+ "name": "publicInputs",
2318
2333
  "type": "bytes32[]",
2319
2334
  "internalType": "bytes32[]"
2320
2335
  }
@@ -2391,6 +2406,27 @@
2391
2406
  }
2392
2407
  ]
2393
2408
  },
2409
+ {
2410
+ "type": "error",
2411
+ "name": "ProofLengthWrongWithLogN",
2412
+ "inputs": [
2413
+ {
2414
+ "name": "logN",
2415
+ "type": "uint256",
2416
+ "internalType": "uint256"
2417
+ },
2418
+ {
2419
+ "name": "actualLength",
2420
+ "type": "uint256",
2421
+ "internalType": "uint256"
2422
+ },
2423
+ {
2424
+ "name": "expectedLength",
2425
+ "type": "uint256",
2426
+ "internalType": "uint256"
2427
+ }
2428
+ ]
2429
+ },
2394
2430
  {
2395
2431
  "type": "error",
2396
2432
  "name": "Rollup__StaleTempBlockLog",
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * HonkVerifier bytecode.
3
3
  */
4
- export declare const HonkVerifierBytecode = "0x6080604052348015600e575f5ffd5b5061425e8061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b3660046140b9565b610054565b604051901515815260200160405180910390f35b5f7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016024600435017f153d8ddc7d258343c9e07201ea71a37b2b89f7082279fb36a36c528daa9efeeb5f5260248035016020609e02808260203780602001915061020083833761010061020084018261022001376102e0015f9081208490068082526001600160801b038082166143205260809190911c6143405260208220859006918290528116614360529050612bc08083611760375060c0611a2060205e8260e05f20069050805f526001600160801b03811691508060801c8261438052806143a052506080611ae060205e505060a05f908120829006908190526001600160801b03811661448052608081901c6144a0526144c0905b6147c08210156101a6578260205f20069050805f526001600160801b0381168160801c818452806020850152505060408201915061016d565b505060205f8181208390068082526001600160801b039081166147c052918120839006908190529081166147e052614800905b614b008210156101fa576020820351838182098352506020820191506101d9565b611b609150614b005b613460831015610240576101008360205e836101205f20069150815f526001600160801b0382168082525061010083019250602081019050610203565b5061052061346060205e826105405f20069050805f526001600160801b0381169150816143c05261060061398060205e826106205f20069050805f526001600160801b0381169150816143e052610320613f8060205e826103405f20069050805f526001600160801b0381169150816144005260406142a060205e505060605f208190066001600160801b031661442052614380516143a0516001808085808063100000018809860881600186018809945081858303870895506001945060248035016020609e0281015b80821015610348578135848110881697508485828608880996508485828b088709955050838984089250838985038908975060208201915061030b565b50506117605b6119608110156103835780518384828508870995508384828a088609945050828883089150828884038808965060200161034e565b505050826103975763803bff7c5f5260045ffd5b816144405280614460525f945060205f52602080526020604052806060525f51602061421e5f395f51905f526080528560a05260205f60c05f60055afa6103e557640f442f16325f5260045ffd5b5f519450508484820961444052505050507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec51610100526102d0610120527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff11610140526090610160527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff716101805260f06101a0527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd316101c0526113b06101e0526001615e40610200614b005f5b6019811015610679578151610100805188898a8508820980875260208801975088885289818a09985060208301925060208701965082519150898a5f5160206141be5f395f51905f5286088309905080875260208801975088885289818a09985060208301925060208701965082519150898a5f51602061421e5f395f51905f5286088309905080875260208801975088885289818a09985060208301925060208701965082519150898a5f5160206141fe5f395f51905f5286088309905080875260208801975088885289818a09985060208301925060208701965082519150898a5f51602061419e5f395f51905f5286088309905080875260208801975088885289818a09985060208301925060208701965082519150898a5f51602061417e5f395f51905f5286088309905080875260208801975088885289818a09985060208301925060208701965082519150898a5f51602061423e5f395f51905f5286088309905080875260208801975088885289818a09985060208301925060208701965082519150898a5f5160206141de5f395f51905f5286088309905080875260208801975088885289818a0998505050602094850194939093019250506001016104b1565b505060205f52602080526020604052826060525f51602061421e5f395f51905f526080528360a05260205f60c05f60055afa6106bc57640f442f16325f5260045ffd5b5f519250601f19015b6101e08111156106eb57838251840984825185099082529250601f1991820191016106c5565b50505060015f60016147e0611b60614b006102005f5b601981101561081e57825189602086015186510888149890981697808a805f5160206141be5f395f51905f528308820990508a8b5f51602061421e5f395f51905f528408820990508a8b5f5160206141fe5f395f51905f528408820990508a8b5f51602061419e5f395f51905f528408820990508a8b5f51602061417e5f395f51905f528408820990508a8b5f51602061423e5f395f51905f528408820990508a8b5f5160206141de5f395f51905f528408820990505f98505f5b60088110156107ea57865185518d8183099150508c818c089a505060209687019694909401936001016107bc565b508a818a0987519099505f190190508a80828409600108915050898188099650506020948501949290920191600101610701565b505050505082610835576407d06dd7fa5f5260045ffd5b6151c0526151a052506134a0516137e05182919009816134c0516138005109826134e05161382051098361350051613840510961354051857f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f800000087885f5160206141fe5f395f51905f52850889613460518b613800516137e05109090909868788898a858b08890887088508613480510895505085868788613840516137e051086138e0518a03086134605108875f51602061421e5f395f51905f528408099350858661394051885f5160206141be5f395f51905f5285080986089450856151c0518783880909945084614e205285865f5160206141be5f395f51905f5283088509945085818609945050505050816151c0518209614e405250614380516143a0516136c05183908190840982613800510101846136a0518509836137e051010109838461370051850983613840510101856136e051860984613820510101098481830985866136405187098561380051010187613620518809866137e051010109925085866136805187098561384051010187613660518809866138205101010991508582840994508581876137a05161386051080993508586868889614440516137c05109613960510809870385089350856151c0518509935083614e6052856151c05187613960516137c0510909935083614e8052505050505061432051614340516143605161438051506143a05184858561374051098683613720510808858684613780510987866137605109088681830887886138e0516134c0510989866137e051080892508788613900516134605109613800510891508788613920516134805109613820510893508788888409840896508788878609880896508788866134e051098808965087816138805109955087876138805109945087613520516138c0510893508788613520516138c05109890385089350876138805189838a09099650505050848186038508935050836151c051840992508382613520510991508384826138a05109850383089150506138c05183845f5160206141be5f395f51905f52830882099050836151c0518209905082614ea05281614ec05280614ee0525050505f5160206141be5f395f51905f525f51602061421e5f395f51905f525f5160206141fe5f395f51905f52836137e05185036138005108846138005186036138205108856138205187036138405108866138405188036138e0510883888989870882099050888988870882099050888987870882099050886135605182099050886151c0518209614f0052509192508291878088850885099350878887850885099350878886850885099350876135605185099350876151c0518509614f20529092508290878088840885099350878887840885099350878886840885099350876135605185099350876151c0518509614f4052925082878088830885099350878887830885099350878886830885099350876135605185099350876151c0518509935083614f605250505050505050806138005182036138e051088161382051613820510982613940516139405109836134a05185613940516138205109098485613800516138e05108613900510885858787840909905085838703820890508584870382089050858282089050858282089050856151c05182099250505083613580518209905083846134605186036001088209614f805250613920516138205184919008836134a05161394051098461382051860382089050848483099150848582876138005189036139005108098308915050836151c0518209905083613580518209905083846134605186036001088209614fa0525061380051839081601184080991508281820883818208905083600984099250838461380051613800510861390051088482820990508484860382089050846151c05182099350505082613460518461358051850909915082614f80518308614f80525050613800518190818181818008080981826139005184036138005108820990508182836139205161382051088461382051613820510809830382089050816151c0518209905081613460518361358051840909905081614fa0518208614fa052506143605161382051829190098182614340516138005109820890508182614320516137e05109820890508161348051820890508082613840518403830891508161526052826137e05184036138e0510883613840518503613940510884855f5160206141be5f395f51905f5284088309858684880360010883099150858687886151c0516135a051096134c051096134a051098309614fe052858687886151c0516135a051096134c051096134a0510982096150005285866134c0516134a051098609615240528561436051613920510994508586614340516139005109860894508586614320516138e05109860894508585870361394051089450856138205187036139205108915085868787890360010884098785890360010809915085848703613840510886875f5160206141be5f395f51905f5283088209905086875f5160206141be5f395f51905f5288088709955086876151c0516135a051096134e0510987818509615020528781840961504052878188096150605250866134e051820961522052505050836138005185036139005108925083613820518503858684880360010886090892506152405191508384856134a05161350051098509830891508384856134a051613460510961526051098308915083615220518308915083846151c0516135a051098309915081614fc0525050508081613800516138e0510982613900516137e051090881613920518303838461382051613800510985613840516137e05109080882600160441b82099050826139405184038208905082828208905082613500518209905082600160441b830991508283613900516138e0510983089150826134e051848561384051613820510886038508098361346051858661394051613920510887038761384051880808099250836134c05185858786860808096151e0525050613900518291506140009009816138e05182089050816140008209905081613820518208905081614000820990508161380051820890508161400082099050816137e0518208905081613840518303820890508161350051820990508161400061392051098261390051820890508261400082099050826138e0518208905082614000820990508261384051820890508261400082099050826138205182089050826139405184038208905082613460518209905082818308915050816134e0518209905081816151e05108905081826151c0516135c05109820961508052506134a0516137e05182919008816134c0516138005108826134e0516138205108836135005161384051088484850985868683098209945085848509905085868583098209935085838409905085868483098209925085828309905085868383098209915085848608905085828408945085848508935085858508935085828308925085818408925085858608945085858608945085838608945085818208915050848182089050848382089050848183089150848484089250846151c0516135e0510985866138e0518803850882096150a0528586613900518803840882096150c0528586613920518803860882096150e052858661394051880387088209615100525050505050806134a0516137e05108818182098283838309820991505061380051613820516138405184838508858683850882089050856151c05161360051098682887f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e7890908955086876138e051890388088209615120528682887f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b8809089550868761390051890388088209615140528682887e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac158709089550868761392051890388088209615160528682887f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b860908955086876139405189038808820961518052505050505050614e2051818261448051614e4051098208905081826144a051614e6051098208905081826144c051614e8051098208905081826144e051614ea0510982089050818261450051614ec0510982089050818261452051614ee0510982089050818261454051614f00510982089050818261456051614f20510982089050818261458051614f4051098208905081826145a051614f6051098208905081826145c051614f8051098208905081826145e051614fa0510982089050818261460051614fc0510982089050818261462051614fe051098208905081826146405161500051098208905081826146605161502051098208905081826146805161504051098208905081826146a05161506051098208905081826146c05161508051098208905081826146e0516150a05109820890508182614700516150c05109820890508182614720516150e051098208905081826147405161510051098208905081826147605161512051098208905081826147805161514051098208905081826147a05161516051098208905081826147c051615180510982086151a051149050806115a8576407d06dd7fa5f5260205ff35b506143e05161528081815260015b60198110156115d6576020820191508383840980835292506001016115b6565b5050506144205181615280518303820861010052816152805183038208610b005281615280518208610e205250610ae0615580614e0060195b801561164257815185868288036001088551098682820886525050601f19938401939283019291909101905f190161160f565b5050610b209150610e406152a09150614420515f5b60188110156116875783518681880384088652868184088452506020948501949384019390920191600101611657565b50505050506143e05180615e6052816107e0518209905080615e805281610800518209905080615ea05281610820518209905080615ec05281610840518209905080615ee05281610860518209905080615f005281610880518209905080615f2052816108a0518209905080615f4052816108c0518209905080615f6052816108e0518209905080615f805281610900518209905080615fa05281610920518209905080615fc05281610940518209905080615fe05281610960518209905080616000528161098051820990508061602052816109a051820990508061604052816109c051820990508061606052816109e05182099050806160805281610a005182099050806160a05281610a205182099050806160c05281610a405182099050806160e05281610a605182099050806161005281610a805182099050806161205281610aa05182099050806161405281610ac05182099050806161605281610ae05182099050806161805281610b005182099050806161a05281610b205182099050806161c05281610b405182099050806161e05281610b605182099050806162005281610b805182099050806162205281610ba05182099050806162405281610bc05182099050806162605281610be05182099050806162805281610c005182099050806162a05281610c205182099050806162c05281610c405182099050806162e05281610c605182099050806163005281610c805182099050806163205281610ca05182099050806163405281610cc05182099050806163605281610ce05182099050806163805281610d005182099050806163a05281610d205182099050806163c05281610d405182099050806163e05281610d605182099050806164005281610d805182099050806164205281610da05182099050806164405281610dc05182099050806164605281610de05182099050806164805281610e005182099050806164a05281610e205182099050806164c05281610e405182099050806164e05281610e605182099050806165005281610e805182099050806165205281610ea05182099050806165405281610ec05182099050806165605281610ee05182099050806165805281610f005182099050806165a05281610f205182099050806165c05281610f405182099050806165e05281610f605182099050806166005281610f805182099050806166205281610fa05182099050806166405281610fc05182099050806166605281610fe051820990508061668052816110005182099050806166a052816110205182099050806166c052816110405182099050806166e05281611060518209905080616700528161108051820990508061672052816110a051820990508061674052816110c051820990508061676052816110e051820990508061678052816111005182099050806167a05281611120518209905060205f52602080526020604052806060525f51602061421e5f395f51905f526080528160a05260205f60c05f60055afa611aeb57640f442f16325f5260045ffd5b5f519050816167a05182098261112051830991508061112052508161678051820982611100518309915080611100525081616760518209826110e05183099150806110e0525081616740518209826110c05183099150806110c0525081616720518209826110a05183099150806110a0525081616700518209826110805183099150806110805250816166e0518209826110605183099150806110605250816166c0518209826110405183099150806110405250816166a0518209826110205183099150806110205250816166805182098261100051830991508061100052508161666051820982610fe0518309915080610fe052508161664051820982610fc0518309915080610fc052508161662051820982610fa0518309915080610fa052508161660051820982610f80518309915080610f805250816165e051820982610f60518309915080610f605250816165c051820982610f40518309915080610f405250816165a051820982610f20518309915080610f2052508161658051820982610f00518309915080610f0052508161656051820982610ee0518309915080610ee052508161654051820982610ec0518309915080610ec052508161652051820982610ea0518309915080610ea052508161650051820982610e80518309915080610e805250816164e051820982610e60518309915080610e605250816164c051820982610e40518309915080610e405250816164a051820982610e20518309915080610e2052508161648051820982610e00518309915080610e0052508161646051820982610de0518309915080610de052508161644051820982610dc0518309915080610dc052508161642051820982610da0518309915080610da052508161640051820982610d80518309915080610d805250816163e051820982610d60518309915080610d605250816163c051820982610d40518309915080610d405250816163a051820982610d20518309915080610d2052508161638051820982610d00518309915080610d0052508161636051820982610ce0518309915080610ce052508161634051820982610cc0518309915080610cc052508161632051820982610ca0518309915080610ca052508161630051820982610c80518309915080610c805250816162e051820982610c60518309915080610c605250816162c051820982610c40518309915080610c405250816162a051820982610c20518309915080610c2052508161628051820982610c00518309915080610c0052508161626051820982610be0518309915080610be052508161624051820982610bc0518309915080610bc052508161622051820982610ba0518309915080610ba052508161620051820982610b80518309915080610b805250816161e051820982610b60518309915080610b605250816161c051820982610b40518309915080610b405250816161a051820982610b20518309915080610b2052508161618051820982610b00518309915080610b0052508161616051820982610ae0518309915080610ae052508161614051820982610ac0518309915080610ac052508161612051820982610aa0518309915080610aa052508161610051820982610a80518309915080610a805250816160e051820982610a60518309915080610a605250816160c051820982610a40518309915080610a405250816160a051820982610a20518309915080610a2052508161608051820982610a00518309915080610a00525081616060518209826109e05183099150806109e0525081616040518209826109c05183099150806109c0525081616020518209826109a05183099150806109a052508161600051820982610980518309915080610980525081615fe051820982610960518309915080610960525081615fc051820982610940518309915080610940525081615fa051820982610920518309915080610920525081615f8051820982610900518309915080610900525081615f60518209826108e05183099150806108e0525081615f40518209826108c05183099150806108c0525081615f20518209826108a05183099150806108a0525081615f0051820982610880518309915080610880525081615ee051820982610860518309915080610860525081615ec051820982610840518309915080610840525081615ea051820982610820518309915080610820525081615e8051820982610800518309915080610800525081615e60518209826107e05183099150806107e052505f5f610b0051610e2051614400518687838309840894508687888484098903850887099350505050600192505f8285039250818503915060016155a0526143c051858585096155c052858686613460510983089150858186099450858585096155e05285868661348051098308915085818609945085858509615600528586866134a051098308915085818609945085858509615620528586866134c051098308915085818609945085858509615640528586866134e051098308915085818609945085858509615660528586866135005109830891508581860994508585850961568052858686613520510983089150858186099450858585096156a052858686613540510983089150858186099450858585096156c052858686613560510983089150858186099450858585096156e05285868661358051098308915085818609945085858509615700528586866135a051098308915085818609945085858509615720528586866135c051098308915085818609945085858509615740528586866135e051098308915085818609945085858509615760528586866136005109830891508581860994508585850961578052858686613620510983089150858186099450858585096157a052858686613640510983089150858186099450858585096157c052858686613660510983089150858186099450858585096157e05285868661368051098308915085818609945085858509615800528586866136a051098308915085818609945085858509615820528586866136c051098308915085818609945085858509615840528586866136e051098308915085818609945085858509615860528586866137005109830891508581860994508585850961588052858686613720510983089150858186099450858585096158a052858686613740510983089150858186099450858585096158c052858686613760510983089150858186099450858585096158e05285868661378051098308915085818609945085858509615900528586866137a051098308915085818609945085858509615920528586866137c051098308915085818609945085858509615940528586866137e051098308915085818609945085858509615960528586866138005109830891508581860994508585850961598052858686613820510983089150858186099450858585096159a052858686613840510983089150858186099450858585096159c052858686613860510983089150858186099450858585096159e05285868661388051098308915085818609945085858509615a00528586866138a051098308915085818609945085858509615a20528586866138c051098308915085818609945085868685096159405108615940528586866138e05109830891508581860994508586868509615960510861596052858686613900510983089150858186099450858686850961598051086159805285868661392051098308915085818609945085868685096159a051086159a05285868661394051098308915085818609945085868685096159c051086159c0528586866139605109830891508581860994505080610760526155805f52614e00602052614280604052610ae0925061144091508060195b8015612682575f5151602051518889600286098309898a838c0360010884099250898a8b848d03860860405151098b03820890508988518209905080945080875250505060205f51035f52602080510360205260206040510360405260208503945060208403935060018103905061260f565b505050505081610b0051611140510961440051838485610e20518409613f8051098308915083818209809350610b205f52610e40602052613fa06040526111606144205150615a405f5b601881101561273f57875f515188098889602051518809890989828b03828c03088452896040515182099050898a8651840982089050898189089750505087848809965060205f51015f5260208051016020526020604051016040526020830192506020820191506001810190506126cc565b5050505050600192507f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd479150600160a0526142a0516142c05183828309858560038784870908868485091416955050505060406142a060605e60405f60608060075afa9250612f837f1e6982184c7c77eab4858505e3a872fe54b31442e82bd5786f9814acf3bdffa46110e0527f2e9fad25919ad37c1bc64e4fafcfb614948adf808a75a73f81d7d89dc20bade8611100527f10655bd5ce80bbc01b91605a37e0ef448375ee9292dd220614a2e7ae00ad0043611120527f049fa695f64039920cfc0c277c05d0391aa1b41e14442b2cb2a85079c0e15e98611140527f18b7e7a9bf19e63b724013953e1ce494e2fdf3772d11dc20c2da9346c62f2b24611160527f06d689413455024872a564f66ca5f54efb1143a6e6ddc2657fade9a123732f79611180527f14e9ab5a5ff02fad22541f858617c03ebe6ebe910be393a9cabf553ed5797ada6111a0527f23b50b2c05915e6fbb496b41b0658c0de6cbde6ef1ea89630da1b0547b091ef16111c0527f0e64701f29097e6058210d5a11c6b62e50254edeef14f098df10345e02b9447f611060527f113dca2ad0931410a5cf48cd04cd5de2dd2f155e4004d772890ba45a0ba397bd611080527f11a5511d5049745847cea657504b43dacc6cc37ccfbf01dc5e5c665f4564ce246110a0527f2d8148a4729b5e8d2256d5cb73b50855c1feaa6c56a451f5f35d5f51d66fb7196110c0527f107d2d79c20982125b9f302008ecbd7b7f25eebc71271311c28f58223170c78b6111e0527f0f3c9104533084fca88d92d900c94cb1400899b1c3c2b40cf32807f7d8517f47611200527f067f3d0407cdf93e2d5b851c21f6c061324e04b7976533ef3008699772be9e7c611220527f2cf8691c5b01619ddfd641fbdbb63f710e0615e78dbec30338f39924fc7286eb611240527f290a4bf217c97b0e6d537dad0e89d71e168ba649b38ff755fe4cd089231f8b1c611260527f2209a01962769ef2b967021a9d81022ea693d1e213877a105f3682c02dac32d6611280527f03c9ff5d7fb1aae2afd869d3b6dc181d21915652a9eee98ac51a33ccbd6688076112a0527f0204ec8e547db61bfe443eeba44a1b56061a45b096d5a5281e28a6a43a9db18b6112c0527f08de41e516b8d640bfdc60ab205f440db18bcb076cbd043544c8e948b28e2e316112e0527f1604cbaaa6de28db6e52e9c04f886440c854ae774a3c4f37ddc66639a537998d611300527f2ad312b344ad9b7c071b35eaadfced4cc6475ed636ebe4dd8421fa002483755e611320527f08d46c005e11207aa908e38e43d95741ac8c47423d56ae95be4181b2612d31e9611340527f2ea466a7b4854a628b9affa496387eda4a6d6aae746892165264396755b349ed611360527f2cd5501344f0a42e10b628b17c37640d4eba2889e5303d3561713abc9724541f611380527f2fbb73363c3824bbe5716400cb66cdc959aae2ac56ee5a5c9b9f0232b13f115f6113a0527f01c6fe456d6f83708ee7d11ace7fe7eb1b659bc99fc336ac027047104b6e86e16113c0527f0bb23a50bd61f459207d3d54875a51065b3caf7c92e61322733bd37777e8e15b6113e0527f15605b8c5adfd6007166d6659bd71fc88d3552c2c085cb07788e7a04ea9da7ac611400527f1d8e89d9565a9a207cef6c1d7bb2a57efc9dcf87fb81c4a30996ae865ac9ae49611420527f12040be06e5dd37332c5c019c89d25013c9eeb01b4ae8529ebb5e7619a4c1096611440527f0cddfea18cdb4f59a4344b765e4bc0ca3c3139826cc8c6632d545c32bae2c2ff611460527f24cb9eae040d66679ce7d59f675af97737d8a430df80e498f587c6f51f515271611480527f1227cdf41013db1d16854c70b48b4c01987d7d73bd05cfbac37e88d9ca0384786114a0527f0c623982d8667d497e9231ffed3e78bdff97c6606ff744875c237d0351c175e06114c0527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a6115e0527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b3856611600527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d366893611620527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c272611640527f20db30b046148206e1ce5d50fe2559d2e60dbe3472bb605600c6e01d0965df82611660527f0d5d5be706d7b3b8a7d3d02043ef0e324676187770f682c791ce1cd3deadc058611680527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f6116a0527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c6116c0527f2e13e07d78b81eeb6a1be85c700ed7320536de705e9a6e93dab50b07f6e1ad5e6114e0527f15d733d2b6e5778fe43122274f8e494055cd46c9d45665fd4bdf6317bab24d6f611500527f122facbb75bfca7738d27d43e922a0135f9e96845631d1671fdfa094706b4b61611520527f0a5d7a5233ab7e0ff283cb88501de8704935d12e1953329bfe4658b933b4c177611540527f15ef2b53bd940f1271ec33f4899d8014bbcc811a42dd76ad6108ef218deb9b72611560527f2e7ece9ce9c9b4bbdac85266a8dfc8fa1311e2441d9894918af251c0516a7a15611580527f2eeec2028e1345b8de3a098433e6720db4af6a34849ede5155c2604f0b93e16c6115a0527f1974cdc372f0cb4d3b117d5795851e342b71a7929cc5a6b842e133af1fb778eb6115c05260016116e0526002611700527f29fb23df55a82e52bc831bca3c8eb2be0d85b448221ba495f012341fb4689ea0611720527f04bff9f7c568949d03b2c76a93e736e9bf02a996d573b45ca760851f5fd8ec9561174052565b604061106060605e6155c05160a05260408060608060075afa8316925060405f60805f60065afa8316925060406110a060605e6155e05160a05260408060608060075afa8316925060405f60805f60065afa8316925060406110e060605e6156005160a05260408060608060075afa8316925060405f60805f60065afa83169250604061112060605e6156205160a05260408060608060075afa8316925060405f60805f60065afa83169250604061116060605e6156405160a05260408060608060075afa8316925060405f60805f60065afa8316925060406111a060605e6156605160a05260408060608060075afa8316925060405f60805f60065afa8316925060406111e060605e6156805160a05260408060608060075afa8316925060405f60805f60065afa83169250604061122060605e6156a05160a05260408060608060075afa8316925060405f60805f60065afa83169250604061126060605e6156c05160a05260408060608060075afa8316925060405f60805f60065afa8316925060406112a060605e6156e05160a05260408060608060075afa8316925060405f60805f60065afa8316925060406112e060605e6157005160a05260408060608060075afa8316925060405f60805f60065afa83169250604061132060605e6157205160a05260408060608060075afa8316925060405f60805f60065afa83169250604061136060605e6157405160a05260408060608060075afa8316925060405f60805f60065afa8316925060406113a060605e6157605160a05260408060608060075afa8316925060405f60805f60065afa8316925060406113e060605e6157805160a05260408060608060075afa8316925060405f60805f60065afa83169250604061142060605e6157a05160a05260408060608060075afa8316925060405f60805f60065afa83169250604061146060605e6157c05160a05260408060608060075afa8316925060405f60805f60065afa8316925060406114a060605e6157e05160a05260408060608060075afa8316925060405f60805f60065afa8316925060406114e060605e6158005160a05260408060608060075afa8316925060405f60805f60065afa83169250604061152060605e6158205160a05260408060608060075afa8316925060405f60805f60065afa83169250604061156060605e6158405160a05260408060608060075afa8316925060405f60805f60065afa8316925060406115a060605e6158605160a05260408060608060075afa8316925060405f60805f60065afa8316925060406115e060605e6158805160a05260408060608060075afa8316925060405f60805f60065afa83169250604061162060605e6158a05160a05260408060608060075afa8316925060405f60805f60065afa83169250604061166060605e6158c05160a05260408060608060075afa8316925060405f60805f60065afa8316925060406116a060605e6158e05160a05260408060608060075afa8316925060405f60805f60065afa8316925060406116e060605e6159005160a05260408060608060075afa8316925060405f60805f60065afa83169250604061172060605e6159205160a05260408060608060075afa8316925060405f60805f60065afa831692506119605161198051838283098585600387848709088684850914169550505050604061196060605e6159405160a05260408060608060075afa8316925060405f60805f60065afa831692506119a0516119c05183828309858560038784870908868485091416955050505060406119a060605e6159605160a05260408060608060075afa8316925060405f60805f60065afa831692506119e051611a005183828309858560038784870908868485091416955050505060406119e060605e6159805160a05260408060608060075afa8316925060405f60805f60065afa83169250611aa051611ac0518382830985856003878487090886848509141695505050506040611aa060605e6159a05160a05260408060608060075afa8316925060405f60805f60065afa83169250611b2051611b40518382830985856003878487090886848509141695505050506040611b2060605e6159c05160a05260408060608060075afa8316925060405f60805f60065afa83169250611ae051611b00518382830985856003878487090886848509141695505050506040611ae060605e6159e05160a05260408060608060075afa8316925060405f60805f60065afa83169250611a2051611a40518382830985856003878487090886848509141695505050506040611a2060605e615a005160a05260408060608060075afa8316925060405f60805f60065afa83169250611a6051611a80518382830985856003878487090886848509141695505050506040611a6060605e615a205160a05260408060608060075afa8316925060405f60805f60065afa83169250613980516139a051838283098585600387848709088684850914169550505050604061398060605e615a405160a05260408060608060075afa8316925060405f60805f60065afa831692506139c0516139e05183828309858560038784870908868485091416955050505060406139c060605e615a605160a05260408060608060075afa8316925060405f60805f60065afa83169250613a0051613a20518382830985856003878487090886848509141695505050506040613a0060605e615a805160a05260408060608060075afa8316925060405f60805f60065afa83169250613a4051613a60518382830985856003878487090886848509141695505050506040613a4060605e615aa05160a05260408060608060075afa8316925060405f60805f60065afa83169250613a8051613aa0518382830985856003878487090886848509141695505050506040613a8060605e615ac05160a05260408060608060075afa8316925060405f60805f60065afa83169250613ac051613ae0518382830985856003878487090886848509141695505050506040613ac060605e615ae05160a05260408060608060075afa8316925060405f60805f60065afa83169250613b0051613b20518382830985856003878487090886848509141695505050506040613b0060605e615b005160a05260408060608060075afa8316925060405f60805f60065afa83169250613b4051613b60518382830985856003878487090886848509141695505050506040613b4060605e615b205160a05260408060608060075afa8316925060405f60805f60065afa83169250613b8051613ba0518382830985856003878487090886848509141695505050506040613b8060605e615b405160a05260408060608060075afa8316925060405f60805f60065afa83169250613bc051613be0518382830985856003878487090886848509141695505050506040613bc060605e615b605160a05260408060608060075afa8316925060405f60805f60065afa83169250613c0051613c20518382830985856003878487090886848509141695505050506040613c0060605e615b805160a05260408060608060075afa8316925060405f60805f60065afa83169250613c4051613c60518382830985856003878487090886848509141695505050506040613c4060605e615ba05160a05260408060608060075afa8316925060405f60805f60065afa83169250613c8051613ca0518382830985856003878487090886848509141695505050506040613c8060605e615bc05160a05260408060608060075afa8316925060405f60805f60065afa83169250613cc051613ce0518382830985856003878487090886848509141695505050506040613cc060605e615be05160a05260408060608060075afa8316925060405f60805f60065afa83169250613d0051613d20518382830985856003878487090886848509141695505050506040613d0060605e615c005160a05260408060608060075afa8316925060405f60805f60065afa83169250613d4051613d60518382830985856003878487090886848509141695505050506040613d4060605e615c205160a05260408060608060075afa8316925060405f60805f60065afa83169250613d8051613da0518382830985856003878487090886848509141695505050506040613d8060605e615c405160a05260408060608060075afa8316925060405f60805f60065afa83169250613dc051613de0518382830985856003878487090886848509141695505050506040613dc060605e615c605160a05260408060608060075afa8316925060405f60805f60065afa83169250613e0051613e20518382830985856003878487090886848509141695505050506040613e0060605e615c805160a05260408060608060075afa8316925060405f60805f60065afa83169250613e4051613e60518382830985856003878487090886848509141695505050506040613e4060605e615ca05160a05260408060608060075afa8316925060405f60805f60065afa83169250613e8051613ea0518382830985856003878487090886848509141695505050506040613e8060605e615cc05160a05260408060608060075afa8316925060405f60805f60065afa83169250613ec051613ee0518382830985856003878487090886848509141695505050506040613ec060605e615ce05160a05260408060608060075afa8316925060405f60805f60065afa83169250613f0051613f20518382830985856003878487090886848509141695505050506040613f0060605e615d005160a05260408060608060075afa8316925060405f60805f60065afa83169250613f4051613f60518382830985856003878487090886848509141695505050506040613f4060605e615d205160a05260408060608060075afa8316925060405f60805f60065afa83169250600160605260026080528060a05260408060608060075afa8316925060405f60805f60065afa831692506142e0516143005183828309858560038784870908868485091416955050505060406142e060605e6144205160a05260408060608060075afa8316925060405f60805f60065afa8316925082613e1e57640fef01a9a45f5260045ffd5b6142e05160c05261430051820360e05260405f60805e61176051806117805160441b179050806117a05160881b179050806117c05160cc1b1790506117e051806118005160441b179050806118205160881b179050806118405160cc1b17905061186051806118805160441b179050806118a05160881b179050806118c05160cc1b1790506118e051806119005160441b179050806119205160881b179050806119405160cc1b179050858485098685820987858609886003830881148986870993508986850992508985860991508960038408821481169050875f528660205285604052846060526101005f209650875f528660405260405f60605f60075afa1660406080815e60405f60805f60065afa811690508560405284606052866080526040806060604060075afa16604060c060805e604060c06080604060065afa7f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26040527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6060527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6080527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60a0527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c1610100527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b0610120527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe4610140527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e55610160521660205f6101808160085afa81169750505050505050505f5181166140af57640d71fd26345f5260045ffd5b5060015f5260205ff35b5f5f5f5f604085870312156140cc575f5ffd5b84356001600160401b038111156140e1575f5ffd5b8501601f810187136140f1575f5ffd5b80356001600160401b03811115614106575f5ffd5b876020828401011115614117575f5ffd5b6020918201955093508501356001600160401b03811115614136575f5ffd5b8501601f81018713614146575f5ffd5b80356001600160401b0381111561415b575f5ffd5b8760208260051b840101111561416f575f5ffd5b94979396506020019450505056fe30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffffc30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffffd30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffffa30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffffe30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffffff30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffffb";
4
+ export declare const HonkVerifierBytecode = "0x610100604052348015610010575f5ffd5b506302000000608052601960a0527f0d6d047502a412e33d6a834eb5f665a6d96bcb00f7d80237d895cdedec004a9960c05260ae60e05260805160a05160c05160e051615adb6100de5f395f818161018101526107ae01525f61016001525f8181605b01528181609401528181610101015281816101a2015281816108c7015281816109d401528181610a0001528181610a7a015281816112bb0152818161135b01528181611598015281816115e401528181611632015281816116890152612d5c01525f5050615adb5ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b3660046156ff565b610054565b604051901515815260200160405180910390f35b5f5f61007f7f000000000000000000000000000000000000000000000000000000000000000061028c565b905061008c8160206157d7565b85146100ee577f0000000000000000000000000000000000000000000000000000000000000000856100bf8360206157d7565b6040516359895a5360e01b81526004810193909352602483019190915260448201526064015b60405180910390fd5b5f6100f761033a565b90505f61012588887f000000000000000000000000000000000000000000000000000000000000000061034f565b90506010826040015161013891906157ee565b85146101575760405163fa06659360e01b815260040160405180910390fd5b5f6101c68288887f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006106a6565b90506102168787808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505085518551606081015160809091015191935091506001610758565b815160a001525f61022783836108bf565b905080610247576040516313f8744360e31b815260040160405180910390fd5b5f6102538486856109c0565b905080610273576040516352ec174560e11b815260040160405180910390fd5b81801561027d5750805b9b9a5050505050505050505050565b5f8061029a600260086157d7565b905060016102a96008856157d7565b6102b391906157d7565b6102bd9082615801565b90506102cb600160296157d7565b6102d59082615801565b905060026102e46001856157ee565b6102ee91906157d7565b6102f89082615801565b90506103056001846157d7565b61030f9082615801565b905061031c6002806157d7565b6103269082615801565b9050610333601082615801565b9392505050565b610342615207565b61034a61175b565b905090565b610357615391565b5f805b60108110156103b957610386868387610374602083615801565b9261038193929190615814565b612097565b835182601081106103995761039961583b565b6020020181815250506020826103af9190615801565b915060010161035a565b506103dd8582866103cb604083615801565b926103d893929190615814565b6120aa565b60208301526103ed604082615801565b90506104008582866103cb604083615801565b6040808401919091526104139082615801565b90506104268582866103cb604083615801565b6060830152610436604082615801565b90506104498582866103cb604083615801565b60c0830152610459604082615801565b905061046c8582866103cb604083615801565b60e083015261047c604082615801565b905061048f8582866103cb604083615801565b608083015261049f604082615801565b90506104b28582866103cb604083615801565b6101008301526104c3604082615801565b90506104d68582866103cb604083615801565b60a08301526104e6604082615801565b90505f5b83811015610564575f5b600881101561055b5761050e878488610374602083615801565b84610120015183601c81106105255761052561583b565b6020020151826008811061053b5761053b61583b565b6020020181815250506020836105519190615801565b92506001016104f4565b506001016104ea565b505f5b60298110156105b857610581868387610374602083615801565b83610140015182602981106105985761059861583b565b6020020181815250506020826105ae9190615801565b9150600101610567565b505f5b6105c66001856157ee565b81101561060f576105de8683876103cb604083615801565b83610160015182601b81106105f5576105f561583b565b6020020152610605604083615801565b91506001016105bb565b505f5b838110156106625761062b868387610374602083615801565b83610180015182601c81106106425761064261583b565b6020020181815250506020826106589190615801565b9150600101610612565b506106748582866103cb604083615801565b6101a0830152610685604082615801565b90506106988582866103cb604083615801565b6101c0830152509392505050565b6106ae615441565b5f6106bd88888888888661212c565b90835290506106cc8189612180565b602084019190915290506106e0818461232d565b604084019190915290506106f58882856123bc565b606084019190915290506107098882612490565b6080840191909152905061071e88828561251b565b60a0840191909152905061073388828561268f565b60c084019190915290506107478882612753565b5060e0830152509695505050505050565b5f60018082610785866107808961077b6107768a6310000000615801565b612790565b6127a8565b6127c3565b90505f6107a38761079e8a61077b6107768b6001615801565b6127dc565b90505f5b6107d260107f00000000000000000000000000000000000000000000000000000000000000006157ee565b81101561083f575f6107fc8c83815181106107ef576107ef61583b565b6020026020010151612804565b905061080c8661077b86846127c3565b955061081c8561077b85846127c3565b9450610828848b6127c3565b9350610834838b6127dc565b9250506001016107a7565b505f5b60108110156108a6575f8a826010811061085e5761085e61583b565b602002015190506108738661077b86846127c3565b95506108838561077b85846127c3565b945061088f848b6127c3565b935061089b838b6127dc565b925050600101610842565b506108b18484612819565b9a9950505050505050505050565b5f806001815b7f0000000000000000000000000000000000000000000000000000000000000000811015610996575f86610120015182601c81106109055761090561583b565b602002015190505f6109178286612827565b905080610937576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c811061094e5761094e61583b565b6020020151905061095f8382612847565b9550610986886040015185601c811061097a5761097a61583b565b602002015186836129f6565b94505050508060010190506108c5565b505f6109b0866101400151865f0151876020015185612a21565b90508281145b9695505050505050565b5f6109c961549a565b5f6109f88460a001517f0000000000000000000000000000000000000000000000000000000000000000612a9a565b90505f610a267f00000000000000000000000000000000000000000000000000000000000000006024615801565b610a31906002615801565b6001600160401b03811115610a4857610a4861584f565b604051908082528060200260200182016040528015610a71578160200160208202803683370190505b5090505f610aa07f00000000000000000000000000000000000000000000000000000000000000006024615801565b610aab906002615801565b6001600160401b03811115610ac257610ac261584f565b604051908082528060200260200182016040528015610afb57816020015b610ae861550a565b815260200190600190039081610ae05790505b509050610b2d610b288760e00151855f81518110610b1b57610b1b61583b565b60200260200101516127dc565b612b63565b84610120018181525050610b61610b288760e00151855f81518110610b5457610b5461583b565b60200260200101516127c3565b610140850181905261012085015160c0880151610b829261078091906127a8565b845260a0860151610bb290610b9690612b63565b61077b86610120015161079e8a60c001518961014001516127a8565b6020850152815160019083905f90610bcc57610bcc61583b565b602002602001018181525050876101a00151815f81518110610bf057610bf061583b565b6020908102919091010152600160a08501525f60c08501528351610c1390612bd3565b60408501526020840151610c2690612bd3565b606085015260015b60248111610cd157610c4885604001518660a001516127a8565b838281518110610c5a57610c5a61583b565b602002602001018181525050610ca38560c001516107808b6101400151600185610c8491906157ee565b60298110610c9457610c9461583b565b60200201518860a001516127a8565b60c086015260a08501516080880151610cbc91906127a8565b60a0860152610cca81615863565b9050610c2e565b505f5b6005811015610d9f575f610ce9601d83615801565b90505f610cf7602484615801565b9050610d28858381518110610d0e57610d0e61583b565b602002602001015161078089606001518a60a001516127a8565b858381518110610d3a57610d3a61583b565b602002602001018181525050610d778760c001516107808d61014001518460298110610d6857610d6861583b565b60200201518a60a001516127a8565b60c088015260a087015160808a0151610d9091906127a8565b60a08801525050600101610cd4565b50866060015181600181518110610db857610db861583b565b6020026020010181905250866080015181600281518110610ddb57610ddb61583b565b60200260200101819052508660a0015181600381518110610dfe57610dfe61583b565b60200260200101819052508660c0015181600481518110610e2157610e2161583b565b60200260200101819052508660e0015181600581518110610e4457610e4461583b565b602002602001018190525086610100015181600681518110610e6857610e6861583b565b602002602001018190525086610120015181600781518110610e8c57610e8c61583b565b602002602001018190525086610140015181600881518110610eb057610eb061583b565b602002602001018190525086610160015181600981518110610ed457610ed461583b565b6020026020010181905250866101c0015181600a81518110610ef857610ef861583b565b602002602001018190525086610180015181600b81518110610f1c57610f1c61583b565b6020026020010181905250866101a0015181600c81518110610f4057610f4061583b565b6020026020010181905250866101e0015181600d81518110610f6457610f6461583b565b602002602001018190525086610200015181600e81518110610f8857610f8861583b565b602002602001018190525086610220015181600f81518110610fac57610fac61583b565b602002602001018190525086610240015181601081518110610fd057610fd061583b565b602002602001018190525086610260015181601181518110610ff457610ff461583b565b6020026020010181905250866102800151816012815181106110185761101861583b565b6020026020010181905250866102a001518160138151811061103c5761103c61583b565b6020026020010181905250866102c00151816014815181106110605761106061583b565b6020026020010181905250866102e00151816015815181106110845761108461583b565b6020026020010181905250866103000151816016815181106110a8576110a861583b565b6020026020010181905250866103200151816017815181106110cc576110cc61583b565b6020026020010181905250866103400151816018815181106110f0576110f061583b565b6020026020010181905250866103600151816019815181106111145761111461583b565b602002602001018190525086610380015181601a815181106111385761113861583b565b6020026020010181905250866103a0015181601b8151811061115c5761115c61583b565b6020026020010181905250866103c0015181601c815181106111805761118061583b565b6020026020010181905250876020015181601d815181106111a3576111a361583b565b6020026020010181905250876040015181601e815181106111c6576111c661583b565b6020026020010181905250876060015181601f815181106111e9576111e961583b565b602002602001018190525087608001518160208151811061120c5761120c61583b565b60200260200101819052508760a001518160218151811061122f5761122f61583b565b6020026020010181905250876101000151816022815181106112535761125361583b565b60200260200101819052508760c00151816023815181106112765761127661583b565b60200260200101819052508760e00151816024815181106112995761129961583b565b60200260200101819052505f6112df87606001518660c001518b6101800151877f0000000000000000000000000000000000000000000000000000000000000000612be5565b9050611309815f815181106112f6576112f661583b565b60200260200101518661012001516127a8565b608086018190526101808a01515160c089015161133a92916107809161132f91906127a8565b8861014001516127a8565b608086015260c087015161134d90612d43565b60a08601525f5b61137f60017f00000000000000000000000000000000000000000000000000000000000000006157ee565b81101561157c576113af610b288960e001518784600161139f9190615801565b81518110610b1b57610b1b61583b565b61012087015260e08801516113de90610b2890876113ce856001615801565b81518110610b5457610b5461583b565b61014087015260a08601516101208701516113f991906127a8565b61016087015260a086015160c089015161142191611416916127a8565b8761014001516127a8565b61018087018190526114449061143690612bd3565b610780886101600151612bd3565b848261145260246001615801565b61145c9190615801565b8151811061146c5761146c61583b565b6020026020010181815250505f6114af8761018001518c61018001518460016114959190615801565b601c81106114a5576114a561583b565b60200201516127a8565b90506114e981610780896101600151868660016114cc9190615801565b815181106114dc576114dc61583b565b60200260200101516127a8565b90506114f98760800151826127c3565b608088015260a087015160c08a015161151f91611515916127a8565b8a60c001516127a8565b60a08801526101608b015182601b811061153b5761153b61583b565b6020020151848361154e60246001615801565b6115589190615801565b815181106115685761156861583b565b602090810291909101015250600101611354565b50604080518082019091526001815260026020820152826115be7f00000000000000000000000000000000000000000000000000000000000000006024615801565b815181106115ce576115ce61583b565b602090810291909101015260808501518361160a7f00000000000000000000000000000000000000000000000000000000000000006024615801565b8151811061161a5761161a61583b565b60209081029190910101526101c089015180836116587f00000000000000000000000000000000000000000000000000000000000000006024615801565b611663906001615801565b815181106116735761167361583b565b602090810291909101015260e0880151846116af7f00000000000000000000000000000000000000000000000000000000000000006024615801565b6116ba906001615801565b815181106116ca576116ca61583b565b6020026020010181815250505f6116e18486612d4e565b90505f6116ed83612e5e565b90505f6116fe8d5f01518484612ea4565b90505f5f61170e8f5f0151612f1a565b9150915061171b82612fdb565b61172481612fdb565b61172f85838561307a565b945061173c84828561307a565b935061174885856130a0565b9f9e505050505050505050505050505050565b611763615207565b50604080516103e08101825263020000008152601960208083019190915260ae82840152825180840184527f092217157df2a58cf8eb9eb7656cef1a6e079abe46a889372bc0b4fc7aefeca081527f022f91fddbdf16145b2d631f70e9cb03b0dcd42d94f20b924438ba684e7d3a49818301526060830152825180840184527f11e2c352dfeae94c97786c35393a4e0cf17ad4f65e5817635ad364cc2a16157f81527f11aa10d221cabca9c7e768975d3a199ce245dcdb0bc99c025bd11bb7a9d8f292818301526080830152825180840184527f1d0ba5bba13f1e6617cd3aec64648aef8c675e9038c8db45ae9ac8b4c5c922db81527f211d0e8afc62ae788dee8b1bc85aa8261ed451087e91a3a27f93c8d16c55c4a98183015260a0830152825180840184527f0f4faeb4f22a6ed96a02e438dbf26f7763622b8c08abec43aa8d32d49002f03d81527f0fd6b6cfdcf87f34a9f865d494831a3d79339f7b8e7a0cca6c91c569ce7a38e88183015260c0830152825180840184527f18ec8e768458416a1146b410694fc32b642eded60a1ee63a8ede4c3e498dc14281527f2b55f835e424b8f0c88bf201573cca1ac5b95a3b2af7b0f110a02071aaf835518183015260e0830152825180840184527f2c33daaff21a1f39c17c2447e4e5493108651678eeec58f8e81e179fc9d48ecd81527f203cb690bd3d92cb8c06f9232ba1705e6b1340e1360e78f062affc4d88346fde81830152610100830152825180840184527f107d2d79c20982125b9f302008ecbd7b7f25eebc71271311c28f58223170c78b81527f0f3c9104533084fca88d92d900c94cb1400899b1c3c2b40cf32807f7d8517f4781830152610120830152825180840184527f1d7a9d11311bbed453b2d82296942cb68f9b3a6ff543ad139c88dbde1b95b6f981527f227f7e5bc5c4cac1e182ea82c390cbe8adeb6edbf1d3ae4d1ff20a984e39038e81830152610140830152825180840184527f068563a75a011d4a637e0a6bbe23aea087b1bb44ac8cbb98c4c54cb61b871bc181527f1133ac5a7ffe4d3d32a2aa5d55dfcc77b906fd9b4401cdf5158766b1f13f57d881830152610160830152825180840184527f13dc315664b27a3f987c62b5b9256baf48982588eb4e6c24db7387190cf74b5881527f01fe93352a5177a7bf17e2bce0add7422a37532b4459e9505a13d1efa7d2c94c81830152610180830152825180840184527f20f0c88fec8e7d558236536a61950c8052c97b05a4feda9e5e8a87c6fa7c4bb081527f167db789de670adb97b2f336bc43966f18576e912f966fdc406a326feee36630818301526101a0830152825180840184527f1c46b5f5e601e0a64ff18b9192efa2c204befab38e377c504d50c5e2917f051781527f01f0f3b5033eed1e7013dfd3dee5388755cb4c87a81db920b10a52467d3d17fc818301526101c0830152825180840184527f205842429fa02455f00e9cd752f38d5f87ae5378614abe09bf42c79301380a0a81527f0248eadebd29ad0a5a2ca8cfe12bacd819fd605f9911888011829826f81ca6d4818301526101e0830152825180840184527f18ac2c7852d9d043ddb9ae1037dc85acaf1fcbe170f9a7f33a2a84284df786e181527f03bab9c0187d31a4b68ad05962d3ed091e87d711d44c9c666b57337180ce4afd81830152610200830152825180840184527f07aa8c9dc389d24e236ee040deea5c117ca2f8d535c5901b45ff83a6461c3ca781527f2dd15c22016e91a9c78ed472877b68fcd73d1897ec55c93e1ab54ec091ff610d81830152610220830152825180840184527f2ea062bff75d11a12093d42ce5851d45bd10b26ac3c9d816ae1c1170e56ecba381527f09192957ea04bd445344dc874f438c4a103706963008bd476fb82556471752dc81830152610240830152825180840184527f239e720916701764ce89e944cf654660ce313aa4a7cb351b987a8fa2d6079b8f81527f28e4af8957192373bbf5c0d473d1de3044bcd6c2b2e7bae8fdeb262f3d969c9081830152610260830152825180840184527f17fca8852abc0404c9b760bb6044433046a83185574d06da45d1b167cdff9ca781527f25ec9443a77f161e02d3609d969ed566b609bb82c29a7c9124edbc920d02ba4c81830152610280830152825180840184527f1b37d09c2e8b080f7966b67792ba47dab7db8e45ea81aaae7b1366b9bb66573481527f3036c0a3237a31a4b3c3bacc2fa02d03790dc976de030757222f35b88554429e818301526102a0830152825180840184527f1152a6434c97efee433dd3b5c5aebacffb8818db8f7885fbb5d260288f690cc881527f1187677d64693b0dc7f7403db19e964854de910a04042fb369769cd698309c98818301526102c0830152825180840184527f2ff3514c5433b18f20d818d0471403d1cfc600ca00f105a90911ecce0e6b193d81527f2e58eb6da5276e0bbb7146bfa4bf6d779930fa7ac489125e7b52492886fd9d91818301526102e0830152825180840184527f1e9b7f901c2f421848a8f767910e97bae2610a5cf8d2374ad23d92af01b518e081527f2bad6bcb3d9f783ea431a8df154b8aaec66157858623a87054ac5d4813bc6cbd81830152610300830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610320830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610340830152825180840184527f20db30b046148206e1ce5d50fe2559d2e60dbe3472bb605600c6e01d0965df8281527f0d5d5be706d7b3b8a7d3d02043ef0e324676187770f682c791ce1cd3deadc05881830152610360830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c8183015261038083015282518084018452600181526002818301526103a083015282518084019093527f28ec93da1d9477bf3c629a62449ff5a792f14a830ac6d9f193b1cbf1e5bb88c983527f1ccdcf64a69e7ed80d56d4db02ee55186505e601ead22cbd9d3c9b0b9f1ed49d908301526103c081019190915290565b5f6103336120a5838561587b565b612804565b6120b261550a565b60408051808201909152805f516020615a9b5f395f51905f526120d860205f8789615814565b6120e19161587b565b6120eb91906158ac565b81526020908101905f516020615a9b5f395f51905f5290612110906040908789615814565b6121199161587b565b61212391906158ac565b90529392505050565b612134615522565b5f6121428888888888613294565b6040860191909152602085019190915290835292506121618389613591565b6080850191909152606084019190915291989197509095505050505050565b612188615552565b5f612191615571565b8481526101008401805151602080840191909152905181015160408084019190915260a086018051516060850152518201516080840152516121f4916121d9918491016158bf565b60405160208183030381529060405280519060200120612804565b91506121ff82613618565b6020850152835260015b60026122176001601c6157ee565b61222191906158f2565b8110156122a15761223e836040516020016121d991815260200190565b925061224983613618565b856122558460026157d7565b601b81106122655761226561583b565b60200201866122758560026157d7565b612280906001615801565b601b81106122905761229061583b565b602002019190915252600101612209565b506122ae6001601c6157ee565b60011660011480156122cb575060026122c96001601c6157ee565b115b15612325576122e6826040516020016121d991815260200190565b91505f6122f283613618565b85600161230081601c6157ee565b61230a91906157ee565b601b811061231a5761231a61583b565b602002019190915250505b509250929050565b61233561558f565b5f61234c846040516020016121d991815260200190565b935061235784613618565b50825260015b838110156123b457612395836123746001846157ee565b601c81106123845761238461583b565b6020020151846114956001856157ee565b8382601c81106123a7576123a761583b565b602002015260010161235d565b509093915050565b6123c461558f565b5f805b83811015612486576123d76155ae565b8581525f5b60088110156124405787610120015183601c81106123fc576123fc61583b565b602002015181600881106124125761241261583b565b602002015182612423836001615801565b600981106124335761243361583b565b60200201526001016123dc565b50612455816040516020016121d99190615905565b95505f61246187613618565b8685601c81106124735761247361583b565b60200201919091525050506001016123c7565b5090949293505050565b5f5f61249a6155cd565b8381525f5b60298110156124ed5785610140015181602981106124bf576124bf61583b565b6020020151826124d0836001615801565b602a81106124e0576124e061583b565b602002015260010161249f565b50612502816040516020016121d99190615939565b91505f61250e83613618565b5096929550919350505050565b5f80806125296001856157ee565b6125349060026157d7565b61253f906001615801565b6001600160401b038111156125565761255661584f565b60405190808252806020026020018201604052801561257f578160200160208202803683370190505b50905084815f815181106125955761259561583b565b60209081029190910101525f5b6125ad6001866157ee565b8110156126605786610160015181601b81106125cb576125cb61583b565b602002015151826125dd8360026157d7565b6125e8906001615801565b815181106125f8576125f861583b565b60200260200101818152505086610160015181601b811061261b5761261b61583b565b6020020151602001518282600261263291906157d7565b61263d906002615801565b8151811061264d5761264d61583b565b60209081029190910101526001016125a2565b50612675816040516020016121d9919061596d565b91505f61268183613618565b509792965091945050505050565b5f808061269d846001615801565b6001600160401b038111156126b4576126b461584f565b6040519080825280602002602001820160405280156126dd578160200160208202803683370190505b50905084815f815181106126f3576126f361583b565b60209081029190910101525f5b848110156126605786610180015181601c811061271f5761271f61583b565b602002015182612730836001615801565b815181106127405761274061583b565b6020908102919091010152600101612700565b5f5f61275d6155ec565b8381526101a08501805151602080840191909152905181015160408084019190915251612502916121d9918491016159a2565b5f5f516020615abb5f395f51905f52825b0692915050565b5f5f516020615abb5f395f51905f5282840990505b92915050565b5f5f516020615abb5f395f51905f528284089392505050565b5f5f516020615abb5f395f51905f52825f516020615abb5f395f51905f520384089392505050565b5f5f516020615abb5f395f51905f52826127a1565b5f6103338361077b84612b63565b815160208301515f91829161283c91906127c3565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b600881101561292e576129248261077b87846127dc565b915060010161290d565b5061293761560a565b5f5b6008811015612998575f8482600881106129555761295561583b565b6020020151905061296a8161077b89856127dc565b905061297581612b63565b90508083836008811061298a5761298a61583b565b602002015250600101612939565b505f5b60088110156129eb575f8782600881106129b7576129b761583b565b602002015190506129d4818484600881106114a5576114a561583b565b90506129e086826127c3565b95505060010161299b565b506109b684836127a8565b5f5f612a0c60016107808561077b8960016127dc565b9050612a1884826127a8565b95945050505050565b5f612a2a61558f565b612a35868285613648565b612a41868683866137f4565b612a4d868683866139e0565b612a58868285613c0b565b612a63868285613dff565b612a6f86868386614148565b612a7a8682856145f4565b612a85868285614a06565b612a90868285614dc7565b6109b681856150c7565b60605f826001600160401b03811115612ab557612ab561584f565b604051908082528060200260200182016040528015612ade578160200160208202803683370190505b50905083815f81518110612af457612af461583b565b602090810291909101015260015b83811015612b5b57612b3682612b196001846157ee565b81518110612b2957612b2961583b565b6020026020010151612d43565b828281518110612b4857612b4861583b565b6020908102919091010152600101612b02565b509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f516020615abb5f395f51905f520360808201525f516020615abb5f395f51905f5260a082015260205f60c08360055afa80612bbf575f5ffd5b505f51608091909101604052949350505050565b5f516020615abb5f395f51905f520390565b60605f826001600160401b03811115612c0057612c0061584f565b604051908082528060200260200182016040528015612c29578160200160208202803683370190505b509050825b8015612d38575f85612c416001846157ee565b81518110612c5157612c5161583b565b602002602001015190505f89600184612c6a91906157ee565b601c8110612c7a57612c7a61583b565b602002015190505f612cd5612c99612c92858d6127a8565b60026127a8565b61079e8b612ca86001896157ee565b601c8110612cb857612cb861583b565b602002015161077b612ccf8861077b60018a6127dc565b876127dc565b9050612cf68161077b610b28612cf08761077b6001896127dc565b866127c3565b99508990508085612d086001876157ee565b81518110612d1857612d1861583b565b60200260200101818152505050505080612d31906159d5565b9050612c2e565b509695505050505050565b5f6127bd82836127a8565b612d5661550a565b5f612d827f00000000000000000000000000000000000000000000000000000000000000006024615801565b612d8d906002615801565b90505f5b81811015612dc357612dbb858281518110612dae57612dae61583b565b6020026020010151612fdb565b600101612d91565b50604051600190815b60018401811015612e285760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612dcc565b5080518452602081015160208501525080612e56576040516352ec174560e11b815260040160405180910390fd5b505092915050565b612e6661550a565b5f516020615a9b5f395f51905f5282602001515f516020615a9b5f395f51905f52612e9191906157ee565b612e9b91906158ac565b60208301525090565b5f5f5f612eb086612f1a565b91509150612ebc61560a565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e084015251612f0f916121d9918491016159ea565b979650505050505050565b612f2261550a565b612f2a61550a565b82516020808501516040860151606087015160cc90811b608892831b604494851b90961795909517949094178652608087015160a088015160c089015160e08a0151871b90841b91851b9092171717868401526101008701516101208801516101408901516101608a0151871b90841b91851b909217171785526101808701516101a08801516101c08901516101e09099015190951b9790911b9390911b1791909117939093179281019290925291565b805160208201515f5f516020615a9b5f395f51905f528380095f516020615a9b5f395f51905f5260035f516020615a9b5f395f51905f52838709085f516020615a9b5f395f51905f5284850914915050806130745760405162461bcd60e51b8152602060048201526019602482015278706f696e74206973206e6f74206f6e2074686520637572766560381b60448201526064016100e5565b50505050565b61308261550a565b61308a61550a565b6130948386615120565b9050612a188185615176565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516132369190615a1e565b5f60405180830381855afa9150503d805f811461326e576040519150601f19603f3d011682016040523d82523d5f602084013e613273565b606091505b50915091508180156109b65750808060200190518101906109b69190615a34565b5f808080806132a4866001615801565b6132af906006615801565b6001600160401b038111156132c6576132c661584f565b6040519080825280602002602001820160405280156132ef578160200160208202803683370190505b509050865f1b815f815181106133075761330761583b565b60209081029190910101525f5b61331f6010886157ee565b811015613370578989828181106133385761333861583b565b905060200201358282600161334d9190615801565b8151811061335d5761335d61583b565b6020908102919091010152600101613314565b505f5b60108110156133e1578a5161339b9082601081106133935761339361583b565b602002015190565b828260106133aa8b6001615801565b6133b491906157ee565b6133be9190615801565b815181106133ce576133ce61583b565b6020908102919091010152600101613373565b5060208a015151816133f4886001615801565b815181106134045761340461583b565b6020908102919091018101919091528a810151015181613425886001615801565b613430906001615801565b815181106134405761344061583b565b602090810291909101015260408a0151518161345d886001615801565b613468906002615801565b815181106134785761347861583b565b60209081029190910181019190915260408b015101518161349a886001615801565b6134a5906003615801565b815181106134b5576134b561583b565b602090810291909101015260608a015151816134d2886001615801565b6134dd906004615801565b815181106134ed576134ed61583b565b60209081029190910181019190915260608b015101518161350f886001615801565b61351a906005615801565b8151811061352a5761352a61583b565b60200260200101818152505061354a816040516020016121d9919061596d565b915061355582613618565b604080516020810186905292975090955061357091016121d9565b91505f61357c83613618565b50959b949a5094985090965091945050505050565b5f5f5f61359c615629565b85815260c0858101805151602080850191909152905181015160408085019190915260e08801805151606086015251820151608080860191909152880180515160a0860152518201519284019290925290516135fe916121d991849101615a53565b915061360982613618565b90979096509194509092505050565b5f80826001600160801b038116608082901c61363382612804565b945061363e81612804565b9350505050915091565b5f6136548460076151d7565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f6136b56136af6136898560036127dc565b61077b6136a46136998b5f6151d7565b61077b8c601d6151d7565b61077b8b601c6151d7565b836127a8565b905061373661372b6137126136f96136e0856107806136d58d60026151d7565b61077b8e601c6151d7565b6107806136ee8c60036151d7565b61077b8d601d6151d7565b6107806137078b60046151d7565b61077b8c601e6151d7565b6107806137208a60056151d7565b61077b8b601f6151d7565b6107808860016151d7565b90506137558161078061374a8660016127dc565b61077b8a60276151d7565b905061376181846127a8565b905061376d81856127a8565b8552505f90506137a761379d61379261378788601c6151d7565b61078089601f6151d7565b61079e8860246151d7565b610780875f6151d7565b90506137b88161077b8460026127dc565b90506137c98161077b8460016127dc565b90506137d581836127a8565b90506137e181846127a8565b9050808460015b60200201525050505050565b5f5f5f61382a61382061380889601c6151d7565b6107806138168b60126151d7565b8a606001516127a8565b87608001516127c3565b90506138638161077b6138596138418b601d6151d7565b61078061384f8d60136151d7565b8c606001516127a8565b89608001516127c3565b90506138888161077b61385961387a8b601e6151d7565b61078061384f8d60146151d7565b90506138ad8161077b61385961389f8b601f6151d7565b61078061384f8d60156151d7565b92505f90506138d16138206138c389601c6151d7565b6107806138168b600e6151d7565b90506138f68161077b6138596138e88b601d6151d7565b61078061384f8d600f6151d7565b905061391b8161077b61385961390d8b601e6151d7565b61078061384f8d60106151d7565b90506139408161077b6138596139328b601f6151d7565b61078061384f8d60116151d7565b91505f90506139676139616139568960206151d7565b6107808a601a6151d7565b846127a8565b905061399c8161079e61399661397e8b60286151d7565b61078061398c8d601b6151d7565b8c60a001516127a8565b856127a8565b90506139a881856127a8565b6040860152505f6139cb6139966139c089601b6151d7565b61077b8a60286151d7565b9050808560035b602002015250505050505050565b5f5f613a3e613a26613a0e6139f96138598a60166151d7565b610780613a078b60176151d7565b8a516127a8565b610780613a1c8a60186151d7565b89602001516127a8565b610780613a348960196151d7565b88604001516127a8565b91505f613a75613a5c613a5289601c6151d7565b88608001516127c3565b610780613a6a8a60036151d7565b61077b8b60246151d7565b90505f613a9e613a8689601d6151d7565b610780613a938b5f6151d7565b61077b8c60256151d7565b90505f613ac8613aaf8a601e6151d7565b610780613abd8c60016151d7565b61077b8d60266151d7565b9050613b07613aef613ae185610780868d5f01516127a8565b610780848c602001516127a8565b610780613afd8c60046151d7565b8b604001516127a8565b93505050505f613b1b6139618860216151d7565b90505f613b2c6139618960216151d7565b90505f613b64613b4b613b408b60236151d7565b6107808c60066151d7565b61079e613b598c60236151d7565b61077b8d60066151d7565b90505f613b88613b82613b7787896127a8565b61077b8d60216151d7565b836127dc565b9050613b9481886127a8565b90505f613bbc613bae613ba88d60066151d7565b876127a8565b61079e613ba88e60226151d7565b90505f613bca8c60236151d7565b90505f613bda613b8283846127a8565b60808c0185905260a08c018490529050613bf4818b6127a8565b8b6006602002015250505050505050505050505050565b5f613c175f60016127dc565b90505f613c255f60026127dc565b90505f613c335f60036127dc565b90505f613c4f613c4488601d6151d7565b61079e89601c6151d7565b90505f613c6b613c6089601e6151d7565b61079e8a601d6151d7565b90505f613c87613c7c8a601f6151d7565b61079e8b601e6151d7565b90505f613ca3613c988b60246151d7565b61079e8c601f6151d7565b905083613cb48161077b818b6127c3565b9050613cc48161077b878a6127c3565b9050613cd48161077b87896127c3565b9050613ce58161077b8d60086151d7565b9050613cf1818a6127a8565b60e08b01525082613d068161077b818b6127c3565b9050613d168161077b868a6127c3565b9050613d268161077b86896127c3565b9050613d378161077b8d60086151d7565b9050613d43818a6127a8565b6101008b01525081613d598161077b818b6127c3565b9050613d698161077b858a6127c3565b9050613d798161077b85896127c3565b9050613d8a8161077b8d60086151d7565b9050613d96818a6127a8565b6101208b01525080613dac8161077b818b6127c3565b9050613dbc8161077b848a6127c3565b9050613dcc8161077b84896127c3565b9050613ddd8161077b8d60086151d7565b9050613de9818a6127a8565b610140909a019990995250505050505050505050565b613e386040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613e4384601d6151d7565b8152613e5084601e6151d7565b6020820152613e608460246151d7565b6040820152613e708460276151d7565b6060820152613e808460266151d7565b6080820152613e908460256151d7565b60a08201525f613ea18560026151d7565b90505f613eae865f6151d7565b90505f613ec28460400151855f01516127dc565b90505f613ed7856020015186602001516127a8565b606086015190915086905f90613eed90806127a8565b90505f613f0b613f0589602001518a606001516127a8565b886127a8565b90505f613f2a613f238a60a001518b604001516127c3565b8a516127c3565b9050613f39613ba882886127a8565b9050613f60613f5a613f54613f4e84876127dc565b886127dc565b846127c3565b836127c3565b9050613f88613f7d613f7283876127a8565b61077b8f60096151d7565b61077b60018a6127dc565b6101608c015250505050602085015160808601515f91613fa7916127c3565b90505f613fc5613fbb8860600151886127a8565b88602001516127dc565b90505f613fe9613fd584876127a8565b6107806139968b60a001518c5f01516127dc565b9050614011614006613ffb838c6127a8565b61077b8e60096151d7565b61077b6001896127dc565b6101808b0152505f9150614032905061402b8360116127c3565b87516127a8565b90505f61403f83846127c3565b905061404b81826127c3565b90505f6140598360096127a8565b905061408261407c6139616140758b60a001518c5f01516127c3565b8b516127c3565b826127dc565b60c089018190525f9061409d90613f0590613f72908d6127a8565b90506140b08b600b6020020151826127c3565b6101608c0152505086515f92506140d7915061402b906140d090806127c3565b88516127c3565b90505f6141176140f28361077b8a5f01518b60a001516127dc565b602089015161079e9061410590806127c3565b61077b8b602001518c608001516127c3565b905061413489600c6020020151610780613f05613f72858d6127a8565b89600c602002015250505050505050505050565b6141b2604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6141ca6141c086601e6151d7565b85604001516127a8565b8082526141e9906107806141df88601d6151d7565b87602001516127a8565b8082526141fe9061078061402b88601c6151d7565b808252614210906107808760016151d7565b808252602082018190526142299061079e87601f6151d7565b81526142446142398660246151d7565b61079e87601c6151d7565b60808201526142626142578660276151d7565b61079e87601f6151d7565b6060820152608081015161427b9061077b8160016127dc565b6101c082015260808101516142bb906142b1906142aa9061077b60015f516020615abb5f395f51905f526157ee565b60016127c3565b82606001516127a8565b60a082018190526142f1906142e39061077b6142d88960026151d7565b61077b8a60036151d7565b61077b61399688600a6151d7565b83600e60200201526101c0810151614315906142e39061077b6142d88960026151d7565b6101e0840152805161433a9061077b61432f8860026151d7565b61077b8960036151d7565b6101208201525f61435961434f87601f6151d7565b83602001516127dc565b905061436a8161077b8360016127dc565b60e083015261438761437d8760266151d7565b86604001516127a8565b604083018190526143aa906107806143a08960256151d7565b88602001516127a8565b604083018190526143ca906107806143c38960246151d7565b88516127a8565b60408301526143e76143dd8760276151d7565b83604001516127dc565b60408301525f6144066143fb8860266151d7565b61079e89601e6151d7565b90506144586144336136af6142aa866080015160015f516020615abb5f395f51905f5261077b91906157ee565b61077b6142aa866040015160015f516020615abb5f395f51905f5261077b91906157ee565b60c0840152604083015161447a9061447090806127a8565b84604001516127dc565b61010084015260c08301516144a6906144989061077b8a60046151d7565b61077b613ba88a600a6151d7565b6102008601526101c08301516144c5906144989061077b8a60046151d7565b6102208601526101008301516144e4906144989061077b8a60046151d7565b61024086015260e08301516144fe9061077b8960046151d7565b61014084015261451d6145128860256151d7565b61079e89601d6151d7565b610160840152608083015161455b906143fb90614550906142aa9061077b60015f516020615abb5f395f51905f526157ee565b8561016001516127a8565b61018084018190526101208401516101a08501819052614592916107809061077b6145878c60056151d7565b61077b8d60026151d7565b6101a0840181905283516145b291906107809061077b6145878c5f6151d7565b6101a084018190526101408401516145ca91906127c3565b6101a084018190526145e49061077b613ba88a600a6151d7565b6101a0840181905285600d6139d2565b61462d6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61466261464961463e86601c6151d7565b61077b8760256151d7565b6107806146578760246151d7565b61077b88601d6151d7565b81526146a761469c61468361467887601c6151d7565b61077b88601f6151d7565b61078061469188601d6151d7565b61077b89601e6151d7565b61079e8660266151d7565b604082018190526146bc90600160441b6127a8565b604082018190526146d29061079e8660276151d7565b6040820181905281516146e591906127c3565b604082018190526146fb9061077b8660056151d7565b6040820152805161471090600160441b6127a8565b808252614730906107806147258760246151d7565b61077b8860256151d7565b808252602082018190526147579061079e61474c87601e6151d7565b61078088601f6151d7565b6020820181905261476d9061077b8660046151d7565b602082015280516060820181905261478a9061078086601f6151d7565b606082018190526147ae9061079e6147a38760266151d7565b6107808860276151d7565b606082018190526147c39061077b865f6151d7565b8160600181815250505f6147ec6147e2836020015184604001516127c3565b83606001516127c3565b90506147fd8161077b8760036151d7565b905061481561480d8660256151d7565b6140006127a8565b6080830181905261482b906107808760246151d7565b6080830181905261483e906140006127a8565b608083018190526148549061078087601e6151d7565b60808301819052614867906140006127a8565b6080830181905261487d9061078087601d6151d7565b60808301819052614890906140006127a8565b608083018190526148a69061078087601c6151d7565b608083018190526148bc9061079e87601f6151d7565b608083018190526148d29061077b8760056151d7565b60808301526148e561480d8660266151d7565b60a083018190526148fb906107808760256151d7565b60a0830181905261490e906140006127a8565b60a08301819052614924906107808760246151d7565b60a08301819052614937906140006127a8565b60a0830181905261494d9061078087601f6151d7565b60a08301819052614960906140006127a8565b60a083018190526149769061078087601e6151d7565b60a0830181905261498c9061079e8760276151d7565b60a083018190526149a19061077b875f6151d7565b60a0830181905260808301515f916149b991906127c3565b90506149ca8161077b8860046151d7565b90506149d682826127c3565b60c084018190526149ef9061077b613ba889600b6151d7565b60c084018190528560136020020152505050505050565b614a7c6040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b614a95614a8a85601c6151d7565b6107808660026151d7565b8152614ab0614aa585601d6151d7565b6107808660036151d7565b6020820152614ace614ac385601e6151d7565b6107808660046151d7565b6040820152614aec614ae185601f6151d7565b6107808660056151d7565b60608201528051614b1e90614b1790614b1090614b0990806127a8565b84516127a8565b83516127a8565b82516127a8565b60808201526020810151614b5c90614b5290614b4890614b3e90806127a8565b84602001516127a8565b83602001516127a8565b82602001516127a8565b60a08201526040810151614b9a90614b9090614b8690614b7c90806127a8565b84604001516127a8565b83604001516127a8565b82604001516127a8565b60c08201526060810151614bce906142b190614bc490614bba90806127a8565b84606001516127a8565b83606001516127a8565b60e0820152608081015160a0820151614be791906127c3565b61010082015260c081015160e0820151614c0191906127c3565b61012082015260a0810151614c2590614c1a90806127c3565b8261012001516127c3565b61014082015260e0810151614c4990614c3e90806127c3565b8261010001516127c3565b610160820152610120810151614c5f90806127c3565b6101e08201819052614c8090614c7590806127c3565b8261016001516127c3565b6101e0820152610100810151614c9690806127c3565b6101a08201819052614cb790614cac90806127c3565b8261014001516127c3565b6101a08201819052610160820151614cce916127c3565b6101808201526101408101516101e0820151614cea91906127c3565b6101c0820152614cfe6136af85600c6151d7565b6102008201819052610280840151610180830151614d29926107809161077b9061079e8a60246151d7565b8360146020020152614d59836015602002015161078083610200015161077b856101a0015161079e8a60256151d7565b8360156020020152614d89836016602002015161078083610200015161077b856101c0015161079e8a60266151d7565b8360166020020152614db9836017602002015161078083610200015161077b856101e0015161079e8a60276151d7565b836017602002015250505050565b614e196040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6040518060800160405280614e4e7f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e7612790565b8152602001614e7c7f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b612790565b8152602001614ea97e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac15612790565b8152602001614ed77f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b612790565b90529050614ef4614ee986601c6151d7565b6107808760026151d7565b6101208301819052614f3390614f2890614f1d90614f1290806127a8565b8561012001516127a8565b8461012001516127a8565b8361012001516127a8565b8252614f4085601d6151d7565b6020830152614f5085601e6151d7565b6040830152614f6085601f6151d7565b606083015281516020830151614f88916147e291614f7e91906127c3565b84604001516127c3565b6080830152614f9b61396186600d6151d7565b6101408301528151614fbc90614fb290835f6114a5565b83608001516127c3565b60a0830152614fe8846018602002015161078084610140015161077b8660a0015161079e8b60246151d7565b610300850152602082015161500390614fb2908360016114a5565b60c083015261502f846019602002015161078084610140015161077b8660c0015161079e8b60256151d7565b610320850152604082015161504a90614fb2908360026114a5565b60e083015261507684601a602002015161078084610140015161077b8660e0015161079e8b60266151d7565b610340850152606082015161509190614fb2908360036114a5565b6101008301526150bf84601b602002015161078084610140015161077b86610100015161079e8b60276151d7565b84601b6137e8565b815160015b601c8110156151195761510f826107808684601c81106150ee576150ee61583b565b6020020151866150ff6001876157ee565b601b81106114a5576114a561583b565b91506001016150cc565b5092915050565b61512861550a565b61513061550a565b604051835181526020840151602082015284604082015260408160608360075afa8061515a575f5ffd5b5080518252602080820151908301526060016040529392505050565b61517e61550a565b61518661550a565b6040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa806151bb575f5ffd5b5080518252602080820151908301526080016040529392505050565b5f828260288111156151eb576151eb615a86565b602981106151fb576151fb61583b565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f815260200161522d61550a565b815260200161523a61550a565b815260200161524761550a565b815260200161525461550a565b815260200161526161550a565b815260200161526e61550a565b815260200161527b61550a565b815260200161528861550a565b815260200161529561550a565b81526020016152a261550a565b81526020016152af61550a565b81526020016152bc61550a565b81526020016152c961550a565b81526020016152d661550a565b81526020016152e361550a565b81526020016152f061550a565b81526020016152fd61550a565b815260200161530a61550a565b815260200161531761550a565b815260200161532461550a565b815260200161533161550a565b815260200161533e61550a565b815260200161534b61550a565b815260200161535861550a565b815260200161536561550a565b815260200161537261550a565b815260200161537f61550a565b815260200161538c61550a565b905290565b604051806101e001604052806153a5615647565b81526020016153b261550a565b81526020016153bf61550a565b81526020016153cc61550a565b81526020016153d961550a565b81526020016153e661550a565b81526020016153f361550a565b815260200161540061550a565b815260200161540d61550a565b815260200161541a615666565b8152602001615427615694565b81526020016154346156b3565b815260200161537261558f565b604051806101000160405280615455615522565b8152602001615462615552565b815260200161546f61558f565b815260200161547c61558f565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806101c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020016154d86156e1565b81526020016154e56156e1565b81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b60405180604001604052805f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806103600160405280601b906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b61567e61560a565b8152602001906001900390816156765790505090565b6040518061052001604052806029906020820280368337509192915050565b604051806103600160405280601b905b6156cb61550a565b8152602001906001900390816156c35790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f60408587031215615712575f5ffd5b84356001600160401b03811115615727575f5ffd5b8501601f81018713615737575f5ffd5b80356001600160401b0381111561574c575f5ffd5b87602082840101111561575d575f5ffd5b6020918201955093508501356001600160401b0381111561577c575f5ffd5b8501601f8101871361578c575f5ffd5b80356001600160401b038111156157a1575f5ffd5b8760208260051b84010111156157b5575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176127bd576127bd6157c3565b818103818111156127bd576127bd6157c3565b808201808211156127bd576127bd6157c3565b5f5f85851115615822575f5ffd5b8386111561582e575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f60018201615874576158746157c3565b5060010190565b803560208310156127bd575f19602084900360031b1b1692915050565b634e487b7160e01b5f52601260045260245ffd5b5f826158ba576158ba615898565b500690565b5f8183825b60058110156158e35781518352602092830192909101906001016158c4565b50505060a08201905092915050565b5f8261590057615900615898565b500490565b5f8183825b600981101561592957815183526020928301929091019060010161590a565b5050506101208201905092915050565b5f8183825b602a81101561595d57815183526020928301929091019060010161593e565b5050506105408201905092915050565b81515f90829060208501835b82811015615997578151845260209384019390910190600101615979565b509195945050505050565b5f8183825b60038110156159c65781518352602092830192909101906001016159a7565b50505060608201905092915050565b5f816159e3576159e36157c3565b505f190190565b5f8183825b6008811015615a0e5781518352602092830192909101906001016159ef565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f60208284031215615a44575f5ffd5b81518015158114610333575f5ffd5b5f8183825b6007811015615a77578151835260209283019290910190600101615a58565b50505060e08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
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,2viCAA2viC,CAAC;AAC7xiC;;GAEG;AACH,eAAO,MAAM,0BAA0B,IAAc,CAAC"}
1
+ {"version":3,"file":"HonkVerifierBytecode.d.ts","sourceRoot":"","sources":["../src/HonkVerifierBytecode.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,oBAAoB,y37CAAy37C,CAAC;AAC357C;;GAEG;AACH,eAAO,MAAM,0BAA0B,IAAc,CAAC"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * HonkVerifier bytecode.
3
- */ export const HonkVerifierBytecode = "0x6080604052348015600e575f5ffd5b5061425e8061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b3660046140b9565b610054565b604051901515815260200160405180910390f35b5f7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016024600435017f153d8ddc7d258343c9e07201ea71a37b2b89f7082279fb36a36c528daa9efeeb5f5260248035016020609e02808260203780602001915061020083833761010061020084018261022001376102e0015f9081208490068082526001600160801b038082166143205260809190911c6143405260208220859006918290528116614360529050612bc08083611760375060c0611a2060205e8260e05f20069050805f526001600160801b03811691508060801c8261438052806143a052506080611ae060205e505060a05f908120829006908190526001600160801b03811661448052608081901c6144a0526144c0905b6147c08210156101a6578260205f20069050805f526001600160801b0381168160801c818452806020850152505060408201915061016d565b505060205f8181208390068082526001600160801b039081166147c052918120839006908190529081166147e052614800905b614b008210156101fa576020820351838182098352506020820191506101d9565b611b609150614b005b613460831015610240576101008360205e836101205f20069150815f526001600160801b0382168082525061010083019250602081019050610203565b5061052061346060205e826105405f20069050805f526001600160801b0381169150816143c05261060061398060205e826106205f20069050805f526001600160801b0381169150816143e052610320613f8060205e826103405f20069050805f526001600160801b0381169150816144005260406142a060205e505060605f208190066001600160801b031661442052614380516143a0516001808085808063100000018809860881600186018809945081858303870895506001945060248035016020609e0281015b80821015610348578135848110881697508485828608880996508485828b088709955050838984089250838985038908975060208201915061030b565b50506117605b6119608110156103835780518384828508870995508384828a088609945050828883089150828884038808965060200161034e565b505050826103975763803bff7c5f5260045ffd5b816144405280614460525f945060205f52602080526020604052806060525f51602061421e5f395f51905f526080528560a05260205f60c05f60055afa6103e557640f442f16325f5260045ffd5b5f519450508484820961444052505050507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec51610100526102d0610120527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff11610140526090610160527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff716101805260f06101a0527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd316101c0526113b06101e0526001615e40610200614b005f5b6019811015610679578151610100805188898a8508820980875260208801975088885289818a09985060208301925060208701965082519150898a5f5160206141be5f395f51905f5286088309905080875260208801975088885289818a09985060208301925060208701965082519150898a5f51602061421e5f395f51905f5286088309905080875260208801975088885289818a09985060208301925060208701965082519150898a5f5160206141fe5f395f51905f5286088309905080875260208801975088885289818a09985060208301925060208701965082519150898a5f51602061419e5f395f51905f5286088309905080875260208801975088885289818a09985060208301925060208701965082519150898a5f51602061417e5f395f51905f5286088309905080875260208801975088885289818a09985060208301925060208701965082519150898a5f51602061423e5f395f51905f5286088309905080875260208801975088885289818a09985060208301925060208701965082519150898a5f5160206141de5f395f51905f5286088309905080875260208801975088885289818a0998505050602094850194939093019250506001016104b1565b505060205f52602080526020604052826060525f51602061421e5f395f51905f526080528360a05260205f60c05f60055afa6106bc57640f442f16325f5260045ffd5b5f519250601f19015b6101e08111156106eb57838251840984825185099082529250601f1991820191016106c5565b50505060015f60016147e0611b60614b006102005f5b601981101561081e57825189602086015186510888149890981697808a805f5160206141be5f395f51905f528308820990508a8b5f51602061421e5f395f51905f528408820990508a8b5f5160206141fe5f395f51905f528408820990508a8b5f51602061419e5f395f51905f528408820990508a8b5f51602061417e5f395f51905f528408820990508a8b5f51602061423e5f395f51905f528408820990508a8b5f5160206141de5f395f51905f528408820990505f98505f5b60088110156107ea57865185518d8183099150508c818c089a505060209687019694909401936001016107bc565b508a818a0987519099505f190190508a80828409600108915050898188099650506020948501949290920191600101610701565b505050505082610835576407d06dd7fa5f5260045ffd5b6151c0526151a052506134a0516137e05182919009816134c0516138005109826134e05161382051098361350051613840510961354051857f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f800000087885f5160206141fe5f395f51905f52850889613460518b613800516137e05109090909868788898a858b08890887088508613480510895505085868788613840516137e051086138e0518a03086134605108875f51602061421e5f395f51905f528408099350858661394051885f5160206141be5f395f51905f5285080986089450856151c0518783880909945084614e205285865f5160206141be5f395f51905f5283088509945085818609945050505050816151c0518209614e405250614380516143a0516136c05183908190840982613800510101846136a0518509836137e051010109838461370051850983613840510101856136e051860984613820510101098481830985866136405187098561380051010187613620518809866137e051010109925085866136805187098561384051010187613660518809866138205101010991508582840994508581876137a05161386051080993508586868889614440516137c05109613960510809870385089350856151c0518509935083614e6052856151c05187613960516137c0510909935083614e8052505050505061432051614340516143605161438051506143a05184858561374051098683613720510808858684613780510987866137605109088681830887886138e0516134c0510989866137e051080892508788613900516134605109613800510891508788613920516134805109613820510893508788888409840896508788878609880896508788866134e051098808965087816138805109955087876138805109945087613520516138c0510893508788613520516138c05109890385089350876138805189838a09099650505050848186038508935050836151c051840992508382613520510991508384826138a05109850383089150506138c05183845f5160206141be5f395f51905f52830882099050836151c0518209905082614ea05281614ec05280614ee0525050505f5160206141be5f395f51905f525f51602061421e5f395f51905f525f5160206141fe5f395f51905f52836137e05185036138005108846138005186036138205108856138205187036138405108866138405188036138e0510883888989870882099050888988870882099050888987870882099050886135605182099050886151c0518209614f0052509192508291878088850885099350878887850885099350878886850885099350876135605185099350876151c0518509614f20529092508290878088840885099350878887840885099350878886840885099350876135605185099350876151c0518509614f4052925082878088830885099350878887830885099350878886830885099350876135605185099350876151c0518509935083614f605250505050505050806138005182036138e051088161382051613820510982613940516139405109836134a05185613940516138205109098485613800516138e05108613900510885858787840909905085838703820890508584870382089050858282089050858282089050856151c05182099250505083613580518209905083846134605186036001088209614f805250613920516138205184919008836134a05161394051098461382051860382089050848483099150848582876138005189036139005108098308915050836151c0518209905083613580518209905083846134605186036001088209614fa0525061380051839081601184080991508281820883818208905083600984099250838461380051613800510861390051088482820990508484860382089050846151c05182099350505082613460518461358051850909915082614f80518308614f80525050613800518190818181818008080981826139005184036138005108820990508182836139205161382051088461382051613820510809830382089050816151c0518209905081613460518361358051840909905081614fa0518208614fa052506143605161382051829190098182614340516138005109820890508182614320516137e05109820890508161348051820890508082613840518403830891508161526052826137e05184036138e0510883613840518503613940510884855f5160206141be5f395f51905f5284088309858684880360010883099150858687886151c0516135a051096134c051096134a051098309614fe052858687886151c0516135a051096134c051096134a0510982096150005285866134c0516134a051098609615240528561436051613920510994508586614340516139005109860894508586614320516138e05109860894508585870361394051089450856138205187036139205108915085868787890360010884098785890360010809915085848703613840510886875f5160206141be5f395f51905f5283088209905086875f5160206141be5f395f51905f5288088709955086876151c0516135a051096134e0510987818509615020528781840961504052878188096150605250866134e051820961522052505050836138005185036139005108925083613820518503858684880360010886090892506152405191508384856134a05161350051098509830891508384856134a051613460510961526051098308915083615220518308915083846151c0516135a051098309915081614fc0525050508081613800516138e0510982613900516137e051090881613920518303838461382051613800510985613840516137e05109080882600160441b82099050826139405184038208905082828208905082613500518209905082600160441b830991508283613900516138e0510983089150826134e051848561384051613820510886038508098361346051858661394051613920510887038761384051880808099250836134c05185858786860808096151e0525050613900518291506140009009816138e05182089050816140008209905081613820518208905081614000820990508161380051820890508161400082099050816137e0518208905081613840518303820890508161350051820990508161400061392051098261390051820890508261400082099050826138e0518208905082614000820990508261384051820890508261400082099050826138205182089050826139405184038208905082613460518209905082818308915050816134e0518209905081816151e05108905081826151c0516135c05109820961508052506134a0516137e05182919008816134c0516138005108826134e0516138205108836135005161384051088484850985868683098209945085848509905085868583098209935085838409905085868483098209925085828309905085868383098209915085848608905085828408945085848508935085858508935085828308925085818408925085858608945085858608945085838608945085818208915050848182089050848382089050848183089150848484089250846151c0516135e0510985866138e0518803850882096150a0528586613900518803840882096150c0528586613920518803860882096150e052858661394051880387088209615100525050505050806134a0516137e05108818182098283838309820991505061380051613820516138405184838508858683850882089050856151c05161360051098682887f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e7890908955086876138e051890388088209615120528682887f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b8809089550868761390051890388088209615140528682887e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac158709089550868761392051890388088209615160528682887f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b860908955086876139405189038808820961518052505050505050614e2051818261448051614e4051098208905081826144a051614e6051098208905081826144c051614e8051098208905081826144e051614ea0510982089050818261450051614ec0510982089050818261452051614ee0510982089050818261454051614f00510982089050818261456051614f20510982089050818261458051614f4051098208905081826145a051614f6051098208905081826145c051614f8051098208905081826145e051614fa0510982089050818261460051614fc0510982089050818261462051614fe051098208905081826146405161500051098208905081826146605161502051098208905081826146805161504051098208905081826146a05161506051098208905081826146c05161508051098208905081826146e0516150a05109820890508182614700516150c05109820890508182614720516150e051098208905081826147405161510051098208905081826147605161512051098208905081826147805161514051098208905081826147a05161516051098208905081826147c051615180510982086151a051149050806115a8576407d06dd7fa5f5260205ff35b506143e05161528081815260015b60198110156115d6576020820191508383840980835292506001016115b6565b5050506144205181615280518303820861010052816152805183038208610b005281615280518208610e205250610ae0615580614e0060195b801561164257815185868288036001088551098682820886525050601f19938401939283019291909101905f190161160f565b5050610b209150610e406152a09150614420515f5b60188110156116875783518681880384088652868184088452506020948501949384019390920191600101611657565b50505050506143e05180615e6052816107e0518209905080615e805281610800518209905080615ea05281610820518209905080615ec05281610840518209905080615ee05281610860518209905080615f005281610880518209905080615f2052816108a0518209905080615f4052816108c0518209905080615f6052816108e0518209905080615f805281610900518209905080615fa05281610920518209905080615fc05281610940518209905080615fe05281610960518209905080616000528161098051820990508061602052816109a051820990508061604052816109c051820990508061606052816109e05182099050806160805281610a005182099050806160a05281610a205182099050806160c05281610a405182099050806160e05281610a605182099050806161005281610a805182099050806161205281610aa05182099050806161405281610ac05182099050806161605281610ae05182099050806161805281610b005182099050806161a05281610b205182099050806161c05281610b405182099050806161e05281610b605182099050806162005281610b805182099050806162205281610ba05182099050806162405281610bc05182099050806162605281610be05182099050806162805281610c005182099050806162a05281610c205182099050806162c05281610c405182099050806162e05281610c605182099050806163005281610c805182099050806163205281610ca05182099050806163405281610cc05182099050806163605281610ce05182099050806163805281610d005182099050806163a05281610d205182099050806163c05281610d405182099050806163e05281610d605182099050806164005281610d805182099050806164205281610da05182099050806164405281610dc05182099050806164605281610de05182099050806164805281610e005182099050806164a05281610e205182099050806164c05281610e405182099050806164e05281610e605182099050806165005281610e805182099050806165205281610ea05182099050806165405281610ec05182099050806165605281610ee05182099050806165805281610f005182099050806165a05281610f205182099050806165c05281610f405182099050806165e05281610f605182099050806166005281610f805182099050806166205281610fa05182099050806166405281610fc05182099050806166605281610fe051820990508061668052816110005182099050806166a052816110205182099050806166c052816110405182099050806166e05281611060518209905080616700528161108051820990508061672052816110a051820990508061674052816110c051820990508061676052816110e051820990508061678052816111005182099050806167a05281611120518209905060205f52602080526020604052806060525f51602061421e5f395f51905f526080528160a05260205f60c05f60055afa611aeb57640f442f16325f5260045ffd5b5f519050816167a05182098261112051830991508061112052508161678051820982611100518309915080611100525081616760518209826110e05183099150806110e0525081616740518209826110c05183099150806110c0525081616720518209826110a05183099150806110a0525081616700518209826110805183099150806110805250816166e0518209826110605183099150806110605250816166c0518209826110405183099150806110405250816166a0518209826110205183099150806110205250816166805182098261100051830991508061100052508161666051820982610fe0518309915080610fe052508161664051820982610fc0518309915080610fc052508161662051820982610fa0518309915080610fa052508161660051820982610f80518309915080610f805250816165e051820982610f60518309915080610f605250816165c051820982610f40518309915080610f405250816165a051820982610f20518309915080610f2052508161658051820982610f00518309915080610f0052508161656051820982610ee0518309915080610ee052508161654051820982610ec0518309915080610ec052508161652051820982610ea0518309915080610ea052508161650051820982610e80518309915080610e805250816164e051820982610e60518309915080610e605250816164c051820982610e40518309915080610e405250816164a051820982610e20518309915080610e2052508161648051820982610e00518309915080610e0052508161646051820982610de0518309915080610de052508161644051820982610dc0518309915080610dc052508161642051820982610da0518309915080610da052508161640051820982610d80518309915080610d805250816163e051820982610d60518309915080610d605250816163c051820982610d40518309915080610d405250816163a051820982610d20518309915080610d2052508161638051820982610d00518309915080610d0052508161636051820982610ce0518309915080610ce052508161634051820982610cc0518309915080610cc052508161632051820982610ca0518309915080610ca052508161630051820982610c80518309915080610c805250816162e051820982610c60518309915080610c605250816162c051820982610c40518309915080610c405250816162a051820982610c20518309915080610c2052508161628051820982610c00518309915080610c0052508161626051820982610be0518309915080610be052508161624051820982610bc0518309915080610bc052508161622051820982610ba0518309915080610ba052508161620051820982610b80518309915080610b805250816161e051820982610b60518309915080610b605250816161c051820982610b40518309915080610b405250816161a051820982610b20518309915080610b2052508161618051820982610b00518309915080610b0052508161616051820982610ae0518309915080610ae052508161614051820982610ac0518309915080610ac052508161612051820982610aa0518309915080610aa052508161610051820982610a80518309915080610a805250816160e051820982610a60518309915080610a605250816160c051820982610a40518309915080610a405250816160a051820982610a20518309915080610a2052508161608051820982610a00518309915080610a00525081616060518209826109e05183099150806109e0525081616040518209826109c05183099150806109c0525081616020518209826109a05183099150806109a052508161600051820982610980518309915080610980525081615fe051820982610960518309915080610960525081615fc051820982610940518309915080610940525081615fa051820982610920518309915080610920525081615f8051820982610900518309915080610900525081615f60518209826108e05183099150806108e0525081615f40518209826108c05183099150806108c0525081615f20518209826108a05183099150806108a0525081615f0051820982610880518309915080610880525081615ee051820982610860518309915080610860525081615ec051820982610840518309915080610840525081615ea051820982610820518309915080610820525081615e8051820982610800518309915080610800525081615e60518209826107e05183099150806107e052505f5f610b0051610e2051614400518687838309840894508687888484098903850887099350505050600192505f8285039250818503915060016155a0526143c051858585096155c052858686613460510983089150858186099450858585096155e05285868661348051098308915085818609945085858509615600528586866134a051098308915085818609945085858509615620528586866134c051098308915085818609945085858509615640528586866134e051098308915085818609945085858509615660528586866135005109830891508581860994508585850961568052858686613520510983089150858186099450858585096156a052858686613540510983089150858186099450858585096156c052858686613560510983089150858186099450858585096156e05285868661358051098308915085818609945085858509615700528586866135a051098308915085818609945085858509615720528586866135c051098308915085818609945085858509615740528586866135e051098308915085818609945085858509615760528586866136005109830891508581860994508585850961578052858686613620510983089150858186099450858585096157a052858686613640510983089150858186099450858585096157c052858686613660510983089150858186099450858585096157e05285868661368051098308915085818609945085858509615800528586866136a051098308915085818609945085858509615820528586866136c051098308915085818609945085858509615840528586866136e051098308915085818609945085858509615860528586866137005109830891508581860994508585850961588052858686613720510983089150858186099450858585096158a052858686613740510983089150858186099450858585096158c052858686613760510983089150858186099450858585096158e05285868661378051098308915085818609945085858509615900528586866137a051098308915085818609945085858509615920528586866137c051098308915085818609945085858509615940528586866137e051098308915085818609945085858509615960528586866138005109830891508581860994508585850961598052858686613820510983089150858186099450858585096159a052858686613840510983089150858186099450858585096159c052858686613860510983089150858186099450858585096159e05285868661388051098308915085818609945085858509615a00528586866138a051098308915085818609945085858509615a20528586866138c051098308915085818609945085868685096159405108615940528586866138e05109830891508581860994508586868509615960510861596052858686613900510983089150858186099450858686850961598051086159805285868661392051098308915085818609945085868685096159a051086159a05285868661394051098308915085818609945085868685096159c051086159c0528586866139605109830891508581860994505080610760526155805f52614e00602052614280604052610ae0925061144091508060195b8015612682575f5151602051518889600286098309898a838c0360010884099250898a8b848d03860860405151098b03820890508988518209905080945080875250505060205f51035f52602080510360205260206040510360405260208503945060208403935060018103905061260f565b505050505081610b0051611140510961440051838485610e20518409613f8051098308915083818209809350610b205f52610e40602052613fa06040526111606144205150615a405f5b601881101561273f57875f515188098889602051518809890989828b03828c03088452896040515182099050898a8651840982089050898189089750505087848809965060205f51015f5260208051016020526020604051016040526020830192506020820191506001810190506126cc565b5050505050600192507f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd479150600160a0526142a0516142c05183828309858560038784870908868485091416955050505060406142a060605e60405f60608060075afa9250612f837f1e6982184c7c77eab4858505e3a872fe54b31442e82bd5786f9814acf3bdffa46110e0527f2e9fad25919ad37c1bc64e4fafcfb614948adf808a75a73f81d7d89dc20bade8611100527f10655bd5ce80bbc01b91605a37e0ef448375ee9292dd220614a2e7ae00ad0043611120527f049fa695f64039920cfc0c277c05d0391aa1b41e14442b2cb2a85079c0e15e98611140527f18b7e7a9bf19e63b724013953e1ce494e2fdf3772d11dc20c2da9346c62f2b24611160527f06d689413455024872a564f66ca5f54efb1143a6e6ddc2657fade9a123732f79611180527f14e9ab5a5ff02fad22541f858617c03ebe6ebe910be393a9cabf553ed5797ada6111a0527f23b50b2c05915e6fbb496b41b0658c0de6cbde6ef1ea89630da1b0547b091ef16111c0527f0e64701f29097e6058210d5a11c6b62e50254edeef14f098df10345e02b9447f611060527f113dca2ad0931410a5cf48cd04cd5de2dd2f155e4004d772890ba45a0ba397bd611080527f11a5511d5049745847cea657504b43dacc6cc37ccfbf01dc5e5c665f4564ce246110a0527f2d8148a4729b5e8d2256d5cb73b50855c1feaa6c56a451f5f35d5f51d66fb7196110c0527f107d2d79c20982125b9f302008ecbd7b7f25eebc71271311c28f58223170c78b6111e0527f0f3c9104533084fca88d92d900c94cb1400899b1c3c2b40cf32807f7d8517f47611200527f067f3d0407cdf93e2d5b851c21f6c061324e04b7976533ef3008699772be9e7c611220527f2cf8691c5b01619ddfd641fbdbb63f710e0615e78dbec30338f39924fc7286eb611240527f290a4bf217c97b0e6d537dad0e89d71e168ba649b38ff755fe4cd089231f8b1c611260527f2209a01962769ef2b967021a9d81022ea693d1e213877a105f3682c02dac32d6611280527f03c9ff5d7fb1aae2afd869d3b6dc181d21915652a9eee98ac51a33ccbd6688076112a0527f0204ec8e547db61bfe443eeba44a1b56061a45b096d5a5281e28a6a43a9db18b6112c0527f08de41e516b8d640bfdc60ab205f440db18bcb076cbd043544c8e948b28e2e316112e0527f1604cbaaa6de28db6e52e9c04f886440c854ae774a3c4f37ddc66639a537998d611300527f2ad312b344ad9b7c071b35eaadfced4cc6475ed636ebe4dd8421fa002483755e611320527f08d46c005e11207aa908e38e43d95741ac8c47423d56ae95be4181b2612d31e9611340527f2ea466a7b4854a628b9affa496387eda4a6d6aae746892165264396755b349ed611360527f2cd5501344f0a42e10b628b17c37640d4eba2889e5303d3561713abc9724541f611380527f2fbb73363c3824bbe5716400cb66cdc959aae2ac56ee5a5c9b9f0232b13f115f6113a0527f01c6fe456d6f83708ee7d11ace7fe7eb1b659bc99fc336ac027047104b6e86e16113c0527f0bb23a50bd61f459207d3d54875a51065b3caf7c92e61322733bd37777e8e15b6113e0527f15605b8c5adfd6007166d6659bd71fc88d3552c2c085cb07788e7a04ea9da7ac611400527f1d8e89d9565a9a207cef6c1d7bb2a57efc9dcf87fb81c4a30996ae865ac9ae49611420527f12040be06e5dd37332c5c019c89d25013c9eeb01b4ae8529ebb5e7619a4c1096611440527f0cddfea18cdb4f59a4344b765e4bc0ca3c3139826cc8c6632d545c32bae2c2ff611460527f24cb9eae040d66679ce7d59f675af97737d8a430df80e498f587c6f51f515271611480527f1227cdf41013db1d16854c70b48b4c01987d7d73bd05cfbac37e88d9ca0384786114a0527f0c623982d8667d497e9231ffed3e78bdff97c6606ff744875c237d0351c175e06114c0527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a6115e0527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b3856611600527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d366893611620527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c272611640527f20db30b046148206e1ce5d50fe2559d2e60dbe3472bb605600c6e01d0965df82611660527f0d5d5be706d7b3b8a7d3d02043ef0e324676187770f682c791ce1cd3deadc058611680527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f6116a0527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c6116c0527f2e13e07d78b81eeb6a1be85c700ed7320536de705e9a6e93dab50b07f6e1ad5e6114e0527f15d733d2b6e5778fe43122274f8e494055cd46c9d45665fd4bdf6317bab24d6f611500527f122facbb75bfca7738d27d43e922a0135f9e96845631d1671fdfa094706b4b61611520527f0a5d7a5233ab7e0ff283cb88501de8704935d12e1953329bfe4658b933b4c177611540527f15ef2b53bd940f1271ec33f4899d8014bbcc811a42dd76ad6108ef218deb9b72611560527f2e7ece9ce9c9b4bbdac85266a8dfc8fa1311e2441d9894918af251c0516a7a15611580527f2eeec2028e1345b8de3a098433e6720db4af6a34849ede5155c2604f0b93e16c6115a0527f1974cdc372f0cb4d3b117d5795851e342b71a7929cc5a6b842e133af1fb778eb6115c05260016116e0526002611700527f29fb23df55a82e52bc831bca3c8eb2be0d85b448221ba495f012341fb4689ea0611720527f04bff9f7c568949d03b2c76a93e736e9bf02a996d573b45ca760851f5fd8ec9561174052565b604061106060605e6155c05160a05260408060608060075afa8316925060405f60805f60065afa8316925060406110a060605e6155e05160a05260408060608060075afa8316925060405f60805f60065afa8316925060406110e060605e6156005160a05260408060608060075afa8316925060405f60805f60065afa83169250604061112060605e6156205160a05260408060608060075afa8316925060405f60805f60065afa83169250604061116060605e6156405160a05260408060608060075afa8316925060405f60805f60065afa8316925060406111a060605e6156605160a05260408060608060075afa8316925060405f60805f60065afa8316925060406111e060605e6156805160a05260408060608060075afa8316925060405f60805f60065afa83169250604061122060605e6156a05160a05260408060608060075afa8316925060405f60805f60065afa83169250604061126060605e6156c05160a05260408060608060075afa8316925060405f60805f60065afa8316925060406112a060605e6156e05160a05260408060608060075afa8316925060405f60805f60065afa8316925060406112e060605e6157005160a05260408060608060075afa8316925060405f60805f60065afa83169250604061132060605e6157205160a05260408060608060075afa8316925060405f60805f60065afa83169250604061136060605e6157405160a05260408060608060075afa8316925060405f60805f60065afa8316925060406113a060605e6157605160a05260408060608060075afa8316925060405f60805f60065afa8316925060406113e060605e6157805160a05260408060608060075afa8316925060405f60805f60065afa83169250604061142060605e6157a05160a05260408060608060075afa8316925060405f60805f60065afa83169250604061146060605e6157c05160a05260408060608060075afa8316925060405f60805f60065afa8316925060406114a060605e6157e05160a05260408060608060075afa8316925060405f60805f60065afa8316925060406114e060605e6158005160a05260408060608060075afa8316925060405f60805f60065afa83169250604061152060605e6158205160a05260408060608060075afa8316925060405f60805f60065afa83169250604061156060605e6158405160a05260408060608060075afa8316925060405f60805f60065afa8316925060406115a060605e6158605160a05260408060608060075afa8316925060405f60805f60065afa8316925060406115e060605e6158805160a05260408060608060075afa8316925060405f60805f60065afa83169250604061162060605e6158a05160a05260408060608060075afa8316925060405f60805f60065afa83169250604061166060605e6158c05160a05260408060608060075afa8316925060405f60805f60065afa8316925060406116a060605e6158e05160a05260408060608060075afa8316925060405f60805f60065afa8316925060406116e060605e6159005160a05260408060608060075afa8316925060405f60805f60065afa83169250604061172060605e6159205160a05260408060608060075afa8316925060405f60805f60065afa831692506119605161198051838283098585600387848709088684850914169550505050604061196060605e6159405160a05260408060608060075afa8316925060405f60805f60065afa831692506119a0516119c05183828309858560038784870908868485091416955050505060406119a060605e6159605160a05260408060608060075afa8316925060405f60805f60065afa831692506119e051611a005183828309858560038784870908868485091416955050505060406119e060605e6159805160a05260408060608060075afa8316925060405f60805f60065afa83169250611aa051611ac0518382830985856003878487090886848509141695505050506040611aa060605e6159a05160a05260408060608060075afa8316925060405f60805f60065afa83169250611b2051611b40518382830985856003878487090886848509141695505050506040611b2060605e6159c05160a05260408060608060075afa8316925060405f60805f60065afa83169250611ae051611b00518382830985856003878487090886848509141695505050506040611ae060605e6159e05160a05260408060608060075afa8316925060405f60805f60065afa83169250611a2051611a40518382830985856003878487090886848509141695505050506040611a2060605e615a005160a05260408060608060075afa8316925060405f60805f60065afa83169250611a6051611a80518382830985856003878487090886848509141695505050506040611a6060605e615a205160a05260408060608060075afa8316925060405f60805f60065afa83169250613980516139a051838283098585600387848709088684850914169550505050604061398060605e615a405160a05260408060608060075afa8316925060405f60805f60065afa831692506139c0516139e05183828309858560038784870908868485091416955050505060406139c060605e615a605160a05260408060608060075afa8316925060405f60805f60065afa83169250613a0051613a20518382830985856003878487090886848509141695505050506040613a0060605e615a805160a05260408060608060075afa8316925060405f60805f60065afa83169250613a4051613a60518382830985856003878487090886848509141695505050506040613a4060605e615aa05160a05260408060608060075afa8316925060405f60805f60065afa83169250613a8051613aa0518382830985856003878487090886848509141695505050506040613a8060605e615ac05160a05260408060608060075afa8316925060405f60805f60065afa83169250613ac051613ae0518382830985856003878487090886848509141695505050506040613ac060605e615ae05160a05260408060608060075afa8316925060405f60805f60065afa83169250613b0051613b20518382830985856003878487090886848509141695505050506040613b0060605e615b005160a05260408060608060075afa8316925060405f60805f60065afa83169250613b4051613b60518382830985856003878487090886848509141695505050506040613b4060605e615b205160a05260408060608060075afa8316925060405f60805f60065afa83169250613b8051613ba0518382830985856003878487090886848509141695505050506040613b8060605e615b405160a05260408060608060075afa8316925060405f60805f60065afa83169250613bc051613be0518382830985856003878487090886848509141695505050506040613bc060605e615b605160a05260408060608060075afa8316925060405f60805f60065afa83169250613c0051613c20518382830985856003878487090886848509141695505050506040613c0060605e615b805160a05260408060608060075afa8316925060405f60805f60065afa83169250613c4051613c60518382830985856003878487090886848509141695505050506040613c4060605e615ba05160a05260408060608060075afa8316925060405f60805f60065afa83169250613c8051613ca0518382830985856003878487090886848509141695505050506040613c8060605e615bc05160a05260408060608060075afa8316925060405f60805f60065afa83169250613cc051613ce0518382830985856003878487090886848509141695505050506040613cc060605e615be05160a05260408060608060075afa8316925060405f60805f60065afa83169250613d0051613d20518382830985856003878487090886848509141695505050506040613d0060605e615c005160a05260408060608060075afa8316925060405f60805f60065afa83169250613d4051613d60518382830985856003878487090886848509141695505050506040613d4060605e615c205160a05260408060608060075afa8316925060405f60805f60065afa83169250613d8051613da0518382830985856003878487090886848509141695505050506040613d8060605e615c405160a05260408060608060075afa8316925060405f60805f60065afa83169250613dc051613de0518382830985856003878487090886848509141695505050506040613dc060605e615c605160a05260408060608060075afa8316925060405f60805f60065afa83169250613e0051613e20518382830985856003878487090886848509141695505050506040613e0060605e615c805160a05260408060608060075afa8316925060405f60805f60065afa83169250613e4051613e60518382830985856003878487090886848509141695505050506040613e4060605e615ca05160a05260408060608060075afa8316925060405f60805f60065afa83169250613e8051613ea0518382830985856003878487090886848509141695505050506040613e8060605e615cc05160a05260408060608060075afa8316925060405f60805f60065afa83169250613ec051613ee0518382830985856003878487090886848509141695505050506040613ec060605e615ce05160a05260408060608060075afa8316925060405f60805f60065afa83169250613f0051613f20518382830985856003878487090886848509141695505050506040613f0060605e615d005160a05260408060608060075afa8316925060405f60805f60065afa83169250613f4051613f60518382830985856003878487090886848509141695505050506040613f4060605e615d205160a05260408060608060075afa8316925060405f60805f60065afa83169250600160605260026080528060a05260408060608060075afa8316925060405f60805f60065afa831692506142e0516143005183828309858560038784870908868485091416955050505060406142e060605e6144205160a05260408060608060075afa8316925060405f60805f60065afa8316925082613e1e57640fef01a9a45f5260045ffd5b6142e05160c05261430051820360e05260405f60805e61176051806117805160441b179050806117a05160881b179050806117c05160cc1b1790506117e051806118005160441b179050806118205160881b179050806118405160cc1b17905061186051806118805160441b179050806118a05160881b179050806118c05160cc1b1790506118e051806119005160441b179050806119205160881b179050806119405160cc1b179050858485098685820987858609886003830881148986870993508986850992508985860991508960038408821481169050875f528660205285604052846060526101005f209650875f528660405260405f60605f60075afa1660406080815e60405f60805f60065afa811690508560405284606052866080526040806060604060075afa16604060c060805e604060c06080604060065afa7f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26040527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6060527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6080527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60a0527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c1610100527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b0610120527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe4610140527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e55610160521660205f6101808160085afa81169750505050505050505f5181166140af57640d71fd26345f5260045ffd5b5060015f5260205ff35b5f5f5f5f604085870312156140cc575f5ffd5b84356001600160401b038111156140e1575f5ffd5b8501601f810187136140f1575f5ffd5b80356001600160401b03811115614106575f5ffd5b876020828401011115614117575f5ffd5b6020918201955093508501356001600160401b03811115614136575f5ffd5b8501601f81018713614146575f5ffd5b80356001600160401b0381111561415b575f5ffd5b8760208260051b840101111561416f575f5ffd5b94979396506020019450505056fe30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffffc30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffffd30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000030644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffffa30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffffe30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffffff30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffffb";
3
+ */ export const HonkVerifierBytecode = "0x610100604052348015610010575f5ffd5b506302000000608052601960a0527f0d6d047502a412e33d6a834eb5f665a6d96bcb00f7d80237d895cdedec004a9960c05260ae60e05260805160a05160c05160e051615adb6100de5f395f818161018101526107ae01525f61016001525f8181605b01528181609401528181610101015281816101a2015281816108c7015281816109d401528181610a0001528181610a7a015281816112bb0152818161135b01528181611598015281816115e401528181611632015281816116890152612d5c01525f5050615adb5ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b3660046156ff565b610054565b604051901515815260200160405180910390f35b5f5f61007f7f000000000000000000000000000000000000000000000000000000000000000061028c565b905061008c8160206157d7565b85146100ee577f0000000000000000000000000000000000000000000000000000000000000000856100bf8360206157d7565b6040516359895a5360e01b81526004810193909352602483019190915260448201526064015b60405180910390fd5b5f6100f761033a565b90505f61012588887f000000000000000000000000000000000000000000000000000000000000000061034f565b90506010826040015161013891906157ee565b85146101575760405163fa06659360e01b815260040160405180910390fd5b5f6101c68288887f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006106a6565b90506102168787808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505085518551606081015160809091015191935091506001610758565b815160a001525f61022783836108bf565b905080610247576040516313f8744360e31b815260040160405180910390fd5b5f6102538486856109c0565b905080610273576040516352ec174560e11b815260040160405180910390fd5b81801561027d5750805b9b9a5050505050505050505050565b5f8061029a600260086157d7565b905060016102a96008856157d7565b6102b391906157d7565b6102bd9082615801565b90506102cb600160296157d7565b6102d59082615801565b905060026102e46001856157ee565b6102ee91906157d7565b6102f89082615801565b90506103056001846157d7565b61030f9082615801565b905061031c6002806157d7565b6103269082615801565b9050610333601082615801565b9392505050565b610342615207565b61034a61175b565b905090565b610357615391565b5f805b60108110156103b957610386868387610374602083615801565b9261038193929190615814565b612097565b835182601081106103995761039961583b565b6020020181815250506020826103af9190615801565b915060010161035a565b506103dd8582866103cb604083615801565b926103d893929190615814565b6120aa565b60208301526103ed604082615801565b90506104008582866103cb604083615801565b6040808401919091526104139082615801565b90506104268582866103cb604083615801565b6060830152610436604082615801565b90506104498582866103cb604083615801565b60c0830152610459604082615801565b905061046c8582866103cb604083615801565b60e083015261047c604082615801565b905061048f8582866103cb604083615801565b608083015261049f604082615801565b90506104b28582866103cb604083615801565b6101008301526104c3604082615801565b90506104d68582866103cb604083615801565b60a08301526104e6604082615801565b90505f5b83811015610564575f5b600881101561055b5761050e878488610374602083615801565b84610120015183601c81106105255761052561583b565b6020020151826008811061053b5761053b61583b565b6020020181815250506020836105519190615801565b92506001016104f4565b506001016104ea565b505f5b60298110156105b857610581868387610374602083615801565b83610140015182602981106105985761059861583b565b6020020181815250506020826105ae9190615801565b9150600101610567565b505f5b6105c66001856157ee565b81101561060f576105de8683876103cb604083615801565b83610160015182601b81106105f5576105f561583b565b6020020152610605604083615801565b91506001016105bb565b505f5b838110156106625761062b868387610374602083615801565b83610180015182601c81106106425761064261583b565b6020020181815250506020826106589190615801565b9150600101610612565b506106748582866103cb604083615801565b6101a0830152610685604082615801565b90506106988582866103cb604083615801565b6101c0830152509392505050565b6106ae615441565b5f6106bd88888888888661212c565b90835290506106cc8189612180565b602084019190915290506106e0818461232d565b604084019190915290506106f58882856123bc565b606084019190915290506107098882612490565b6080840191909152905061071e88828561251b565b60a0840191909152905061073388828561268f565b60c084019190915290506107478882612753565b5060e0830152509695505050505050565b5f60018082610785866107808961077b6107768a6310000000615801565b612790565b6127a8565b6127c3565b90505f6107a38761079e8a61077b6107768b6001615801565b6127dc565b90505f5b6107d260107f00000000000000000000000000000000000000000000000000000000000000006157ee565b81101561083f575f6107fc8c83815181106107ef576107ef61583b565b6020026020010151612804565b905061080c8661077b86846127c3565b955061081c8561077b85846127c3565b9450610828848b6127c3565b9350610834838b6127dc565b9250506001016107a7565b505f5b60108110156108a6575f8a826010811061085e5761085e61583b565b602002015190506108738661077b86846127c3565b95506108838561077b85846127c3565b945061088f848b6127c3565b935061089b838b6127dc565b925050600101610842565b506108b18484612819565b9a9950505050505050505050565b5f806001815b7f0000000000000000000000000000000000000000000000000000000000000000811015610996575f86610120015182601c81106109055761090561583b565b602002015190505f6109178286612827565b905080610937576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c811061094e5761094e61583b565b6020020151905061095f8382612847565b9550610986886040015185601c811061097a5761097a61583b565b602002015186836129f6565b94505050508060010190506108c5565b505f6109b0866101400151865f0151876020015185612a21565b90508281145b9695505050505050565b5f6109c961549a565b5f6109f88460a001517f0000000000000000000000000000000000000000000000000000000000000000612a9a565b90505f610a267f00000000000000000000000000000000000000000000000000000000000000006024615801565b610a31906002615801565b6001600160401b03811115610a4857610a4861584f565b604051908082528060200260200182016040528015610a71578160200160208202803683370190505b5090505f610aa07f00000000000000000000000000000000000000000000000000000000000000006024615801565b610aab906002615801565b6001600160401b03811115610ac257610ac261584f565b604051908082528060200260200182016040528015610afb57816020015b610ae861550a565b815260200190600190039081610ae05790505b509050610b2d610b288760e00151855f81518110610b1b57610b1b61583b565b60200260200101516127dc565b612b63565b84610120018181525050610b61610b288760e00151855f81518110610b5457610b5461583b565b60200260200101516127c3565b610140850181905261012085015160c0880151610b829261078091906127a8565b845260a0860151610bb290610b9690612b63565b61077b86610120015161079e8a60c001518961014001516127a8565b6020850152815160019083905f90610bcc57610bcc61583b565b602002602001018181525050876101a00151815f81518110610bf057610bf061583b565b6020908102919091010152600160a08501525f60c08501528351610c1390612bd3565b60408501526020840151610c2690612bd3565b606085015260015b60248111610cd157610c4885604001518660a001516127a8565b838281518110610c5a57610c5a61583b565b602002602001018181525050610ca38560c001516107808b6101400151600185610c8491906157ee565b60298110610c9457610c9461583b565b60200201518860a001516127a8565b60c086015260a08501516080880151610cbc91906127a8565b60a0860152610cca81615863565b9050610c2e565b505f5b6005811015610d9f575f610ce9601d83615801565b90505f610cf7602484615801565b9050610d28858381518110610d0e57610d0e61583b565b602002602001015161078089606001518a60a001516127a8565b858381518110610d3a57610d3a61583b565b602002602001018181525050610d778760c001516107808d61014001518460298110610d6857610d6861583b565b60200201518a60a001516127a8565b60c088015260a087015160808a0151610d9091906127a8565b60a08801525050600101610cd4565b50866060015181600181518110610db857610db861583b565b6020026020010181905250866080015181600281518110610ddb57610ddb61583b565b60200260200101819052508660a0015181600381518110610dfe57610dfe61583b565b60200260200101819052508660c0015181600481518110610e2157610e2161583b565b60200260200101819052508660e0015181600581518110610e4457610e4461583b565b602002602001018190525086610100015181600681518110610e6857610e6861583b565b602002602001018190525086610120015181600781518110610e8c57610e8c61583b565b602002602001018190525086610140015181600881518110610eb057610eb061583b565b602002602001018190525086610160015181600981518110610ed457610ed461583b565b6020026020010181905250866101c0015181600a81518110610ef857610ef861583b565b602002602001018190525086610180015181600b81518110610f1c57610f1c61583b565b6020026020010181905250866101a0015181600c81518110610f4057610f4061583b565b6020026020010181905250866101e0015181600d81518110610f6457610f6461583b565b602002602001018190525086610200015181600e81518110610f8857610f8861583b565b602002602001018190525086610220015181600f81518110610fac57610fac61583b565b602002602001018190525086610240015181601081518110610fd057610fd061583b565b602002602001018190525086610260015181601181518110610ff457610ff461583b565b6020026020010181905250866102800151816012815181106110185761101861583b565b6020026020010181905250866102a001518160138151811061103c5761103c61583b565b6020026020010181905250866102c00151816014815181106110605761106061583b565b6020026020010181905250866102e00151816015815181106110845761108461583b565b6020026020010181905250866103000151816016815181106110a8576110a861583b565b6020026020010181905250866103200151816017815181106110cc576110cc61583b565b6020026020010181905250866103400151816018815181106110f0576110f061583b565b6020026020010181905250866103600151816019815181106111145761111461583b565b602002602001018190525086610380015181601a815181106111385761113861583b565b6020026020010181905250866103a0015181601b8151811061115c5761115c61583b565b6020026020010181905250866103c0015181601c815181106111805761118061583b565b6020026020010181905250876020015181601d815181106111a3576111a361583b565b6020026020010181905250876040015181601e815181106111c6576111c661583b565b6020026020010181905250876060015181601f815181106111e9576111e961583b565b602002602001018190525087608001518160208151811061120c5761120c61583b565b60200260200101819052508760a001518160218151811061122f5761122f61583b565b6020026020010181905250876101000151816022815181106112535761125361583b565b60200260200101819052508760c00151816023815181106112765761127661583b565b60200260200101819052508760e00151816024815181106112995761129961583b565b60200260200101819052505f6112df87606001518660c001518b6101800151877f0000000000000000000000000000000000000000000000000000000000000000612be5565b9050611309815f815181106112f6576112f661583b565b60200260200101518661012001516127a8565b608086018190526101808a01515160c089015161133a92916107809161132f91906127a8565b8861014001516127a8565b608086015260c087015161134d90612d43565b60a08601525f5b61137f60017f00000000000000000000000000000000000000000000000000000000000000006157ee565b81101561157c576113af610b288960e001518784600161139f9190615801565b81518110610b1b57610b1b61583b565b61012087015260e08801516113de90610b2890876113ce856001615801565b81518110610b5457610b5461583b565b61014087015260a08601516101208701516113f991906127a8565b61016087015260a086015160c089015161142191611416916127a8565b8761014001516127a8565b61018087018190526114449061143690612bd3565b610780886101600151612bd3565b848261145260246001615801565b61145c9190615801565b8151811061146c5761146c61583b565b6020026020010181815250505f6114af8761018001518c61018001518460016114959190615801565b601c81106114a5576114a561583b565b60200201516127a8565b90506114e981610780896101600151868660016114cc9190615801565b815181106114dc576114dc61583b565b60200260200101516127a8565b90506114f98760800151826127c3565b608088015260a087015160c08a015161151f91611515916127a8565b8a60c001516127a8565b60a08801526101608b015182601b811061153b5761153b61583b565b6020020151848361154e60246001615801565b6115589190615801565b815181106115685761156861583b565b602090810291909101015250600101611354565b50604080518082019091526001815260026020820152826115be7f00000000000000000000000000000000000000000000000000000000000000006024615801565b815181106115ce576115ce61583b565b602090810291909101015260808501518361160a7f00000000000000000000000000000000000000000000000000000000000000006024615801565b8151811061161a5761161a61583b565b60209081029190910101526101c089015180836116587f00000000000000000000000000000000000000000000000000000000000000006024615801565b611663906001615801565b815181106116735761167361583b565b602090810291909101015260e0880151846116af7f00000000000000000000000000000000000000000000000000000000000000006024615801565b6116ba906001615801565b815181106116ca576116ca61583b565b6020026020010181815250505f6116e18486612d4e565b90505f6116ed83612e5e565b90505f6116fe8d5f01518484612ea4565b90505f5f61170e8f5f0151612f1a565b9150915061171b82612fdb565b61172481612fdb565b61172f85838561307a565b945061173c84828561307a565b935061174885856130a0565b9f9e505050505050505050505050505050565b611763615207565b50604080516103e08101825263020000008152601960208083019190915260ae82840152825180840184527f092217157df2a58cf8eb9eb7656cef1a6e079abe46a889372bc0b4fc7aefeca081527f022f91fddbdf16145b2d631f70e9cb03b0dcd42d94f20b924438ba684e7d3a49818301526060830152825180840184527f11e2c352dfeae94c97786c35393a4e0cf17ad4f65e5817635ad364cc2a16157f81527f11aa10d221cabca9c7e768975d3a199ce245dcdb0bc99c025bd11bb7a9d8f292818301526080830152825180840184527f1d0ba5bba13f1e6617cd3aec64648aef8c675e9038c8db45ae9ac8b4c5c922db81527f211d0e8afc62ae788dee8b1bc85aa8261ed451087e91a3a27f93c8d16c55c4a98183015260a0830152825180840184527f0f4faeb4f22a6ed96a02e438dbf26f7763622b8c08abec43aa8d32d49002f03d81527f0fd6b6cfdcf87f34a9f865d494831a3d79339f7b8e7a0cca6c91c569ce7a38e88183015260c0830152825180840184527f18ec8e768458416a1146b410694fc32b642eded60a1ee63a8ede4c3e498dc14281527f2b55f835e424b8f0c88bf201573cca1ac5b95a3b2af7b0f110a02071aaf835518183015260e0830152825180840184527f2c33daaff21a1f39c17c2447e4e5493108651678eeec58f8e81e179fc9d48ecd81527f203cb690bd3d92cb8c06f9232ba1705e6b1340e1360e78f062affc4d88346fde81830152610100830152825180840184527f107d2d79c20982125b9f302008ecbd7b7f25eebc71271311c28f58223170c78b81527f0f3c9104533084fca88d92d900c94cb1400899b1c3c2b40cf32807f7d8517f4781830152610120830152825180840184527f1d7a9d11311bbed453b2d82296942cb68f9b3a6ff543ad139c88dbde1b95b6f981527f227f7e5bc5c4cac1e182ea82c390cbe8adeb6edbf1d3ae4d1ff20a984e39038e81830152610140830152825180840184527f068563a75a011d4a637e0a6bbe23aea087b1bb44ac8cbb98c4c54cb61b871bc181527f1133ac5a7ffe4d3d32a2aa5d55dfcc77b906fd9b4401cdf5158766b1f13f57d881830152610160830152825180840184527f13dc315664b27a3f987c62b5b9256baf48982588eb4e6c24db7387190cf74b5881527f01fe93352a5177a7bf17e2bce0add7422a37532b4459e9505a13d1efa7d2c94c81830152610180830152825180840184527f20f0c88fec8e7d558236536a61950c8052c97b05a4feda9e5e8a87c6fa7c4bb081527f167db789de670adb97b2f336bc43966f18576e912f966fdc406a326feee36630818301526101a0830152825180840184527f1c46b5f5e601e0a64ff18b9192efa2c204befab38e377c504d50c5e2917f051781527f01f0f3b5033eed1e7013dfd3dee5388755cb4c87a81db920b10a52467d3d17fc818301526101c0830152825180840184527f205842429fa02455f00e9cd752f38d5f87ae5378614abe09bf42c79301380a0a81527f0248eadebd29ad0a5a2ca8cfe12bacd819fd605f9911888011829826f81ca6d4818301526101e0830152825180840184527f18ac2c7852d9d043ddb9ae1037dc85acaf1fcbe170f9a7f33a2a84284df786e181527f03bab9c0187d31a4b68ad05962d3ed091e87d711d44c9c666b57337180ce4afd81830152610200830152825180840184527f07aa8c9dc389d24e236ee040deea5c117ca2f8d535c5901b45ff83a6461c3ca781527f2dd15c22016e91a9c78ed472877b68fcd73d1897ec55c93e1ab54ec091ff610d81830152610220830152825180840184527f2ea062bff75d11a12093d42ce5851d45bd10b26ac3c9d816ae1c1170e56ecba381527f09192957ea04bd445344dc874f438c4a103706963008bd476fb82556471752dc81830152610240830152825180840184527f239e720916701764ce89e944cf654660ce313aa4a7cb351b987a8fa2d6079b8f81527f28e4af8957192373bbf5c0d473d1de3044bcd6c2b2e7bae8fdeb262f3d969c9081830152610260830152825180840184527f17fca8852abc0404c9b760bb6044433046a83185574d06da45d1b167cdff9ca781527f25ec9443a77f161e02d3609d969ed566b609bb82c29a7c9124edbc920d02ba4c81830152610280830152825180840184527f1b37d09c2e8b080f7966b67792ba47dab7db8e45ea81aaae7b1366b9bb66573481527f3036c0a3237a31a4b3c3bacc2fa02d03790dc976de030757222f35b88554429e818301526102a0830152825180840184527f1152a6434c97efee433dd3b5c5aebacffb8818db8f7885fbb5d260288f690cc881527f1187677d64693b0dc7f7403db19e964854de910a04042fb369769cd698309c98818301526102c0830152825180840184527f2ff3514c5433b18f20d818d0471403d1cfc600ca00f105a90911ecce0e6b193d81527f2e58eb6da5276e0bbb7146bfa4bf6d779930fa7ac489125e7b52492886fd9d91818301526102e0830152825180840184527f1e9b7f901c2f421848a8f767910e97bae2610a5cf8d2374ad23d92af01b518e081527f2bad6bcb3d9f783ea431a8df154b8aaec66157858623a87054ac5d4813bc6cbd81830152610300830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610320830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610340830152825180840184527f20db30b046148206e1ce5d50fe2559d2e60dbe3472bb605600c6e01d0965df8281527f0d5d5be706d7b3b8a7d3d02043ef0e324676187770f682c791ce1cd3deadc05881830152610360830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c8183015261038083015282518084018452600181526002818301526103a083015282518084019093527f28ec93da1d9477bf3c629a62449ff5a792f14a830ac6d9f193b1cbf1e5bb88c983527f1ccdcf64a69e7ed80d56d4db02ee55186505e601ead22cbd9d3c9b0b9f1ed49d908301526103c081019190915290565b5f6103336120a5838561587b565b612804565b6120b261550a565b60408051808201909152805f516020615a9b5f395f51905f526120d860205f8789615814565b6120e19161587b565b6120eb91906158ac565b81526020908101905f516020615a9b5f395f51905f5290612110906040908789615814565b6121199161587b565b61212391906158ac565b90529392505050565b612134615522565b5f6121428888888888613294565b6040860191909152602085019190915290835292506121618389613591565b6080850191909152606084019190915291989197509095505050505050565b612188615552565b5f612191615571565b8481526101008401805151602080840191909152905181015160408084019190915260a086018051516060850152518201516080840152516121f4916121d9918491016158bf565b60405160208183030381529060405280519060200120612804565b91506121ff82613618565b6020850152835260015b60026122176001601c6157ee565b61222191906158f2565b8110156122a15761223e836040516020016121d991815260200190565b925061224983613618565b856122558460026157d7565b601b81106122655761226561583b565b60200201866122758560026157d7565b612280906001615801565b601b81106122905761229061583b565b602002019190915252600101612209565b506122ae6001601c6157ee565b60011660011480156122cb575060026122c96001601c6157ee565b115b15612325576122e6826040516020016121d991815260200190565b91505f6122f283613618565b85600161230081601c6157ee565b61230a91906157ee565b601b811061231a5761231a61583b565b602002019190915250505b509250929050565b61233561558f565b5f61234c846040516020016121d991815260200190565b935061235784613618565b50825260015b838110156123b457612395836123746001846157ee565b601c81106123845761238461583b565b6020020151846114956001856157ee565b8382601c81106123a7576123a761583b565b602002015260010161235d565b509093915050565b6123c461558f565b5f805b83811015612486576123d76155ae565b8581525f5b60088110156124405787610120015183601c81106123fc576123fc61583b565b602002015181600881106124125761241261583b565b602002015182612423836001615801565b600981106124335761243361583b565b60200201526001016123dc565b50612455816040516020016121d99190615905565b95505f61246187613618565b8685601c81106124735761247361583b565b60200201919091525050506001016123c7565b5090949293505050565b5f5f61249a6155cd565b8381525f5b60298110156124ed5785610140015181602981106124bf576124bf61583b565b6020020151826124d0836001615801565b602a81106124e0576124e061583b565b602002015260010161249f565b50612502816040516020016121d99190615939565b91505f61250e83613618565b5096929550919350505050565b5f80806125296001856157ee565b6125349060026157d7565b61253f906001615801565b6001600160401b038111156125565761255661584f565b60405190808252806020026020018201604052801561257f578160200160208202803683370190505b50905084815f815181106125955761259561583b565b60209081029190910101525f5b6125ad6001866157ee565b8110156126605786610160015181601b81106125cb576125cb61583b565b602002015151826125dd8360026157d7565b6125e8906001615801565b815181106125f8576125f861583b565b60200260200101818152505086610160015181601b811061261b5761261b61583b565b6020020151602001518282600261263291906157d7565b61263d906002615801565b8151811061264d5761264d61583b565b60209081029190910101526001016125a2565b50612675816040516020016121d9919061596d565b91505f61268183613618565b509792965091945050505050565b5f808061269d846001615801565b6001600160401b038111156126b4576126b461584f565b6040519080825280602002602001820160405280156126dd578160200160208202803683370190505b50905084815f815181106126f3576126f361583b565b60209081029190910101525f5b848110156126605786610180015181601c811061271f5761271f61583b565b602002015182612730836001615801565b815181106127405761274061583b565b6020908102919091010152600101612700565b5f5f61275d6155ec565b8381526101a08501805151602080840191909152905181015160408084019190915251612502916121d9918491016159a2565b5f5f516020615abb5f395f51905f52825b0692915050565b5f5f516020615abb5f395f51905f5282840990505b92915050565b5f5f516020615abb5f395f51905f528284089392505050565b5f5f516020615abb5f395f51905f52825f516020615abb5f395f51905f520384089392505050565b5f5f516020615abb5f395f51905f52826127a1565b5f6103338361077b84612b63565b815160208301515f91829161283c91906127c3565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b600881101561292e576129248261077b87846127dc565b915060010161290d565b5061293761560a565b5f5b6008811015612998575f8482600881106129555761295561583b565b6020020151905061296a8161077b89856127dc565b905061297581612b63565b90508083836008811061298a5761298a61583b565b602002015250600101612939565b505f5b60088110156129eb575f8782600881106129b7576129b761583b565b602002015190506129d4818484600881106114a5576114a561583b565b90506129e086826127c3565b95505060010161299b565b506109b684836127a8565b5f5f612a0c60016107808561077b8960016127dc565b9050612a1884826127a8565b95945050505050565b5f612a2a61558f565b612a35868285613648565b612a41868683866137f4565b612a4d868683866139e0565b612a58868285613c0b565b612a63868285613dff565b612a6f86868386614148565b612a7a8682856145f4565b612a85868285614a06565b612a90868285614dc7565b6109b681856150c7565b60605f826001600160401b03811115612ab557612ab561584f565b604051908082528060200260200182016040528015612ade578160200160208202803683370190505b50905083815f81518110612af457612af461583b565b602090810291909101015260015b83811015612b5b57612b3682612b196001846157ee565b81518110612b2957612b2961583b565b6020026020010151612d43565b828281518110612b4857612b4861583b565b6020908102919091010152600101612b02565b509392505050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f516020615abb5f395f51905f520360808201525f516020615abb5f395f51905f5260a082015260205f60c08360055afa80612bbf575f5ffd5b505f51608091909101604052949350505050565b5f516020615abb5f395f51905f520390565b60605f826001600160401b03811115612c0057612c0061584f565b604051908082528060200260200182016040528015612c29578160200160208202803683370190505b509050825b8015612d38575f85612c416001846157ee565b81518110612c5157612c5161583b565b602002602001015190505f89600184612c6a91906157ee565b601c8110612c7a57612c7a61583b565b602002015190505f612cd5612c99612c92858d6127a8565b60026127a8565b61079e8b612ca86001896157ee565b601c8110612cb857612cb861583b565b602002015161077b612ccf8861077b60018a6127dc565b876127dc565b9050612cf68161077b610b28612cf08761077b6001896127dc565b866127c3565b99508990508085612d086001876157ee565b81518110612d1857612d1861583b565b60200260200101818152505050505080612d31906159d5565b9050612c2e565b509695505050505050565b5f6127bd82836127a8565b612d5661550a565b5f612d827f00000000000000000000000000000000000000000000000000000000000000006024615801565b612d8d906002615801565b90505f5b81811015612dc357612dbb858281518110612dae57612dae61583b565b6020026020010151612fdb565b600101612d91565b50604051600190815b60018401811015612e285760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612dcc565b5080518452602081015160208501525080612e56576040516352ec174560e11b815260040160405180910390fd5b505092915050565b612e6661550a565b5f516020615a9b5f395f51905f5282602001515f516020615a9b5f395f51905f52612e9191906157ee565b612e9b91906158ac565b60208301525090565b5f5f5f612eb086612f1a565b91509150612ebc61560a565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e084015251612f0f916121d9918491016159ea565b979650505050505050565b612f2261550a565b612f2a61550a565b82516020808501516040860151606087015160cc90811b608892831b604494851b90961795909517949094178652608087015160a088015160c089015160e08a0151871b90841b91851b9092171717868401526101008701516101208801516101408901516101608a0151871b90841b91851b909217171785526101808701516101a08801516101c08901516101e09099015190951b9790911b9390911b1791909117939093179281019290925291565b805160208201515f5f516020615a9b5f395f51905f528380095f516020615a9b5f395f51905f5260035f516020615a9b5f395f51905f52838709085f516020615a9b5f395f51905f5284850914915050806130745760405162461bcd60e51b8152602060048201526019602482015278706f696e74206973206e6f74206f6e2074686520637572766560381b60448201526064016100e5565b50505050565b61308261550a565b61308a61550a565b6130948386615120565b9050612a188185615176565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516132369190615a1e565b5f60405180830381855afa9150503d805f811461326e576040519150601f19603f3d011682016040523d82523d5f602084013e613273565b606091505b50915091508180156109b65750808060200190518101906109b69190615a34565b5f808080806132a4866001615801565b6132af906006615801565b6001600160401b038111156132c6576132c661584f565b6040519080825280602002602001820160405280156132ef578160200160208202803683370190505b509050865f1b815f815181106133075761330761583b565b60209081029190910101525f5b61331f6010886157ee565b811015613370578989828181106133385761333861583b565b905060200201358282600161334d9190615801565b8151811061335d5761335d61583b565b6020908102919091010152600101613314565b505f5b60108110156133e1578a5161339b9082601081106133935761339361583b565b602002015190565b828260106133aa8b6001615801565b6133b491906157ee565b6133be9190615801565b815181106133ce576133ce61583b565b6020908102919091010152600101613373565b5060208a015151816133f4886001615801565b815181106134045761340461583b565b6020908102919091018101919091528a810151015181613425886001615801565b613430906001615801565b815181106134405761344061583b565b602090810291909101015260408a0151518161345d886001615801565b613468906002615801565b815181106134785761347861583b565b60209081029190910181019190915260408b015101518161349a886001615801565b6134a5906003615801565b815181106134b5576134b561583b565b602090810291909101015260608a015151816134d2886001615801565b6134dd906004615801565b815181106134ed576134ed61583b565b60209081029190910181019190915260608b015101518161350f886001615801565b61351a906005615801565b8151811061352a5761352a61583b565b60200260200101818152505061354a816040516020016121d9919061596d565b915061355582613618565b604080516020810186905292975090955061357091016121d9565b91505f61357c83613618565b50959b949a5094985090965091945050505050565b5f5f5f61359c615629565b85815260c0858101805151602080850191909152905181015160408085019190915260e08801805151606086015251820151608080860191909152880180515160a0860152518201519284019290925290516135fe916121d991849101615a53565b915061360982613618565b90979096509194509092505050565b5f80826001600160801b038116608082901c61363382612804565b945061363e81612804565b9350505050915091565b5f6136548460076151d7565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f6136b56136af6136898560036127dc565b61077b6136a46136998b5f6151d7565b61077b8c601d6151d7565b61077b8b601c6151d7565b836127a8565b905061373661372b6137126136f96136e0856107806136d58d60026151d7565b61077b8e601c6151d7565b6107806136ee8c60036151d7565b61077b8d601d6151d7565b6107806137078b60046151d7565b61077b8c601e6151d7565b6107806137208a60056151d7565b61077b8b601f6151d7565b6107808860016151d7565b90506137558161078061374a8660016127dc565b61077b8a60276151d7565b905061376181846127a8565b905061376d81856127a8565b8552505f90506137a761379d61379261378788601c6151d7565b61078089601f6151d7565b61079e8860246151d7565b610780875f6151d7565b90506137b88161077b8460026127dc565b90506137c98161077b8460016127dc565b90506137d581836127a8565b90506137e181846127a8565b9050808460015b60200201525050505050565b5f5f5f61382a61382061380889601c6151d7565b6107806138168b60126151d7565b8a606001516127a8565b87608001516127c3565b90506138638161077b6138596138418b601d6151d7565b61078061384f8d60136151d7565b8c606001516127a8565b89608001516127c3565b90506138888161077b61385961387a8b601e6151d7565b61078061384f8d60146151d7565b90506138ad8161077b61385961389f8b601f6151d7565b61078061384f8d60156151d7565b92505f90506138d16138206138c389601c6151d7565b6107806138168b600e6151d7565b90506138f68161077b6138596138e88b601d6151d7565b61078061384f8d600f6151d7565b905061391b8161077b61385961390d8b601e6151d7565b61078061384f8d60106151d7565b90506139408161077b6138596139328b601f6151d7565b61078061384f8d60116151d7565b91505f90506139676139616139568960206151d7565b6107808a601a6151d7565b846127a8565b905061399c8161079e61399661397e8b60286151d7565b61078061398c8d601b6151d7565b8c60a001516127a8565b856127a8565b90506139a881856127a8565b6040860152505f6139cb6139966139c089601b6151d7565b61077b8a60286151d7565b9050808560035b602002015250505050505050565b5f5f613a3e613a26613a0e6139f96138598a60166151d7565b610780613a078b60176151d7565b8a516127a8565b610780613a1c8a60186151d7565b89602001516127a8565b610780613a348960196151d7565b88604001516127a8565b91505f613a75613a5c613a5289601c6151d7565b88608001516127c3565b610780613a6a8a60036151d7565b61077b8b60246151d7565b90505f613a9e613a8689601d6151d7565b610780613a938b5f6151d7565b61077b8c60256151d7565b90505f613ac8613aaf8a601e6151d7565b610780613abd8c60016151d7565b61077b8d60266151d7565b9050613b07613aef613ae185610780868d5f01516127a8565b610780848c602001516127a8565b610780613afd8c60046151d7565b8b604001516127a8565b93505050505f613b1b6139618860216151d7565b90505f613b2c6139618960216151d7565b90505f613b64613b4b613b408b60236151d7565b6107808c60066151d7565b61079e613b598c60236151d7565b61077b8d60066151d7565b90505f613b88613b82613b7787896127a8565b61077b8d60216151d7565b836127dc565b9050613b9481886127a8565b90505f613bbc613bae613ba88d60066151d7565b876127a8565b61079e613ba88e60226151d7565b90505f613bca8c60236151d7565b90505f613bda613b8283846127a8565b60808c0185905260a08c018490529050613bf4818b6127a8565b8b6006602002015250505050505050505050505050565b5f613c175f60016127dc565b90505f613c255f60026127dc565b90505f613c335f60036127dc565b90505f613c4f613c4488601d6151d7565b61079e89601c6151d7565b90505f613c6b613c6089601e6151d7565b61079e8a601d6151d7565b90505f613c87613c7c8a601f6151d7565b61079e8b601e6151d7565b90505f613ca3613c988b60246151d7565b61079e8c601f6151d7565b905083613cb48161077b818b6127c3565b9050613cc48161077b878a6127c3565b9050613cd48161077b87896127c3565b9050613ce58161077b8d60086151d7565b9050613cf1818a6127a8565b60e08b01525082613d068161077b818b6127c3565b9050613d168161077b868a6127c3565b9050613d268161077b86896127c3565b9050613d378161077b8d60086151d7565b9050613d43818a6127a8565b6101008b01525081613d598161077b818b6127c3565b9050613d698161077b858a6127c3565b9050613d798161077b85896127c3565b9050613d8a8161077b8d60086151d7565b9050613d96818a6127a8565b6101208b01525080613dac8161077b818b6127c3565b9050613dbc8161077b848a6127c3565b9050613dcc8161077b84896127c3565b9050613ddd8161077b8d60086151d7565b9050613de9818a6127a8565b610140909a019990995250505050505050505050565b613e386040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613e4384601d6151d7565b8152613e5084601e6151d7565b6020820152613e608460246151d7565b6040820152613e708460276151d7565b6060820152613e808460266151d7565b6080820152613e908460256151d7565b60a08201525f613ea18560026151d7565b90505f613eae865f6151d7565b90505f613ec28460400151855f01516127dc565b90505f613ed7856020015186602001516127a8565b606086015190915086905f90613eed90806127a8565b90505f613f0b613f0589602001518a606001516127a8565b886127a8565b90505f613f2a613f238a60a001518b604001516127c3565b8a516127c3565b9050613f39613ba882886127a8565b9050613f60613f5a613f54613f4e84876127dc565b886127dc565b846127c3565b836127c3565b9050613f88613f7d613f7283876127a8565b61077b8f60096151d7565b61077b60018a6127dc565b6101608c015250505050602085015160808601515f91613fa7916127c3565b90505f613fc5613fbb8860600151886127a8565b88602001516127dc565b90505f613fe9613fd584876127a8565b6107806139968b60a001518c5f01516127dc565b9050614011614006613ffb838c6127a8565b61077b8e60096151d7565b61077b6001896127dc565b6101808b0152505f9150614032905061402b8360116127c3565b87516127a8565b90505f61403f83846127c3565b905061404b81826127c3565b90505f6140598360096127a8565b905061408261407c6139616140758b60a001518c5f01516127c3565b8b516127c3565b826127dc565b60c089018190525f9061409d90613f0590613f72908d6127a8565b90506140b08b600b6020020151826127c3565b6101608c0152505086515f92506140d7915061402b906140d090806127c3565b88516127c3565b90505f6141176140f28361077b8a5f01518b60a001516127dc565b602089015161079e9061410590806127c3565b61077b8b602001518c608001516127c3565b905061413489600c6020020151610780613f05613f72858d6127a8565b89600c602002015250505050505050505050565b6141b2604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6141ca6141c086601e6151d7565b85604001516127a8565b8082526141e9906107806141df88601d6151d7565b87602001516127a8565b8082526141fe9061078061402b88601c6151d7565b808252614210906107808760016151d7565b808252602082018190526142299061079e87601f6151d7565b81526142446142398660246151d7565b61079e87601c6151d7565b60808201526142626142578660276151d7565b61079e87601f6151d7565b6060820152608081015161427b9061077b8160016127dc565b6101c082015260808101516142bb906142b1906142aa9061077b60015f516020615abb5f395f51905f526157ee565b60016127c3565b82606001516127a8565b60a082018190526142f1906142e39061077b6142d88960026151d7565b61077b8a60036151d7565b61077b61399688600a6151d7565b83600e60200201526101c0810151614315906142e39061077b6142d88960026151d7565b6101e0840152805161433a9061077b61432f8860026151d7565b61077b8960036151d7565b6101208201525f61435961434f87601f6151d7565b83602001516127dc565b905061436a8161077b8360016127dc565b60e083015261438761437d8760266151d7565b86604001516127a8565b604083018190526143aa906107806143a08960256151d7565b88602001516127a8565b604083018190526143ca906107806143c38960246151d7565b88516127a8565b60408301526143e76143dd8760276151d7565b83604001516127dc565b60408301525f6144066143fb8860266151d7565b61079e89601e6151d7565b90506144586144336136af6142aa866080015160015f516020615abb5f395f51905f5261077b91906157ee565b61077b6142aa866040015160015f516020615abb5f395f51905f5261077b91906157ee565b60c0840152604083015161447a9061447090806127a8565b84604001516127dc565b61010084015260c08301516144a6906144989061077b8a60046151d7565b61077b613ba88a600a6151d7565b6102008601526101c08301516144c5906144989061077b8a60046151d7565b6102208601526101008301516144e4906144989061077b8a60046151d7565b61024086015260e08301516144fe9061077b8960046151d7565b61014084015261451d6145128860256151d7565b61079e89601d6151d7565b610160840152608083015161455b906143fb90614550906142aa9061077b60015f516020615abb5f395f51905f526157ee565b8561016001516127a8565b61018084018190526101208401516101a08501819052614592916107809061077b6145878c60056151d7565b61077b8d60026151d7565b6101a0840181905283516145b291906107809061077b6145878c5f6151d7565b6101a084018190526101408401516145ca91906127c3565b6101a084018190526145e49061077b613ba88a600a6151d7565b6101a0840181905285600d6139d2565b61462d6040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61466261464961463e86601c6151d7565b61077b8760256151d7565b6107806146578760246151d7565b61077b88601d6151d7565b81526146a761469c61468361467887601c6151d7565b61077b88601f6151d7565b61078061469188601d6151d7565b61077b89601e6151d7565b61079e8660266151d7565b604082018190526146bc90600160441b6127a8565b604082018190526146d29061079e8660276151d7565b6040820181905281516146e591906127c3565b604082018190526146fb9061077b8660056151d7565b6040820152805161471090600160441b6127a8565b808252614730906107806147258760246151d7565b61077b8860256151d7565b808252602082018190526147579061079e61474c87601e6151d7565b61078088601f6151d7565b6020820181905261476d9061077b8660046151d7565b602082015280516060820181905261478a9061078086601f6151d7565b606082018190526147ae9061079e6147a38760266151d7565b6107808860276151d7565b606082018190526147c39061077b865f6151d7565b8160600181815250505f6147ec6147e2836020015184604001516127c3565b83606001516127c3565b90506147fd8161077b8760036151d7565b905061481561480d8660256151d7565b6140006127a8565b6080830181905261482b906107808760246151d7565b6080830181905261483e906140006127a8565b608083018190526148549061078087601e6151d7565b60808301819052614867906140006127a8565b6080830181905261487d9061078087601d6151d7565b60808301819052614890906140006127a8565b608083018190526148a69061078087601c6151d7565b608083018190526148bc9061079e87601f6151d7565b608083018190526148d29061077b8760056151d7565b60808301526148e561480d8660266151d7565b60a083018190526148fb906107808760256151d7565b60a0830181905261490e906140006127a8565b60a08301819052614924906107808760246151d7565b60a08301819052614937906140006127a8565b60a0830181905261494d9061078087601f6151d7565b60a08301819052614960906140006127a8565b60a083018190526149769061078087601e6151d7565b60a0830181905261498c9061079e8760276151d7565b60a083018190526149a19061077b875f6151d7565b60a0830181905260808301515f916149b991906127c3565b90506149ca8161077b8860046151d7565b90506149d682826127c3565b60c084018190526149ef9061077b613ba889600b6151d7565b60c084018190528560136020020152505050505050565b614a7c6040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b614a95614a8a85601c6151d7565b6107808660026151d7565b8152614ab0614aa585601d6151d7565b6107808660036151d7565b6020820152614ace614ac385601e6151d7565b6107808660046151d7565b6040820152614aec614ae185601f6151d7565b6107808660056151d7565b60608201528051614b1e90614b1790614b1090614b0990806127a8565b84516127a8565b83516127a8565b82516127a8565b60808201526020810151614b5c90614b5290614b4890614b3e90806127a8565b84602001516127a8565b83602001516127a8565b82602001516127a8565b60a08201526040810151614b9a90614b9090614b8690614b7c90806127a8565b84604001516127a8565b83604001516127a8565b82604001516127a8565b60c08201526060810151614bce906142b190614bc490614bba90806127a8565b84606001516127a8565b83606001516127a8565b60e0820152608081015160a0820151614be791906127c3565b61010082015260c081015160e0820151614c0191906127c3565b61012082015260a0810151614c2590614c1a90806127c3565b8261012001516127c3565b61014082015260e0810151614c4990614c3e90806127c3565b8261010001516127c3565b610160820152610120810151614c5f90806127c3565b6101e08201819052614c8090614c7590806127c3565b8261016001516127c3565b6101e0820152610100810151614c9690806127c3565b6101a08201819052614cb790614cac90806127c3565b8261014001516127c3565b6101a08201819052610160820151614cce916127c3565b6101808201526101408101516101e0820151614cea91906127c3565b6101c0820152614cfe6136af85600c6151d7565b6102008201819052610280840151610180830151614d29926107809161077b9061079e8a60246151d7565b8360146020020152614d59836015602002015161078083610200015161077b856101a0015161079e8a60256151d7565b8360156020020152614d89836016602002015161078083610200015161077b856101c0015161079e8a60266151d7565b8360166020020152614db9836017602002015161078083610200015161077b856101e0015161079e8a60276151d7565b836017602002015250505050565b614e196040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6040518060800160405280614e4e7f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e7612790565b8152602001614e7c7f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b612790565b8152602001614ea97e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac15612790565b8152602001614ed77f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b612790565b90529050614ef4614ee986601c6151d7565b6107808760026151d7565b6101208301819052614f3390614f2890614f1d90614f1290806127a8565b8561012001516127a8565b8461012001516127a8565b8361012001516127a8565b8252614f4085601d6151d7565b6020830152614f5085601e6151d7565b6040830152614f6085601f6151d7565b606083015281516020830151614f88916147e291614f7e91906127c3565b84604001516127c3565b6080830152614f9b61396186600d6151d7565b6101408301528151614fbc90614fb290835f6114a5565b83608001516127c3565b60a0830152614fe8846018602002015161078084610140015161077b8660a0015161079e8b60246151d7565b610300850152602082015161500390614fb2908360016114a5565b60c083015261502f846019602002015161078084610140015161077b8660c0015161079e8b60256151d7565b610320850152604082015161504a90614fb2908360026114a5565b60e083015261507684601a602002015161078084610140015161077b8660e0015161079e8b60266151d7565b610340850152606082015161509190614fb2908360036114a5565b6101008301526150bf84601b602002015161078084610140015161077b86610100015161079e8b60276151d7565b84601b6137e8565b815160015b601c8110156151195761510f826107808684601c81106150ee576150ee61583b565b6020020151866150ff6001876157ee565b601b81106114a5576114a561583b565b91506001016150cc565b5092915050565b61512861550a565b61513061550a565b604051835181526020840151602082015284604082015260408160608360075afa8061515a575f5ffd5b5080518252602080820151908301526060016040529392505050565b61517e61550a565b61518661550a565b6040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa806151bb575f5ffd5b5080518252602080820151908301526080016040529392505050565b5f828260288111156151eb576151eb615a86565b602981106151fb576151fb61583b565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f815260200161522d61550a565b815260200161523a61550a565b815260200161524761550a565b815260200161525461550a565b815260200161526161550a565b815260200161526e61550a565b815260200161527b61550a565b815260200161528861550a565b815260200161529561550a565b81526020016152a261550a565b81526020016152af61550a565b81526020016152bc61550a565b81526020016152c961550a565b81526020016152d661550a565b81526020016152e361550a565b81526020016152f061550a565b81526020016152fd61550a565b815260200161530a61550a565b815260200161531761550a565b815260200161532461550a565b815260200161533161550a565b815260200161533e61550a565b815260200161534b61550a565b815260200161535861550a565b815260200161536561550a565b815260200161537261550a565b815260200161537f61550a565b815260200161538c61550a565b905290565b604051806101e001604052806153a5615647565b81526020016153b261550a565b81526020016153bf61550a565b81526020016153cc61550a565b81526020016153d961550a565b81526020016153e661550a565b81526020016153f361550a565b815260200161540061550a565b815260200161540d61550a565b815260200161541a615666565b8152602001615427615694565b81526020016154346156b3565b815260200161537261558f565b604051806101000160405280615455615522565b8152602001615462615552565b815260200161546f61558f565b815260200161547c61558f565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806101c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020016154d86156e1565b81526020016154e56156e1565b81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b60405180604001604052805f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b604051806103600160405280601b906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b61567e61560a565b8152602001906001900390816156765790505090565b6040518061052001604052806029906020820280368337509192915050565b604051806103600160405280601b905b6156cb61550a565b8152602001906001900390816156c35790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f60408587031215615712575f5ffd5b84356001600160401b03811115615727575f5ffd5b8501601f81018713615737575f5ffd5b80356001600160401b0381111561574c575f5ffd5b87602082840101111561575d575f5ffd5b6020918201955093508501356001600160401b0381111561577c575f5ffd5b8501601f8101871361578c575f5ffd5b80356001600160401b038111156157a1575f5ffd5b8760208260051b84010111156157b5575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176127bd576127bd6157c3565b818103818111156127bd576127bd6157c3565b808201808211156127bd576127bd6157c3565b5f5f85851115615822575f5ffd5b8386111561582e575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f60018201615874576158746157c3565b5060010190565b803560208310156127bd575f19602084900360031b1b1692915050565b634e487b7160e01b5f52601260045260245ffd5b5f826158ba576158ba615898565b500690565b5f8183825b60058110156158e35781518352602092830192909101906001016158c4565b50505060a08201905092915050565b5f8261590057615900615898565b500490565b5f8183825b600981101561592957815183526020928301929091019060010161590a565b5050506101208201905092915050565b5f8183825b602a81101561595d57815183526020928301929091019060010161593e565b5050506105408201905092915050565b81515f90829060208501835b82811015615997578151845260209384019390910190600101615979565b509195945050505050565b5f8183825b60038110156159c65781518352602092830192909101906001016159a7565b50505060608201905092915050565b5f816159e3576159e36157c3565b505f190190565b5f8183825b6008811015615a0e5781518352602092830192909101906001016159ef565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f60208284031215615a44575f5ffd5b81518015158114610333575f5ffd5b5f8183825b6007811015615a77578151835260209283019290910190600101615a58565b50505060e08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
4
4
  /**
5
5
  * HonkVerifier link references.
6
6
  */ export const HonkVerifierLinkReferences = {};
@@ -1,2 +1,2 @@
1
- export declare const AbisChecksum = "c6aad6bf8cc6d46492af090c06c30dc2076b1a9071cb4ba6dcbdc529cff58810";
1
+ export declare const AbisChecksum = "d1d23a0fffccac0658049054de83ccab5bdd59e58f3d8f4ffcfcac3aa14d8ff3";
2
2
  //# sourceMappingURL=checksum.d.ts.map
package/dest/checksum.js CHANGED
@@ -1 +1 @@
1
- export const AbisChecksum = "c6aad6bf8cc6d46492af090c06c30dc2076b1a9071cb4ba6dcbdc529cff58810";
1
+ export const AbisChecksum = "d1d23a0fffccac0658049054de83ccab5bdd59e58f3d8f4ffcfcac3aa14d8ff3";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/l1-artifacts",
3
- "version": "3.0.0-canary.a9708bd",
3
+ "version": "3.0.0-nightly.20250905",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./*": "./dest/*.js",