@varun-ai07/covenant-mcp 2.0.1 → 2.0.2

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.
Files changed (50) hide show
  1. package/README.md +58 -2017
  2. package/dist/abis/AgentCollective.json +93 -274
  3. package/dist/abis/COVENANTRouter.json +206 -173
  4. package/dist/abis/CovenantArbitration.json +546 -0
  5. package/dist/abis/CovenantAttestation.json +476 -0
  6. package/dist/abis/CovenantEscrow.json +783 -0
  7. package/dist/abis/CovenantGovernance.json +729 -0
  8. package/dist/abis/CovenantIdentity.json +800 -0
  9. package/dist/abis/CovenantSettlement.json +609 -0
  10. package/dist/abis/GrantProgram.json +66 -471
  11. package/dist/abis/InsurancePool.json +456 -0
  12. package/dist/abis/MultiTokenEscrow.json +435 -836
  13. package/dist/abis/ParallelTaskBatch.json +160 -170
  14. package/dist/abis/RevisionManager.json +79 -134
  15. package/dist/abis/TrainingMarketplace.json +52 -482
  16. package/dist/config.d.ts +6 -20
  17. package/dist/config.d.ts.map +1 -1
  18. package/dist/config.js +60 -41
  19. package/dist/config.js.map +1 -1
  20. package/dist/lib/sqlite-store.d.ts +13 -0
  21. package/dist/lib/sqlite-store.d.ts.map +1 -0
  22. package/dist/lib/sqlite-store.js +71 -0
  23. package/dist/lib/sqlite-store.js.map +1 -0
  24. package/dist/lib/store.d.ts +1 -3
  25. package/dist/lib/store.d.ts.map +1 -1
  26. package/dist/lib/store.js +21 -10
  27. package/dist/lib/store.js.map +1 -1
  28. package/dist/shared-types.d.ts +19 -12
  29. package/dist/shared-types.d.ts.map +1 -1
  30. package/dist/shared-types.js +27 -17
  31. package/dist/shared-types.js.map +1 -1
  32. package/dist/tools/corven-agent.d.ts.map +1 -1
  33. package/dist/tools/corven-agent.js +31 -37
  34. package/dist/tools/corven-agent.js.map +1 -1
  35. package/dist/tools/corven-ipfs.d.ts.map +1 -1
  36. package/dist/tools/corven-ipfs.js +3 -9
  37. package/dist/tools/corven-ipfs.js.map +1 -1
  38. package/dist/tools/corven-market.d.ts.map +1 -1
  39. package/dist/tools/corven-market.js +36 -74
  40. package/dist/tools/corven-market.js.map +1 -1
  41. package/dist/tools/corven-task.d.ts.map +1 -1
  42. package/dist/tools/corven-task.js +39 -55
  43. package/dist/tools/corven-task.js.map +1 -1
  44. package/dist/tools/corven-verify.d.ts.map +1 -1
  45. package/dist/tools/corven-verify.js +102 -132
  46. package/dist/tools/corven-verify.js.map +1 -1
  47. package/dist/tools/covenant-help.d.ts.map +1 -1
  48. package/dist/tools/covenant-help.js +23 -34
  49. package/dist/tools/covenant-help.js.map +1 -1
  50. package/package.json +4 -1
@@ -1,21 +1,10 @@
1
1
  {
2
2
  "_format": "hh-sol-artifact-1",
3
3
  "contractName": "ParallelTaskBatch",
4
- "sourceName": "contracts/ParallelTaskBatch.sol",
4
+ "sourceName": "contracts/v5/extensions/ParallelTaskBatch.sol",
5
5
  "abi": [
6
6
  {
7
- "inputs": [
8
- {
9
- "internalType": "address",
10
- "name": "_taskEscrow",
11
- "type": "address"
12
- },
13
- {
14
- "internalType": "address",
15
- "name": "_agentRegistry",
16
- "type": "address"
17
- }
18
- ],
7
+ "inputs": [],
19
8
  "stateMutability": "nonpayable",
20
9
  "type": "constructor"
21
10
  },
@@ -30,22 +19,6 @@
30
19
  "name": "AgentNotActive",
31
20
  "type": "error"
32
21
  },
33
- {
34
- "inputs": [
35
- {
36
- "internalType": "address",
37
- "name": "agent",
38
- "type": "address"
39
- }
40
- ],
41
- "name": "AgentNotRegistered",
42
- "type": "error"
43
- },
44
- {
45
- "inputs": [],
46
- "name": "AggregationFailed",
47
- "type": "error"
48
- },
49
22
  {
50
23
  "inputs": [],
51
24
  "name": "AlreadyAggregated",
@@ -116,34 +89,12 @@
116
89
  },
117
90
  {
118
91
  "inputs": [],
119
- "name": "NotTaskClient",
120
- "type": "error"
121
- },
122
- {
123
- "inputs": [
124
- {
125
- "internalType": "address",
126
- "name": "owner",
127
- "type": "address"
128
- }
129
- ],
130
- "name": "OwnableInvalidOwner",
131
- "type": "error"
132
- },
133
- {
134
- "inputs": [
135
- {
136
- "internalType": "address",
137
- "name": "account",
138
- "type": "address"
139
- }
140
- ],
141
- "name": "OwnableUnauthorizedAccount",
92
+ "name": "NotAllSubmitted",
142
93
  "type": "error"
143
94
  },
144
95
  {
145
96
  "inputs": [],
146
- "name": "TaskNotInProgress",
97
+ "name": "NotTaskClient",
147
98
  "type": "error"
148
99
  },
149
100
  {
@@ -171,12 +122,6 @@
171
122
  "name": "client",
172
123
  "type": "address"
173
124
  },
174
- {
175
- "indexed": false,
176
- "internalType": "uint256[]",
177
- "name": "taskIds",
178
- "type": "uint256[]"
179
- },
180
125
  {
181
126
  "indexed": false,
182
127
  "internalType": "uint256",
@@ -206,6 +151,38 @@
206
151
  "name": "BatchStatusUpdated",
207
152
  "type": "event"
208
153
  },
154
+ {
155
+ "anonymous": false,
156
+ "inputs": [
157
+ {
158
+ "indexed": true,
159
+ "internalType": "address",
160
+ "name": "to",
161
+ "type": "address"
162
+ },
163
+ {
164
+ "indexed": false,
165
+ "internalType": "uint256",
166
+ "name": "amount",
167
+ "type": "uint256"
168
+ }
169
+ ],
170
+ "name": "EmergencyWithdraw",
171
+ "type": "event"
172
+ },
173
+ {
174
+ "anonymous": false,
175
+ "inputs": [
176
+ {
177
+ "indexed": false,
178
+ "internalType": "uint8",
179
+ "name": "version",
180
+ "type": "uint8"
181
+ }
182
+ ],
183
+ "name": "Initialized",
184
+ "type": "event"
185
+ },
209
186
  {
210
187
  "anonymous": false,
211
188
  "inputs": [
@@ -225,6 +202,19 @@
225
202
  "name": "OwnershipTransferred",
226
203
  "type": "event"
227
204
  },
205
+ {
206
+ "anonymous": false,
207
+ "inputs": [
208
+ {
209
+ "indexed": false,
210
+ "internalType": "address",
211
+ "name": "account",
212
+ "type": "address"
213
+ }
214
+ ],
215
+ "name": "Paused",
216
+ "type": "event"
217
+ },
228
218
  {
229
219
  "anonymous": false,
230
220
  "inputs": [
@@ -245,45 +235,26 @@
245
235
  "type": "event"
246
236
  },
247
237
  {
248
- "inputs": [],
249
- "name": "agentRegistry",
250
- "outputs": [
251
- {
252
- "internalType": "contract AgentRegistry",
253
- "name": "",
254
- "type": "address"
255
- }
256
- ],
257
- "stateMutability": "view",
258
- "type": "function"
259
- },
260
- {
238
+ "anonymous": false,
261
239
  "inputs": [
262
240
  {
263
- "internalType": "uint256",
264
- "name": "batchId",
265
- "type": "uint256"
241
+ "indexed": false,
242
+ "internalType": "address",
243
+ "name": "account",
244
+ "type": "address"
266
245
  }
267
246
  ],
268
- "name": "aggregateResults",
269
- "outputs": [],
270
- "stateMutability": "nonpayable",
271
- "type": "function"
247
+ "name": "Unpaused",
248
+ "type": "event"
272
249
  },
273
250
  {
274
- "inputs": [
275
- {
276
- "internalType": "uint256",
277
- "name": "batchId",
278
- "type": "uint256"
279
- }
280
- ],
281
- "name": "areAllSubtasksSubmitted",
251
+ "inputs": [],
252
+ "name": "MAX_BATCH_SIZE",
282
253
  "outputs": [
283
254
  {
284
- "internalType": "bool",
255
+ "internalType": "uint256",
285
256
  "name": "",
286
- "type": "bool"
257
+ "type": "uint256"
287
258
  }
288
259
  ],
289
260
  "stateMutability": "view",
@@ -291,12 +262,12 @@
291
262
  },
292
263
  {
293
264
  "inputs": [],
294
- "name": "batchCounter",
265
+ "name": "agentRegistry",
295
266
  "outputs": [
296
267
  {
297
- "internalType": "uint256",
268
+ "internalType": "address",
298
269
  "name": "",
299
- "type": "uint256"
270
+ "type": "address"
300
271
  }
301
272
  ],
302
273
  "stateMutability": "view",
@@ -306,41 +277,23 @@
306
277
  "inputs": [
307
278
  {
308
279
  "internalType": "uint256",
309
- "name": "",
280
+ "name": "batchId",
310
281
  "type": "uint256"
311
282
  }
312
283
  ],
313
- "name": "batches",
284
+ "name": "aggregateResults",
285
+ "outputs": [],
286
+ "stateMutability": "nonpayable",
287
+ "type": "function"
288
+ },
289
+ {
290
+ "inputs": [],
291
+ "name": "batchCounter",
314
292
  "outputs": [
315
- {
316
- "internalType": "address",
317
- "name": "client",
318
- "type": "address"
319
- },
320
293
  {
321
294
  "internalType": "uint256",
322
- "name": "totalBudget",
323
- "type": "uint256"
324
- },
325
- {
326
- "internalType": "bytes32",
327
- "name": "aggregationSpec",
328
- "type": "bytes32"
329
- },
330
- {
331
- "internalType": "enum ParallelTaskBatch.BatchStatus",
332
- "name": "status",
333
- "type": "uint8"
334
- },
335
- {
336
- "internalType": "uint256",
337
- "name": "createdAt",
295
+ "name": "",
338
296
  "type": "uint256"
339
- },
340
- {
341
- "internalType": "bytes32",
342
- "name": "aggregatedResultHash",
343
- "type": "bytes32"
344
297
  }
345
298
  ],
346
299
  "stateMutability": "view",
@@ -387,18 +340,30 @@
387
340
  },
388
341
  {
389
342
  "inputs": [
343
+ {
344
+ "internalType": "address",
345
+ "name": "to",
346
+ "type": "address"
347
+ },
390
348
  {
391
349
  "internalType": "uint256",
392
- "name": "batchId",
350
+ "name": "amount",
393
351
  "type": "uint256"
394
352
  }
395
353
  ],
396
- "name": "getAggregatedResult",
354
+ "name": "emergencyWithdraw",
355
+ "outputs": [],
356
+ "stateMutability": "nonpayable",
357
+ "type": "function"
358
+ },
359
+ {
360
+ "inputs": [],
361
+ "name": "escrow",
397
362
  "outputs": [
398
363
  {
399
- "internalType": "bytes32",
364
+ "internalType": "address",
400
365
  "name": "",
401
- "type": "bytes32"
366
+ "type": "address"
402
367
  }
403
368
  ],
404
369
  "stateMutability": "view",
@@ -412,37 +377,49 @@
412
377
  "type": "uint256"
413
378
  }
414
379
  ],
415
- "name": "getBatchDetails",
380
+ "name": "getBatch",
416
381
  "outputs": [
417
382
  {
418
- "internalType": "address",
419
- "name": "client",
420
- "type": "address"
421
- },
422
- {
423
- "internalType": "uint256",
424
- "name": "totalBudget",
425
- "type": "uint256"
426
- },
427
- {
428
- "internalType": "uint256[]",
429
- "name": "taskIds",
430
- "type": "uint256[]"
431
- },
432
- {
433
- "internalType": "bytes32",
434
- "name": "aggregationSpec",
435
- "type": "bytes32"
436
- },
437
- {
438
- "internalType": "enum ParallelTaskBatch.BatchStatus",
439
- "name": "status",
440
- "type": "uint8"
441
- },
442
- {
443
- "internalType": "uint256",
444
- "name": "createdAt",
445
- "type": "uint256"
383
+ "components": [
384
+ {
385
+ "internalType": "address",
386
+ "name": "client",
387
+ "type": "address"
388
+ },
389
+ {
390
+ "internalType": "uint256",
391
+ "name": "totalBudget",
392
+ "type": "uint256"
393
+ },
394
+ {
395
+ "internalType": "uint256[]",
396
+ "name": "taskIds",
397
+ "type": "uint256[]"
398
+ },
399
+ {
400
+ "internalType": "bytes32",
401
+ "name": "aggregationSpec",
402
+ "type": "bytes32"
403
+ },
404
+ {
405
+ "internalType": "enum ParallelTaskBatch.BatchStatus",
406
+ "name": "status",
407
+ "type": "uint8"
408
+ },
409
+ {
410
+ "internalType": "uint256",
411
+ "name": "createdAt",
412
+ "type": "uint256"
413
+ },
414
+ {
415
+ "internalType": "bytes32",
416
+ "name": "aggregatedResultHash",
417
+ "type": "bytes32"
418
+ }
419
+ ],
420
+ "internalType": "struct ParallelTaskBatch.TaskBatch",
421
+ "name": "",
422
+ "type": "tuple"
446
423
  }
447
424
  ],
448
425
  "stateMutability": "view",
@@ -451,20 +428,19 @@
451
428
  {
452
429
  "inputs": [
453
430
  {
454
- "internalType": "uint256",
455
- "name": "batchId",
456
- "type": "uint256"
457
- }
458
- ],
459
- "name": "getBatchStatus",
460
- "outputs": [
431
+ "internalType": "address",
432
+ "name": "_escrow",
433
+ "type": "address"
434
+ },
461
435
  {
462
- "internalType": "enum ParallelTaskBatch.BatchStatus",
463
- "name": "",
464
- "type": "uint8"
436
+ "internalType": "address",
437
+ "name": "_agentRegistry",
438
+ "type": "address"
465
439
  }
466
440
  ],
467
- "stateMutability": "view",
441
+ "name": "initialize",
442
+ "outputs": [],
443
+ "stateMutability": "nonpayable",
468
444
  "type": "function"
469
445
  },
470
446
  {
@@ -482,24 +458,31 @@
482
458
  },
483
459
  {
484
460
  "inputs": [],
485
- "name": "renounceOwnership",
461
+ "name": "pause",
486
462
  "outputs": [],
487
463
  "stateMutability": "nonpayable",
488
464
  "type": "function"
489
465
  },
490
466
  {
491
467
  "inputs": [],
492
- "name": "taskEscrow",
468
+ "name": "paused",
493
469
  "outputs": [
494
470
  {
495
- "internalType": "contract TaskEscrow",
471
+ "internalType": "bool",
496
472
  "name": "",
497
- "type": "address"
473
+ "type": "bool"
498
474
  }
499
475
  ],
500
476
  "stateMutability": "view",
501
477
  "type": "function"
502
478
  },
479
+ {
480
+ "inputs": [],
481
+ "name": "renounceOwnership",
482
+ "outputs": [],
483
+ "stateMutability": "nonpayable",
484
+ "type": "function"
485
+ },
503
486
  {
504
487
  "inputs": [
505
488
  {
@@ -512,10 +495,17 @@
512
495
  "outputs": [],
513
496
  "stateMutability": "nonpayable",
514
497
  "type": "function"
498
+ },
499
+ {
500
+ "inputs": [],
501
+ "name": "unpause",
502
+ "outputs": [],
503
+ "stateMutability": "nonpayable",
504
+ "type": "function"
515
505
  }
516
506
  ],
517
- "bytecode": "0x60c03461010357601f61176938819003918201601f19168301916001600160401b0383118484101761010857808492604094855283398101031261010357610052602061004b8361011e565b920161011e565b9033156100ea5760008054336001600160a01b0319821681178355604051946001600160a01b0394909385939192918416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3166080521660a052611636908161013382396080518181816107a701528181610d770152610f9f015260a05181818161039b015281816109570152610dfa0152f35b604051631e4fbdf760e01b815260006004820152602490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036101035756fe608080604052600436101561001357600080fd5b60003560e01c9081630d1cfcae14610de75750806314a2073914610da657806327c4ffe114610d615780632d1bbc8e14610d1057806346aec1c414610b3657806368233eef14610b18578063715018a614610ad1578063751fb6df14610a925780637beed27c146102c55780638da5cb5b1461029c5780639d47dcc01461019f578063b32c4d8d146101295763f2fde38b146100ae57600080fd5b34610124576020366003190112610124576004356001600160a01b0381811691829003610124576100dd6115b4565b811561010b576000548260018060a01b0319821617600055166000805160206115e1833981519152600080a3005b604051631e4fbdf760e01b815260006004820152602490fd5b600080fd5b3461012457602036600319011261012457600435600052600160205260c0604060002060018060a01b0381541690600181015490610193600382015460ff600484015416906006600585015494015494604051968752602087015260408601526060850190610e29565b608083015260a0820152f35b34610124576020806003193601126101245760043580158015610291575b610279576000526001808252604060002060018060a01b03815416916001820154916002810191600382015493600560ff600485015416930154936040518093898354928381520192600052896000209160005b8b828210610266578b8b8b61025d8c61024d8d8d610231828f0383610e9a565b604051988998895288015260c0604088015260c0870190610e66565b9360608601526080850190610e29565b60a08301520390f35b8454865290940193928201928201610211565b602490604051906345e2cbed60e01b82526004820152fd5b5060025481116101bd565b34610124576000366003190112610124576000546040516001600160a01b039091168152602090f35b60a0366003190112610124576004356001600160401b038111610124576102f0903690600401610e36565b6024356001600160401b0381116101245761030f903690600401610e36565b90929091906044356001600160401b03811161012457610333903690600401610e36565b9390916064356001600160401b03811161012457610355903690600401610e36565b8515610a805760328611610a6857838603610a5657868603610a5657808603610a565760843515610a445760405163fb3551ff60e01b81523360048201526000816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561084d57606060ff91600193600091610a29575b5001511603610a115760005b86811061091f57506000966000805b8a8982106108e35750508034036108c6575060025460001981146108b057600181016002556040516001600160401b036020820190811190821117610689576020810160409081526000825251916001600160401b0360e08401908111908411176106895760019160e084016040523384528b602085015260408401526084356060840152600060808401524260a0840152600060c084015201600052600160205260406000209060018060a01b0381511660018060a01b031983541617825560208101516001830155604081015180519060018060401b03821161068957600160401b8211610689576002840154826002860155808310610883575b5060200160028401600052602060002060005b83811061086f575050505060608101516003830155608081015160058110156108595760069160c09160ff8019600487015416911617600485015560a08101516005850155015191015561055987610f48565b986105676040519a8b610e9a565b878a5261057388610f48565b601f19013660208c013760005b88811061069f578a8a6002546000526001602052600260406000200191805160018060401b03811161068957600160401b8111610689578354818555808210610660575b506020820193600052602060002060005b82811061064c5760207fc86b61fbf13080241bcae7f020a15e51987dc42befb09e3e18f0469a2211477a8686600254600052600184526004604060002001600160ff1982541617905560025492839161063960405191604083526040830190610e66565b93868201528033940390a3604051908152f35b6001906020875197019681840155016105d5565b8460005281602060002091820191015b81811061067d57506105c4565b60008155600101610670565b634e487b7160e01b600052604160045260246000fd5b8061271060646106b18b948b87611590565b3502046106bf828a86611590565b35016106d46106cf838d8b611590565b6115a0565b9065ffffffffffff6106fc84888d6106f48360018060601b03928c611590565b351697611590565b351661070984898b611590565b35946040519560208701526020865285604081011060018060401b036040880111176106895760209360408701604052631c5795d560e31b604088015230604488015260018060a01b03166064870152608486015260a485015260c060c485015283519081610104860152610785826101248701858801610ed1565b600160e4868101919091526040860192601f01601f19168601869003019082907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af191821561084d57600092610813575b508b518110156107fd5760019160208d8360051b01015201610580565b634e487b7160e01b600052603260045260246000fd5b9091506020813d602011610845575b8161083260209360408401610e9a565b810103126101245760400151908c6107e0565b3d9150610822565b6040513d6000823e3d90fd5b634e487b7160e01b600052602160045260246000fd5b600190602084519401938184015501610506565b600285016000526020600020908382015b81830181106108a45750506104f3565b60008155600101610894565b634e487b7160e01b600052601160045260246000fd5b60449060405190622f087f60ea1b82523460048301526024820152fd5b996108f38289600194959d611590565b3501998b610915848a612710606461090c848488611590565b35020493611590565b35010191016103f6565b61092d6106cf828987611590565b60405163fb3551ff60e01b81526001600160a01b03918216600482015290600090829060249082907f0000000000000000000000000000000000000000000000000000000000000000165afa90811561084d576000916109ee575b50600160ff606083015116036109bf576040015161ffff16156109ad576001016103e7565b604051635f460c3f60e11b8152600490fd5b60246109cf6106cf848b89611590565b604051631a4d507960e31b81526001600160a01b039091166004820152fd5b610a0b91503d806000833e610a038183610e9a565b810190611403565b8a610988565b604051631a4d507960e31b8152336004820152602490fd5b610a3e91503d806000833e610a038183610e9a565b8c6103db565b6040516314b203f160e01b8152600490fd5b6040516305f8ded760e21b8152600490fd5b60405162da0e9960e81b815260326004820152602490fd5b6040516311e51d5160e31b8152600490fd5b346101245760203660031901126101245760043580158015610ac6575b61027957610abe60209161139b565b604051908152f35b506002548111610aaf565b3461012457600036600319011261012457610aea6115b4565b600080546001600160a01b0319811682556001600160a01b03166000805160206115e18339815191528280a3005b34610124576000366003190112610124576020600254604051908152f35b3461012457602080600319360112610124576004359081158015610d05575b610cec578160005260019081815260ff600460406000200154166005811015610859578203610cda578260005281815260ff600460406000200154166005811015610859576003148015610cb5575b610ca3576040516314a2073960e01b8152600481018490528181602481305afa801561084d57610c6f575b5082600052818152600460406000200160ff199060028282541617905560405190828201938585524260408401523360601b606084015260548352608083019280841060018060401b03851117610689577f9a89f509e37dc7806bccdc9c87aef83aab35ea35ca71d6e0573a935e8938f1ba95600691856040525190209283928860005286526040600020906003600483019182541617905501558152a2005b8181813d8311610c9c575b610c848183610e9a565b8101031261012457610c9590610f5f565b5083610bcf565b503d610c7a565b604051636a1a183f60e01b8152600490fd5b508260005281815260ff60046040600020015416600581101561085957600414610ba4565b604051639e6f638f60e01b8152600490fd5b6040516345e2cbed60e01b815260048101839052602490fd5b506002548211610b55565b346101245760203660031901126101245760043580158015610d56575b610279576000526001602052602060ff60046040600020015416610d546040518092610e29565bf35b506002548111610d2d565b34610124576000366003190112610124576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101245760203660031901126101245760043580158015610ddc575b61027957610dd2602091610f6c565b6040519015158152f35b506002548111610dc3565b34610124576000366003190112610124577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9060058210156108595752565b9181601f84011215610124578235916001600160401b038311610124576020808501948460051b01011161012457565b90815180825260208080930193019160005b828110610e86575050505090565b835185529381019392810192600101610e78565b601f909101601f19168101906001600160401b0382119082101761068957604052565b51906001600160a01b038216820361012457565b60005b838110610ee45750506000910152565b8181015183820152602001610ed4565b81601f820112156101245780516001600160401b0381116106895760405192610f27601f8301601f191660200185610e9a565b8184526020828401011161012457610f459160208085019101610ed1565b90565b6001600160401b0381116106895760051b60200190565b5190811515820361012457565b600090815260019060016020526040812090600460ff8184015416600581101561138857600103611381576002830154927f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690835b858110610fdd5750505050505050600190565b6002820185528060208620015460405190630eb2f3bf60e11b8252858201528581602481875afa801561137657869061104b575b60c09150015160078110156110385760030361102e578601610fca565b5050505091505090565b634e487b7160e01b865260218552602486fd5b503d908187823e61105c8282610e9a565b6020818381010312611372578051906001600160401b03821161136e576101a09283838301828401031261136a576040519384016001600160401b03811185821017611357576040526110b0838301610ebd565b84526110c0602084840101610ebd565b60208501528183016040818101519086015260608082015190860152608001516001600160401b03811161134f576110ff908284019085850101610ef4565b608085015281830160a001516001600160401b03811161134f5761112a908284019085850101610ef4565b60a085015260c08383010151600781101561134f5760c085015281830160e0818101519086015261010080820151908601526101209081015190898210156113535785015281830161014001516001600160401b03811161134f57818301601f828686010101121561134f578084840101516111a581610f48565b926111b36040519485610e9a565b818452602084019281860160208460051b838a8a010101011161134b576020818888010101935b60208460051b838a8a0101010185106112235750505050509083929161014060c095015261016061120e8184840101610f5f565b90840152016101809081015190820152611011565b84516001600160401b0381116113475760c0888a0184018201858a0103601f19011261134757604051906001600160401b0360c08301908111908311176113325760c08201604052888a0184018101602001516001600160401b03811161132d5789602061129c9284888f8b8601950101010101610ef4565b8252888a0184018101604081015160208401526112bb90606001610f5f565b60408301526112d2608082868d8d01010101610f5f565b6060830152888a018401810160a001516001600160401b03811161132d579160c0826113108c60208f978199978b839a8e8601950101010101610ef4565b6080840152868d8d010101015160a08201528152019401936111da565b508f80fd5b5050634e487b7160e01b8e5260418d5260248efd5b8e80fd5b8c80fd5b8980fd5b8a80fd5b634e487b7160e01b8a526041895260248afd5b8880fd5b8780fd5b8680fd5b6040513d88823e3d90fd5b5091505090565b634e487b7160e01b835260218252602483fd5b6000526001602052604060002060ff6004820154166005811015610859576003146113c65750600090565b6006015490565b519061ffff8216820361012457565b51906001600160601b038216820361012457565b519065ffffffffffff8216820361012457565b602080828403126101245781516001600160401b039283821161012457019061018093848382031261012457604051948501858110858211176106895760405282518552611452828401610ebd565b82860152611462604084016113cd565b6040860152606083015160ff81168103610124576060860152608083015163ffffffff8116810361012457608086015261149e60a084016113cd565b60a08601526114af60c084016113dc565b60c08601526114c060e084016113f0565b60e08601526101006114d38185016113f0565b908601526101208084015185811161012457826114f1918601610ef4565b908601526101406115038185016113dc565b90860152610160928381015190858211610124570181601f8201121561012457805161152e81610f48565b9561153c6040519788610e9a565b818752848088019260051b8401019380851161012457858401925b85841061156b575050505050505082015290565b8351838111610124578791611585848480948a0101610ef4565b815201930192611557565b91908110156107fd5760051b0190565b356001600160a01b03811681036101245790565b6000546001600160a01b031633036115c857565b60405163118cdaa760e01b8152336004820152602490fdfe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a2646970667358221220d7b764cf2405468929956eb2cbd8c3e14161f35a6472e190312305cd7bc2ba0e64736f6c63430008180033",
518
- "deployedBytecode": "0x608080604052600436101561001357600080fd5b60003560e01c9081630d1cfcae14610de75750806314a2073914610da657806327c4ffe114610d615780632d1bbc8e14610d1057806346aec1c414610b3657806368233eef14610b18578063715018a614610ad1578063751fb6df14610a925780637beed27c146102c55780638da5cb5b1461029c5780639d47dcc01461019f578063b32c4d8d146101295763f2fde38b146100ae57600080fd5b34610124576020366003190112610124576004356001600160a01b0381811691829003610124576100dd6115b4565b811561010b576000548260018060a01b0319821617600055166000805160206115e1833981519152600080a3005b604051631e4fbdf760e01b815260006004820152602490fd5b600080fd5b3461012457602036600319011261012457600435600052600160205260c0604060002060018060a01b0381541690600181015490610193600382015460ff600484015416906006600585015494015494604051968752602087015260408601526060850190610e29565b608083015260a0820152f35b34610124576020806003193601126101245760043580158015610291575b610279576000526001808252604060002060018060a01b03815416916001820154916002810191600382015493600560ff600485015416930154936040518093898354928381520192600052896000209160005b8b828210610266578b8b8b61025d8c61024d8d8d610231828f0383610e9a565b604051988998895288015260c0604088015260c0870190610e66565b9360608601526080850190610e29565b60a08301520390f35b8454865290940193928201928201610211565b602490604051906345e2cbed60e01b82526004820152fd5b5060025481116101bd565b34610124576000366003190112610124576000546040516001600160a01b039091168152602090f35b60a0366003190112610124576004356001600160401b038111610124576102f0903690600401610e36565b6024356001600160401b0381116101245761030f903690600401610e36565b90929091906044356001600160401b03811161012457610333903690600401610e36565b9390916064356001600160401b03811161012457610355903690600401610e36565b8515610a805760328611610a6857838603610a5657868603610a5657808603610a565760843515610a445760405163fb3551ff60e01b81523360048201526000816024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561084d57606060ff91600193600091610a29575b5001511603610a115760005b86811061091f57506000966000805b8a8982106108e35750508034036108c6575060025460001981146108b057600181016002556040516001600160401b036020820190811190821117610689576020810160409081526000825251916001600160401b0360e08401908111908411176106895760019160e084016040523384528b602085015260408401526084356060840152600060808401524260a0840152600060c084015201600052600160205260406000209060018060a01b0381511660018060a01b031983541617825560208101516001830155604081015180519060018060401b03821161068957600160401b8211610689576002840154826002860155808310610883575b5060200160028401600052602060002060005b83811061086f575050505060608101516003830155608081015160058110156108595760069160c09160ff8019600487015416911617600485015560a08101516005850155015191015561055987610f48565b986105676040519a8b610e9a565b878a5261057388610f48565b601f19013660208c013760005b88811061069f578a8a6002546000526001602052600260406000200191805160018060401b03811161068957600160401b8111610689578354818555808210610660575b506020820193600052602060002060005b82811061064c5760207fc86b61fbf13080241bcae7f020a15e51987dc42befb09e3e18f0469a2211477a8686600254600052600184526004604060002001600160ff1982541617905560025492839161063960405191604083526040830190610e66565b93868201528033940390a3604051908152f35b6001906020875197019681840155016105d5565b8460005281602060002091820191015b81811061067d57506105c4565b60008155600101610670565b634e487b7160e01b600052604160045260246000fd5b8061271060646106b18b948b87611590565b3502046106bf828a86611590565b35016106d46106cf838d8b611590565b6115a0565b9065ffffffffffff6106fc84888d6106f48360018060601b03928c611590565b351697611590565b351661070984898b611590565b35946040519560208701526020865285604081011060018060401b036040880111176106895760209360408701604052631c5795d560e31b604088015230604488015260018060a01b03166064870152608486015260a485015260c060c485015283519081610104860152610785826101248701858801610ed1565b600160e4868101919091526040860192601f01601f19168601869003019082907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af191821561084d57600092610813575b508b518110156107fd5760019160208d8360051b01015201610580565b634e487b7160e01b600052603260045260246000fd5b9091506020813d602011610845575b8161083260209360408401610e9a565b810103126101245760400151908c6107e0565b3d9150610822565b6040513d6000823e3d90fd5b634e487b7160e01b600052602160045260246000fd5b600190602084519401938184015501610506565b600285016000526020600020908382015b81830181106108a45750506104f3565b60008155600101610894565b634e487b7160e01b600052601160045260246000fd5b60449060405190622f087f60ea1b82523460048301526024820152fd5b996108f38289600194959d611590565b3501998b610915848a612710606461090c848488611590565b35020493611590565b35010191016103f6565b61092d6106cf828987611590565b60405163fb3551ff60e01b81526001600160a01b03918216600482015290600090829060249082907f0000000000000000000000000000000000000000000000000000000000000000165afa90811561084d576000916109ee575b50600160ff606083015116036109bf576040015161ffff16156109ad576001016103e7565b604051635f460c3f60e11b8152600490fd5b60246109cf6106cf848b89611590565b604051631a4d507960e31b81526001600160a01b039091166004820152fd5b610a0b91503d806000833e610a038183610e9a565b810190611403565b8a610988565b604051631a4d507960e31b8152336004820152602490fd5b610a3e91503d806000833e610a038183610e9a565b8c6103db565b6040516314b203f160e01b8152600490fd5b6040516305f8ded760e21b8152600490fd5b60405162da0e9960e81b815260326004820152602490fd5b6040516311e51d5160e31b8152600490fd5b346101245760203660031901126101245760043580158015610ac6575b61027957610abe60209161139b565b604051908152f35b506002548111610aaf565b3461012457600036600319011261012457610aea6115b4565b600080546001600160a01b0319811682556001600160a01b03166000805160206115e18339815191528280a3005b34610124576000366003190112610124576020600254604051908152f35b3461012457602080600319360112610124576004359081158015610d05575b610cec578160005260019081815260ff600460406000200154166005811015610859578203610cda578260005281815260ff600460406000200154166005811015610859576003148015610cb5575b610ca3576040516314a2073960e01b8152600481018490528181602481305afa801561084d57610c6f575b5082600052818152600460406000200160ff199060028282541617905560405190828201938585524260408401523360601b606084015260548352608083019280841060018060401b03851117610689577f9a89f509e37dc7806bccdc9c87aef83aab35ea35ca71d6e0573a935e8938f1ba95600691856040525190209283928860005286526040600020906003600483019182541617905501558152a2005b8181813d8311610c9c575b610c848183610e9a565b8101031261012457610c9590610f5f565b5083610bcf565b503d610c7a565b604051636a1a183f60e01b8152600490fd5b508260005281815260ff60046040600020015416600581101561085957600414610ba4565b604051639e6f638f60e01b8152600490fd5b6040516345e2cbed60e01b815260048101839052602490fd5b506002548211610b55565b346101245760203660031901126101245760043580158015610d56575b610279576000526001602052602060ff60046040600020015416610d546040518092610e29565bf35b506002548111610d2d565b34610124576000366003190112610124576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101245760203660031901126101245760043580158015610ddc575b61027957610dd2602091610f6c565b6040519015158152f35b506002548111610dc3565b34610124576000366003190112610124577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9060058210156108595752565b9181601f84011215610124578235916001600160401b038311610124576020808501948460051b01011161012457565b90815180825260208080930193019160005b828110610e86575050505090565b835185529381019392810192600101610e78565b601f909101601f19168101906001600160401b0382119082101761068957604052565b51906001600160a01b038216820361012457565b60005b838110610ee45750506000910152565b8181015183820152602001610ed4565b81601f820112156101245780516001600160401b0381116106895760405192610f27601f8301601f191660200185610e9a565b8184526020828401011161012457610f459160208085019101610ed1565b90565b6001600160401b0381116106895760051b60200190565b5190811515820361012457565b600090815260019060016020526040812090600460ff8184015416600581101561138857600103611381576002830154927f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690835b858110610fdd5750505050505050600190565b6002820185528060208620015460405190630eb2f3bf60e11b8252858201528581602481875afa801561137657869061104b575b60c09150015160078110156110385760030361102e578601610fca565b5050505091505090565b634e487b7160e01b865260218552602486fd5b503d908187823e61105c8282610e9a565b6020818381010312611372578051906001600160401b03821161136e576101a09283838301828401031261136a576040519384016001600160401b03811185821017611357576040526110b0838301610ebd565b84526110c0602084840101610ebd565b60208501528183016040818101519086015260608082015190860152608001516001600160401b03811161134f576110ff908284019085850101610ef4565b608085015281830160a001516001600160401b03811161134f5761112a908284019085850101610ef4565b60a085015260c08383010151600781101561134f5760c085015281830160e0818101519086015261010080820151908601526101209081015190898210156113535785015281830161014001516001600160401b03811161134f57818301601f828686010101121561134f578084840101516111a581610f48565b926111b36040519485610e9a565b818452602084019281860160208460051b838a8a010101011161134b576020818888010101935b60208460051b838a8a0101010185106112235750505050509083929161014060c095015261016061120e8184840101610f5f565b90840152016101809081015190820152611011565b84516001600160401b0381116113475760c0888a0184018201858a0103601f19011261134757604051906001600160401b0360c08301908111908311176113325760c08201604052888a0184018101602001516001600160401b03811161132d5789602061129c9284888f8b8601950101010101610ef4565b8252888a0184018101604081015160208401526112bb90606001610f5f565b60408301526112d2608082868d8d01010101610f5f565b6060830152888a018401810160a001516001600160401b03811161132d579160c0826113108c60208f978199978b839a8e8601950101010101610ef4565b6080840152868d8d010101015160a08201528152019401936111da565b508f80fd5b5050634e487b7160e01b8e5260418d5260248efd5b8e80fd5b8c80fd5b8980fd5b8a80fd5b634e487b7160e01b8a526041895260248afd5b8880fd5b8780fd5b8680fd5b6040513d88823e3d90fd5b5091505090565b634e487b7160e01b835260218252602483fd5b6000526001602052604060002060ff6004820154166005811015610859576003146113c65750600090565b6006015490565b519061ffff8216820361012457565b51906001600160601b038216820361012457565b519065ffffffffffff8216820361012457565b602080828403126101245781516001600160401b039283821161012457019061018093848382031261012457604051948501858110858211176106895760405282518552611452828401610ebd565b82860152611462604084016113cd565b6040860152606083015160ff81168103610124576060860152608083015163ffffffff8116810361012457608086015261149e60a084016113cd565b60a08601526114af60c084016113dc565b60c08601526114c060e084016113f0565b60e08601526101006114d38185016113f0565b908601526101208084015185811161012457826114f1918601610ef4565b908601526101406115038185016113dc565b90860152610160928381015190858211610124570181601f8201121561012457805161152e81610f48565b9561153c6040519788610e9a565b818752848088019260051b8401019380851161012457858401925b85841061156b575050505050505082015290565b8351838111610124578791611585848480948a0101610ef4565b815201930192611557565b91908110156107fd5760051b0190565b356001600160a01b03811681036101245790565b6000546001600160a01b031633036115c857565b60405163118cdaa760e01b8152336004820152602490fdfe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a2646970667358221220d7b764cf2405468929956eb2cbd8c3e14161f35a6472e190312305cd7bc2ba0e64736f6c63430008180033",
507
+ "bytecode": "0x608080604052346100165761107d908161001c8239f35b600080fdfe60c0604081815260048036101561001557600080fd5b60009260e0843560e01c9182630d1cfcae14610d47575081633f4ba83a14610cb157816346aec1c414610aaf57508063485cc955146109095780635ac44282146107605780635c975abb1461073c57806368233eef1461071d578063715018a6146106cf5780637beed27c146102d55780638456cb591461027a5780638da5cb5b1461025157806395ccea67146101a8578063cfdbf2541461018c578063e2fdcc171461015f5763f2fde38b146100cb57600080fd5b3461015b57602036600319011261015b576100e4610d6c565b916100ed610e9e565b6001600160a01b03831615610109578361010684610fac565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b50503461018857816003193601126101885760cb5490516001600160a01b039091168152602090f35b5080fd5b5050346101885781600319360112610188576020905160328152f35b50903461015b578060031936011261015b576101c2610d6c565b90602435926101cf610e9e565b8480808087875af16101df610e26565b501561021d5750519182526001600160a01b0316907f5fafa99d0643513820be26656b45130b01e1c03062e1266bf36f88cbd3bd969590602090a280f35b6020606492519162461bcd60e51b8352820152600f60248201526e1dda5d1a191c985dc819985a5b1959608a1b6044820152fd5b50503461018857816003193601126101885760335490516001600160a01b039091168152602090f35b50503461018857816003193601126101885760207f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258916102b8610e9e565b6102c0610fe3565b600160ff19609754161760975551338152a180f35b5060a036600319011261015b576001600160401b03928135848111610188576103019036908401610d87565b6024929150823586811161015b5761031c9036908601610d87565b90966044358181116106cb576103359036908801610d87565b9390506064358281116106c75761034f9036908901610d87565b9390506084359461035e610ef6565b610366610fe3565b82156106b757603294603284116106a25782841491821592610697575b50811561068c575b5061067c57841561066c5760ca54996000198b1461065a576001809b01948560ca5587608052875b848110610611575050505060805134106105f5576103e86103d382610e87565b916103e08a519384610e03565b808352610e87565b602060a052601f19013660a05183013787519361040485610db7565b33855260a08051608080519188019182528b88019485526060880193845287018881524283890190815260c089018a8152978a52925160c990528b8920975188546001600160a01b0319166001600160a01b039190911617885590518c88015592518051919460028801919083116105e357600160401b83116105e35781548383558084106105b9575b5060a0510190885260a05188208c895b8481106105a5575050505050516003850155868401905160058110156105935790600693929160ff80198354169116179055516005840155519101556080513411610528575b50505060ca549181516080518152837f271a5ac6a1edc479b01276b5d7778e201d4af7d76c64756a820efce2319e6635339260a05190a36065555190815260a05190f35b60805134033481116105825781808092335af1610543610e26565b501561054f57806104e4565b600d90606493519262461bcd60e51b845260a051908401528201526c1c99599d5b990819985a5b1959609a1b6044820152fd5b50634e487b7160e01b815260118352fd5b634e487b7160e01b8652602188528686fd5b83519360a051019381840155018d9061049e565b828a5260a0518a20908e8583015b82840181106105d85750505061048e565b8c8155018f906105c7565b634e487b7160e01b895260418b528989fd5b8751622f087f60ea1b8152348189015260805181880152604490fd5b83811015610649578060051b830135608051018060805111610637576080528c016103b3565b634e487b7160e01b8a5260118c528a8afd5b634e487b7160e01b8952818b528989fd5b634e487b7160e01b8752601189528787fd5b88516314b203f160e01b81528890fd5b88516305f8ded760e21b81528890fd5b90508214153861038b565b841415915038610383565b8a5162da0e9960e81b81526032818c01528990fd5b89516311e51d5160e31b81528990fd5b8580fd5b8480fd5b833461071a578060031936011261071a576106e8610e9e565b603380546001600160a01b0319811690915581906001600160a01b03166000805160206110288339815191528280a380f35b80fd5b50503461018857816003193601126101885760209060ca549051908152f35b50503461018857816003193601126101885760209060ff6097541690519015158152f35b50913461071a576020908160031936011261071a578060c0845161078381610db7565b82815282858201526060868201528260608201528260808201528260a082015201528335815260c982528281208351916107bc83610db7565b60018060a01b03948583541684526001936001840154948682019586526002850191835180848a82965493848152019088528a882092885b868d8383106108f4575050505061080d92500384610e03565b8381019283526003860154926060820193845260ff8b8801541694608083019560058110156108e157869a94939a52600660058901549860a08c01998a5201549860c08b01998a5281519b858d526101008d019b5116858d015251908b0152519760e060608b01528851809152826101208b01990192865b8281106108ce575050505050516080870152519060058210156108bb575084955060a08501525160c08401525160e08301520390f35b634e487b7160e01b815260218752602490fd5b84518b5299810199938101938301610885565b634e487b7160e01b885260218d52602488fd5b865485529581019589955090930192016107f4565b503461015b578160031936011261015b57610922610d6c565b6001600160a01b03919060243583811691908290036106c75785549360ff8560081c161593848095610aa2575b8015610a8b575b15610a31575060ff1985811660011788559484610a20575b5061098860ff885460081c1661098381610f4c565b610f4c565b61099133610fac565b8654946109be60ff8760081c166109a781610f4c565b6109b081610f4c565b600160655561098381610f4c565b6097541660975560018060a01b031991168160cb54161760cb5560cc54161760cc556109e8578280f35b61ff001916825551600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b61ffff19166101011787553861096e565b608490602088519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b1580156109565750600160ff871614610956565b50600160ff87161061094f565b92905034610cad57602091826003193601126106cb57803593610ad0610ef6565b84865260c98452828620918083019182549160ff9060ff8416926005841015610c9a576001809403610c8b578a928b60029260028a0180549660018060a01b0360cb5416935b888210610b8257925050508c7f9a89f509e37dc7806bccdc9c87aef83aab35ea35ca71d6e0573a935e8938f1ba8d60068e8e8e60038f60ff19161790558151848101908782524284820152838152610b6d81610de8565b519020928391015551908152a2600160655580f35b808f918f92858252848183200154935190810190630eb2f3bf60e11b825260249485820152848152610bb381610de8565b5190885afa90610bc1610e26565b9115610c5257508381805181010312610c4d57610bed8f8f90610be5908401610e65565b508201610e65565b5060608101516001600160801b03811603610c4d57608081015163ffffffff811603610c4d578581610c2e60c0610c2760a08c9601610e79565b9201610e79565b501603610c3d5788018f610b16565b8c5163951997d360e01b81528790fd5b508f80fd5b8f8f6064928b92601392519362461bcd60e51b8552840152820152726661696c656420746f2072656164207461736b60681b6044820152fd5b508651639e6f638f60e01b8152fd5b634e487b7160e01b8b526021825260248bfd5b8380fd5b50503461015b578260031936011261015b57610ccb610e9e565b6097549060ff821615610d0d575060ff1916609755513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa90602090a180f35b606490602084519162461bcd60e51b8352820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152fd5b85903461018857816003193601126101885760cc546001600160a01b03168152602090f35b600435906001600160a01b0382168203610d8257565b600080fd5b9181601f84011215610d82578235916001600160401b038311610d82576020808501948460051b010111610d8257565b60e081019081106001600160401b03821117610dd257604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b03821117610dd257604052565b601f909101601f19168101906001600160401b03821190821017610dd257604052565b3d15610e60573d906001600160401b038211610dd25760405191610e54601f8201601f191660200184610e03565b82523d6000602084013e565b606090565b51906001600160a01b0382168203610d8257565b519060ff82168203610d8257565b6001600160401b038111610dd25760051b60200190565b6033546001600160a01b03163303610eb257565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b600260655414610f07576002606555565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b15610f5357565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b603380546001600160a01b039283166001600160a01b031982168117909255909116600080516020611028833981519152600080a3565b60ff60975416610fef57565b60405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606490fdfe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a2646970667358221220346599c2ee97a05e57beb298ee85981cbd9ccf038dd4a381218b27ef29ec9a2364736f6c63430008180033",
508
+ "deployedBytecode": "0x60c0604081815260048036101561001557600080fd5b60009260e0843560e01c9182630d1cfcae14610d47575081633f4ba83a14610cb157816346aec1c414610aaf57508063485cc955146109095780635ac44282146107605780635c975abb1461073c57806368233eef1461071d578063715018a6146106cf5780637beed27c146102d55780638456cb591461027a5780638da5cb5b1461025157806395ccea67146101a8578063cfdbf2541461018c578063e2fdcc171461015f5763f2fde38b146100cb57600080fd5b3461015b57602036600319011261015b576100e4610d6c565b916100ed610e9e565b6001600160a01b03831615610109578361010684610fac565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b50503461018857816003193601126101885760cb5490516001600160a01b039091168152602090f35b5080fd5b5050346101885781600319360112610188576020905160328152f35b50903461015b578060031936011261015b576101c2610d6c565b90602435926101cf610e9e565b8480808087875af16101df610e26565b501561021d5750519182526001600160a01b0316907f5fafa99d0643513820be26656b45130b01e1c03062e1266bf36f88cbd3bd969590602090a280f35b6020606492519162461bcd60e51b8352820152600f60248201526e1dda5d1a191c985dc819985a5b1959608a1b6044820152fd5b50503461018857816003193601126101885760335490516001600160a01b039091168152602090f35b50503461018857816003193601126101885760207f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258916102b8610e9e565b6102c0610fe3565b600160ff19609754161760975551338152a180f35b5060a036600319011261015b576001600160401b03928135848111610188576103019036908401610d87565b6024929150823586811161015b5761031c9036908601610d87565b90966044358181116106cb576103359036908801610d87565b9390506064358281116106c75761034f9036908901610d87565b9390506084359461035e610ef6565b610366610fe3565b82156106b757603294603284116106a25782841491821592610697575b50811561068c575b5061067c57841561066c5760ca54996000198b1461065a576001809b01948560ca5587608052875b848110610611575050505060805134106105f5576103e86103d382610e87565b916103e08a519384610e03565b808352610e87565b602060a052601f19013660a05183013787519361040485610db7565b33855260a08051608080519188019182528b88019485526060880193845287018881524283890190815260c089018a8152978a52925160c990528b8920975188546001600160a01b0319166001600160a01b039190911617885590518c88015592518051919460028801919083116105e357600160401b83116105e35781548383558084106105b9575b5060a0510190885260a05188208c895b8481106105a5575050505050516003850155868401905160058110156105935790600693929160ff80198354169116179055516005840155519101556080513411610528575b50505060ca549181516080518152837f271a5ac6a1edc479b01276b5d7778e201d4af7d76c64756a820efce2319e6635339260a05190a36065555190815260a05190f35b60805134033481116105825781808092335af1610543610e26565b501561054f57806104e4565b600d90606493519262461bcd60e51b845260a051908401528201526c1c99599d5b990819985a5b1959609a1b6044820152fd5b50634e487b7160e01b815260118352fd5b634e487b7160e01b8652602188528686fd5b83519360a051019381840155018d9061049e565b828a5260a0518a20908e8583015b82840181106105d85750505061048e565b8c8155018f906105c7565b634e487b7160e01b895260418b528989fd5b8751622f087f60ea1b8152348189015260805181880152604490fd5b83811015610649578060051b830135608051018060805111610637576080528c016103b3565b634e487b7160e01b8a5260118c528a8afd5b634e487b7160e01b8952818b528989fd5b634e487b7160e01b8752601189528787fd5b88516314b203f160e01b81528890fd5b88516305f8ded760e21b81528890fd5b90508214153861038b565b841415915038610383565b8a5162da0e9960e81b81526032818c01528990fd5b89516311e51d5160e31b81528990fd5b8580fd5b8480fd5b833461071a578060031936011261071a576106e8610e9e565b603380546001600160a01b0319811690915581906001600160a01b03166000805160206110288339815191528280a380f35b80fd5b50503461018857816003193601126101885760209060ca549051908152f35b50503461018857816003193601126101885760209060ff6097541690519015158152f35b50913461071a576020908160031936011261071a578060c0845161078381610db7565b82815282858201526060868201528260608201528260808201528260a082015201528335815260c982528281208351916107bc83610db7565b60018060a01b03948583541684526001936001840154948682019586526002850191835180848a82965493848152019088528a882092885b868d8383106108f4575050505061080d92500384610e03565b8381019283526003860154926060820193845260ff8b8801541694608083019560058110156108e157869a94939a52600660058901549860a08c01998a5201549860c08b01998a5281519b858d526101008d019b5116858d015251908b0152519760e060608b01528851809152826101208b01990192865b8281106108ce575050505050516080870152519060058210156108bb575084955060a08501525160c08401525160e08301520390f35b634e487b7160e01b815260218752602490fd5b84518b5299810199938101938301610885565b634e487b7160e01b885260218d52602488fd5b865485529581019589955090930192016107f4565b503461015b578160031936011261015b57610922610d6c565b6001600160a01b03919060243583811691908290036106c75785549360ff8560081c161593848095610aa2575b8015610a8b575b15610a31575060ff1985811660011788559484610a20575b5061098860ff885460081c1661098381610f4c565b610f4c565b61099133610fac565b8654946109be60ff8760081c166109a781610f4c565b6109b081610f4c565b600160655561098381610f4c565b6097541660975560018060a01b031991168160cb54161760cb5560cc54161760cc556109e8578280f35b61ff001916825551600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b61ffff19166101011787553861096e565b608490602088519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b1580156109565750600160ff871614610956565b50600160ff87161061094f565b92905034610cad57602091826003193601126106cb57803593610ad0610ef6565b84865260c98452828620918083019182549160ff9060ff8416926005841015610c9a576001809403610c8b578a928b60029260028a0180549660018060a01b0360cb5416935b888210610b8257925050508c7f9a89f509e37dc7806bccdc9c87aef83aab35ea35ca71d6e0573a935e8938f1ba8d60068e8e8e60038f60ff19161790558151848101908782524284820152838152610b6d81610de8565b519020928391015551908152a2600160655580f35b808f918f92858252848183200154935190810190630eb2f3bf60e11b825260249485820152848152610bb381610de8565b5190885afa90610bc1610e26565b9115610c5257508381805181010312610c4d57610bed8f8f90610be5908401610e65565b508201610e65565b5060608101516001600160801b03811603610c4d57608081015163ffffffff811603610c4d578581610c2e60c0610c2760a08c9601610e79565b9201610e79565b501603610c3d5788018f610b16565b8c5163951997d360e01b81528790fd5b508f80fd5b8f8f6064928b92601392519362461bcd60e51b8552840152820152726661696c656420746f2072656164207461736b60681b6044820152fd5b508651639e6f638f60e01b8152fd5b634e487b7160e01b8b526021825260248bfd5b8380fd5b50503461015b578260031936011261015b57610ccb610e9e565b6097549060ff821615610d0d575060ff1916609755513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa90602090a180f35b606490602084519162461bcd60e51b8352820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152fd5b85903461018857816003193601126101885760cc546001600160a01b03168152602090f35b600435906001600160a01b0382168203610d8257565b600080fd5b9181601f84011215610d82578235916001600160401b038311610d82576020808501948460051b010111610d8257565b60e081019081106001600160401b03821117610dd257604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b03821117610dd257604052565b601f909101601f19168101906001600160401b03821190821017610dd257604052565b3d15610e60573d906001600160401b038211610dd25760405191610e54601f8201601f191660200184610e03565b82523d6000602084013e565b606090565b51906001600160a01b0382168203610d8257565b519060ff82168203610d8257565b6001600160401b038111610dd25760051b60200190565b6033546001600160a01b03163303610eb257565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b600260655414610f07576002606555565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b15610f5357565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b603380546001600160a01b039283166001600160a01b031982168117909255909116600080516020611028833981519152600080a3565b60ff60975416610fef57565b60405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606490fdfe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a2646970667358221220346599c2ee97a05e57beb298ee85981cbd9ccf038dd4a381218b27ef29ec9a2364736f6c63430008180033",
519
509
  "linkReferences": {},
520
510
  "deployedLinkReferences": {}
521
511
  }