@gooddollar/goodcollective-contracts 1.2.0 → 1.3.0

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 (45) hide show
  1. package/contracts/DirectPayments/DirectPaymentsFactory.sol +12 -7
  2. package/contracts/DirectPayments/DirectPaymentsLibrary.sol +54 -0
  3. package/contracts/DirectPayments/DirectPaymentsPool.sol +13 -38
  4. package/contracts/GoodCollective/GoodCollectiveSuperApp.sol +65 -13
  5. package/contracts/GoodCollective/IGoodCollectiveSuperApp.sol +6 -0
  6. package/contracts/Interfaces.sol +25 -0
  7. package/contracts/UBI/UBIPool.sol +76 -75
  8. package/contracts/UBI/UBIPoolFactory.sol +15 -10
  9. package/contracts/utils/HelperLibrary.sol +56 -23
  10. package/package.json +1 -1
  11. package/releases/deployment.json +4836 -3746
  12. package/typechain-types/contracts/DirectPayments/DirectPaymentsFactory.ts +16 -4
  13. package/typechain-types/contracts/DirectPayments/DirectPaymentsPool.sol/DirectPaymentsPool.ts +138 -9
  14. package/typechain-types/contracts/GoodCollective/GoodCollectiveSuperApp.ts +101 -6
  15. package/typechain-types/contracts/{DirectPayments/DirectPaymentsFactory.sol/IRegistry.ts → GoodCollective/IGoodCollectiveSuperApp.sol/IGoodCollectiveSuperApp.ts} +18 -27
  16. package/typechain-types/contracts/GoodCollective/IGoodCollectiveSuperApp.sol/index.ts +1 -0
  17. package/typechain-types/contracts/{UBI/UBIPool.sol → Interfaces.sol}/IIdentityV2.ts +1 -1
  18. package/typechain-types/contracts/{UBI/UBIPool.sol → Interfaces.sol}/IMembersValidator.ts +1 -1
  19. package/typechain-types/contracts/{UBI/UBIPool.sol → Interfaces.sol}/index.ts +0 -1
  20. package/typechain-types/contracts/UBI/{UBIPool.sol/UBIPool.ts → UBIPool.ts} +239 -47
  21. package/typechain-types/contracts/UBI/UBIPoolFactory.ts +58 -34
  22. package/typechain-types/contracts/UBI/index.ts +1 -2
  23. package/typechain-types/contracts/index.ts +2 -0
  24. package/typechain-types/contracts/utils/HelperLibrary.ts +46 -4
  25. package/typechain-types/factories/contracts/DirectPayments/DirectPaymentsFactory__factory.ts +11 -1
  26. package/typechain-types/factories/contracts/DirectPayments/DirectPaymentsPool.sol/DirectPaymentsPool__factory.ts +72 -1
  27. package/typechain-types/factories/contracts/GoodCollective/GoodCollectiveSuperApp__factory.ts +48 -0
  28. package/typechain-types/factories/contracts/{DirectPayments/DirectPaymentsFactory.sol/IRegistry__factory.ts → GoodCollective/IGoodCollectiveSuperApp.sol/IGoodCollectiveSuperApp__factory.ts} +19 -23
  29. package/typechain-types/factories/contracts/GoodCollective/IGoodCollectiveSuperApp.sol/index.ts +1 -0
  30. package/typechain-types/factories/contracts/{UBI/UBIPool.sol → Interfaces.sol}/IIdentityV2__factory.ts +1 -1
  31. package/typechain-types/factories/contracts/{UBI/UBIPool.sol → Interfaces.sol}/IMembersValidator__factory.ts +1 -1
  32. package/typechain-types/factories/contracts/{UBI/UBIPool.sol → Interfaces.sol}/index.ts +0 -1
  33. package/typechain-types/factories/contracts/UBI/UBIPoolFactory__factory.ts +51 -7
  34. package/typechain-types/factories/contracts/UBI/UBIPool__factory.ts +2052 -0
  35. package/typechain-types/factories/contracts/UBI/index.ts +1 -1
  36. package/typechain-types/factories/contracts/index.ts +1 -0
  37. package/typechain-types/factories/contracts/test/HelperLibraryTest__factory.ts +1 -1
  38. package/typechain-types/factories/contracts/utils/HelperLibrary__factory.ts +31 -1
  39. package/typechain-types/hardhat.d.ts +18 -9
  40. package/typechain-types/index.ts +4 -2
  41. package/typechain-types/contracts/DirectPayments/DirectPaymentsFactory.sol/DirectPaymentsFactory.ts +0 -1327
  42. package/typechain-types/contracts/DirectPayments/DirectPaymentsFactory.sol/index.ts +0 -5
  43. package/typechain-types/factories/contracts/DirectPayments/DirectPaymentsFactory.sol/DirectPaymentsFactory__factory.ts +0 -1004
  44. package/typechain-types/factories/contracts/DirectPayments/DirectPaymentsFactory.sol/index.ts +0 -5
  45. package/typechain-types/factories/contracts/UBI/UBIPool.sol/UBIPool__factory.ts +0 -1916
@@ -110,7 +110,7 @@ const _abi = [
110
110
  },
111
111
  ],
112
112
  indexed: false,
113
- internalType: "struct UBIPool.PoolSettings",
113
+ internalType: "struct PoolSettings",
114
114
  name: "poolSettings",
115
115
  type: "tuple",
116
116
  },
@@ -143,7 +143,7 @@ const _abi = [
143
143
  },
144
144
  {
145
145
  internalType: "uint32",
146
- name: "maxClaimers",
146
+ name: "maxMembers",
147
147
  type: "uint32",
148
148
  },
149
149
  {
@@ -379,7 +379,7 @@ const _abi = [
379
379
  type: "address",
380
380
  },
381
381
  ],
382
- internalType: "struct UBIPool.PoolSettings",
382
+ internalType: "struct PoolSettings",
383
383
  name: "_settings",
384
384
  type: "tuple",
385
385
  },
@@ -412,7 +412,7 @@ const _abi = [
412
412
  },
413
413
  {
414
414
  internalType: "uint32",
415
- name: "maxClaimers",
415
+ name: "maxMembers",
416
416
  type: "uint32",
417
417
  },
418
418
  {
@@ -425,6 +425,28 @@ const _abi = [
425
425
  name: "_limits",
426
426
  type: "tuple",
427
427
  },
428
+ {
429
+ components: [
430
+ {
431
+ internalType: "uint32",
432
+ name: "maxPeriodClaimers",
433
+ type: "uint32",
434
+ },
435
+ {
436
+ internalType: "uint256",
437
+ name: "minClaimAmount",
438
+ type: "uint256",
439
+ },
440
+ {
441
+ internalType: "uint32",
442
+ name: "managerFeeBps",
443
+ type: "uint32",
444
+ },
445
+ ],
446
+ internalType: "struct UBIPool.ExtendedSettings",
447
+ name: "_extendedSettings",
448
+ type: "tuple",
449
+ },
428
450
  ],
429
451
  name: "createManagedPool",
430
452
  outputs: [
@@ -472,7 +494,7 @@ const _abi = [
472
494
  type: "address",
473
495
  },
474
496
  ],
475
- internalType: "struct UBIPool.PoolSettings",
497
+ internalType: "struct PoolSettings",
476
498
  name: "_settings",
477
499
  type: "tuple",
478
500
  },
@@ -505,7 +527,7 @@ const _abi = [
505
527
  },
506
528
  {
507
529
  internalType: "uint32",
508
- name: "maxClaimers",
530
+ name: "maxMembers",
509
531
  type: "uint32",
510
532
  },
511
533
  {
@@ -518,6 +540,28 @@ const _abi = [
518
540
  name: "_limits",
519
541
  type: "tuple",
520
542
  },
543
+ {
544
+ components: [
545
+ {
546
+ internalType: "uint32",
547
+ name: "maxPeriodClaimers",
548
+ type: "uint32",
549
+ },
550
+ {
551
+ internalType: "uint256",
552
+ name: "minClaimAmount",
553
+ type: "uint256",
554
+ },
555
+ {
556
+ internalType: "uint32",
557
+ name: "managerFeeBps",
558
+ type: "uint32",
559
+ },
560
+ ],
561
+ internalType: "struct UBIPool.ExtendedSettings",
562
+ name: "_extendedSettings",
563
+ type: "tuple",
564
+ },
521
565
  ],
522
566
  name: "createPool",
523
567
  outputs: [
@@ -932,7 +976,7 @@ const _abi = [
932
976
  ] as const;
933
977
 
934
978
  const _bytecode =
935
- "0x60a06040523060805234801561001457600080fd5b50608051613b3b61004c60003960008181610ad301528181610b1601528181610ba701528181610bea0152610dd40152613b3b6000f3fe608060405260043610620001585760003560e01c806301ffc9a7146200015d578063038defd714620001975780630b1ca49a14620001cd5780631e13edd214620001f4578063248a9ca3146200022857806324a9d853146200025c5780632f2ff15d146200029857806336568abe14620002bd5780633659cfe614620002e25780634690484014620003075780634f1ef28614620003295780634f962c8c146200034057806352d1902d146200036557806357b70767146200037d5780638abf607714620003a25780638e819e5414620003c457806391d1485414620003e95780639cedd89b146200040e5780639cf5c6131462000448578063a217fddf146200046d578063ac4afa381462000484578063ca6d56dc14620004a9578063d547741f14620004ce578063e9e50b0414620004f3578063f0eabaa71462000518578063fadd65c3146200053d578063fcf1e0091462000571575b600080fd5b3480156200016a57600080fd5b50620001826200017c36600462001f49565b62000596565b60405190151581526020015b60405180910390f35b348015620001a457600080fd5b50620001bc620001b636600462001f8b565b620005ce565b6040516200018e9392919062001fff565b348015620001da57600080fd5b50620001f2620001ec36600462001f8b565b62000719565b005b3480156200020157600080fd5b50620002196200021336600462002203565b620008c9565b6040516200018e9190620022f6565b3480156200023557600080fd5b506200024d620002473660046200230a565b62000a0b565b6040519081526020016200018e565b3480156200026957600080fd5b5060fe546200028290600160a01b900463ffffffff1681565b60405163ffffffff90911681526020016200018e565b348015620002a557600080fd5b50620001f2620002b736600462002324565b62000a20565b348015620002ca57600080fd5b50620001f2620002dc36600462002324565b62000a47565b348015620002ef57600080fd5b50620001f26200030136600462001f8b565b62000ac9565b3480156200031457600080fd5b5060fe5462000219906001600160a01b031681565b620001f26200033a36600462002357565b62000b9d565b3480156200034d57600080fd5b50620001f26200035f366004620023c1565b62000c5e565b3480156200037257600080fd5b506200024d62000dc7565b3480156200038a57600080fd5b50620002196200039c3660046200240c565b62000e78565b348015620003af57600080fd5b5060fb5462000219906001600160a01b031681565b348015620003d157600080fd5b50620001f2620003e33660046200243b565b62000eb1565b348015620003f657600080fd5b50620001826200040836600462002324565b62001057565b3480156200041b57600080fd5b50620002196200042d3660046200230a565b60fd602052600090815260409020546001600160a01b031681565b3480156200045557600080fd5b50620001f26200046736600462002493565b62001082565b3480156200047a57600080fd5b506200024d600081565b3480156200049157600080fd5b5062000219620004a33660046200230a565b620010eb565b348015620004b657600080fd5b50620001f2620004c836600462001f8b565b62001117565b348015620004db57600080fd5b50620001f2620004ed36600462002324565b62001192565b3480156200050057600080fd5b50620001f262000512366004620024c6565b620011b4565b3480156200052557600080fd5b50620002196200053736600462002203565b62001201565b3480156200054a57600080fd5b50620005626200055c36600462001f8b565b62001338565b6040516200018e919062002500565b3480156200057e57600080fd5b50620001f26200059036600462001f8b565b620013b0565b60006001600160e01b03198216637965db0b60e01b1480620005c857506301ffc9a760e01b6001600160e01b03198316145b92915050565b60fc60205260009081526040902080548190620005eb906200254f565b80601f016020809104026020016040519081016040528092919081815260200182805462000619906200254f565b80156200066a5780601f106200063e576101008083540402835291602001916200066a565b820191906000526020600020905b8154815290600101906020018083116200064c57829003601f168201915b5050506001840154600285018054949560ff90921694919350915062000690906200254f565b80601f0160208091040260200160405190810160405280929190818152602001828054620006be906200254f565b80156200070f5780601f10620006e3576101008083540402835291602001916200070f565b820191906000526020600020905b815481529060010190602001808311620006f157829003601f168201915b5050505050905083565b33600090815260fc60205260409020600201805462000738906200254f565b90506000036200075b57604051630cc15fbb60e11b815260040160405180910390fd5b60005b6001600160a01b038216600090815260ff6020526040902054811015620008c5576001600160a01b038216600090815260ff60205260409020805433919083908110620007af57620007af6200258b565b6000918252602090912001546001600160a01b031603620008b0576001600160a01b038216600090815260ff602052604090208054620007f290600190620025b7565b815481106200080557620008056200258b565b60009182526020808320909101546001600160a01b03858116845260ff90925260409092208054919092169190839081106200084557620008456200258b565b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918416815260ff909152604090208054806200088d576200088d620025cd565b600082815260209020810160001990810180546001600160a01b03191690550190555b80620008bc81620025e3565b9150506200075e565b5050565b8351602080860191909120600090815260fd909152604081205485906001600160a01b03168015620009f057806001600160a01b03166391d14854826001600160a01b031663a217fddf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000943573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009699190620025ff565b336040518363ffffffff1660e01b81526004016200098992919062002619565b602060405180830381865afa158015620009a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009cd919062002630565b1515600003620009f057604051631d799a6d60e21b815260040160405180910390fd5b62000a008787878760006200145b565b979650505050505050565b60009081526065602052604090206001015490565b62000a2b8262000a0b565b62000a3681620017d8565b62000a428383620017e4565b505050565b6001600160a01b038116331462000abd5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b620008c582826200186e565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362000b145760405162461bcd60e51b815260040162000ab49062002650565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662000b48620018d8565b6001600160a01b03161462000b715760405162461bcd60e51b815260040162000ab4906200268b565b62000b7c81620018f5565b6040805160008082526020820190925262000b9a9183919062001902565b50565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362000be85760405162461bcd60e51b815260040162000ab49062002650565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662000c1c620018d8565b6001600160a01b03161462000c455760405162461bcd60e51b815260040162000ab4906200268b565b62000c5082620018f5565b620008c58282600162001902565b81806001600160a01b03166391d14854826001600160a01b031663a217fddf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000cad573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000cd39190620025ff565b336040518363ffffffff1660e01b815260040162000cf392919062002619565b602060405180830381865afa15801562000d11573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000d37919062002630565b151560000362000d5a57604051631d799a6d60e21b815260040160405180910390fd5b6001600160a01b038316600090815260fc6020526040902062000d7e838262002718565b50826001600160a01b03167f941ad6ac0538b96f9e89b9b52ec11031b50591baa2f16c0cdf1f94c69f389d6d8360405162000dba9190620027e4565b60405180910390a2505050565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161462000e645760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840162000ab4565b5060008051602062003abf83398151915290565b60ff602052816000526040600020818154811062000e9557600080fd5b6000918252602090912001546001600160a01b03169150829050565b600054610100900460ff161580801562000ed25750600054600160ff909116105b8062000ef7575062000ee43062001a7a565b15801562000ef7575060005460ff166001145b62000f5c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840162000ab4565b6000805460ff19166001179055801562000f80576000805461ff0019166101001790555b8360405162000f8f9062001f1f565b62000f9b9190620022f6565b604051809103906000f08015801562000fb8573d6000803e3d6000fd5b5060fb80546001600160a01b0319166001600160a01b0392831617905560fe80549185166001600160c01b031990921691909117600160a01b63ffffffff8516021790556200100960008662001a89565b801562001050576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60006200108f81620017d8565b6001600160a01b038316600081815260fc6020908152604091829020600101805460ff191686151590811790915591519182527fafdc942e2e075abc791516f168aed9293862095eb31c0dab19c8d0d061018a93910162000dba565b6101008181548110620010fd57600080fd5b6000918252602090912001546001600160a01b0316905081565b33600090815260fc60205260409020600201805462001136906200254f565b90506000036200115957604051630cc15fbb60e11b815260040160405180910390fd5b6001600160a01b0316600090815260ff602090815260408220805460018101825590835291200180546001600160a01b03191633179055565b6200119d8262000a0b565b620011a881620017d8565b62000a4283836200186e565b6000620011c181620017d8565b5060fe80546001600160a01b039093166001600160a01b031963ffffffff909316600160a01b02929092166001600160c01b031990931692909217179055565b8351602080860191909120600090815260fd909152604081205485906001600160a01b031680156200132857806001600160a01b03166391d14854826001600160a01b031663a217fddf6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200127b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620012a19190620025ff565b336040518363ffffffff1660e01b8152600401620012c192919062002619565b602060405180830381865afa158015620012df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001305919062002630565b15156000036200132857604051631d799a6d60e21b815260040160405180910390fd5b62000a008787878760016200145b565b6001600160a01b038116600090815260ff6020908152604091829020805483518184028101840190945280845260609392830182828015620013a457602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001385575b50505050509050919050565b6000620013bd81620017d8565b60fb54604051631b2ce7f360e11b81526001600160a01b0390911690633659cfe690620013ef908590600401620022f6565b600060405180830381600087803b1580156200140a57600080fd5b505af11580156200141f573d6000803e3d6000fd5b50506040516001600160a01b03851692507f71ce7583e9b7e543de8a69a6af369c0b3528b287064f9dce26a38025e36dc2c79150600090a25050565b600080848430604051602401620014759392919062002882565b60408051601f198184030181529190526020810180516001600160e01b03166346be266560e11b17905290508215620014fa5760fb546040516001600160a01b03909116908290620014c79062001f2d565b620014d4929190620028bc565b604051809103906000f080158015620014f1573d6000803e3d6000fd5b509150620015b1565b60fb60009054906101000a90046001600160a01b03166001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200154e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015749190620028ea565b81604051620015839062001f3b565b62001590929190620028bc565b604051809103906000f080158015620015ad573d6000803e3d6000fd5b5091505b8651602080890191909120600090815260fd90915260409020546001600160a01b03166200160c578651602080890191909120600090815260fd9091526040902080546001600160a01b0319166001600160a01b0384161790555b6001600160a01b038216600090815260fc6020526040902062001630878262002718565b506001600160a01b038216600090815260fc6020526040902060020162001658888262002718565b50604051632f2ff15d60e01b81526001600160a01b03831690632f2ff15d906200168a90600090339060040162002619565b600060405180830381600087803b158015620016a557600080fd5b505af1158015620016ba573d6000803e3d6000fd5b5050604051631b2b455f60e11b81526001600160a01b03851692506336568abe9150620016ef90600090309060040162002619565b600060405180830381600087803b1580156200170a57600080fd5b505af11580156200171f573d6000803e3d6000fd5b505061010080546001810182556000919091527f45e010b9ae401e2eb71529478da8bd513a9bdc2d095a111e324f5b95c09ed87b0180546001600160a01b0319166001600160a01b03861617905550506040516200177f9088906200290a565b6040518091039020826001600160a01b03167f2d89f584379c0b23270129f3ee10b4bfdd48e940725c460ee90c3b42b6106440888888604051620017c69392919062002928565b60405180910390a35095945050505050565b62000b9a813362001a95565b620017f0828262001057565b620008c55760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556200182a3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6200187a828262001057565b15620008c55760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60008051602062003abf833981519152546001600160a01b031690565b6000620008c581620017d8565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615620019385762000a428362001af9565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562001995575060408051601f3d908101601f191682019092526200199291810190620025ff565b60015b620019fa5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840162000ab4565b60008051602062003abf833981519152811462001a6c5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840162000ab4565b5062000a4283838362001b98565b6001600160a01b03163b151590565b620008c58282620017e4565b62001aa1828262001057565b620008c55762001ab18162001bc9565b62001abe83602062001bdc565b60405160200162001ad19291906200295f565b60408051601f198184030181529082905262461bcd60e51b825262000ab491600401620027e4565b62001b048162001a7a565b62001b685760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840162000ab4565b60008051602062003abf83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b62001ba38362001d9c565b60008251118062001bb15750805b1562000a425762001bc3838362001dde565b50505050565b6060620005c86001600160a01b03831660145b6060600062001bed836002620029d2565b62001bfa906002620029ec565b6001600160401b0381111562001c145762001c146200203a565b6040519080825280601f01601f19166020018201604052801562001c3f576020820181803683370190505b509050600360fc1b8160008151811062001c5d5762001c5d6200258b565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811062001c8f5762001c8f6200258b565b60200101906001600160f81b031916908160001a905350600062001cb5846002620029d2565b62001cc2906001620029ec565b90505b600181111562001d44576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811062001cfa5762001cfa6200258b565b1a60f81b82828151811062001d135762001d136200258b565b60200101906001600160f81b031916908160001a90535060049490941c9362001d3c8162002a02565b905062001cc5565b50831562001d955760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640162000ab4565b9392505050565b62001da78162001af9565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606062001deb8362001a7a565b62001e485760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b606482015260840162000ab4565b600080846001600160a01b03168460405162001e6591906200290a565b600060405180830381855af49150503d806000811462001ea2576040519150601f19603f3d011682016040523d82523d6000602084013e62001ea7565b606091505b509150915062001ed2828260405180606001604052806027815260200162003adf6027913962001edb565b95945050505050565b6060831562001eec57508162001d95565b62001d95838381511562001f035781518083602001fd5b8060405162461bcd60e51b815260040162000ab49190620027e4565b6104c98062002a1d83390190565b6106cd8062002ee683390190565b6104ec80620035b383390190565b60006020828403121562001f5c57600080fd5b81356001600160e01b03198116811462001d9557600080fd5b6001600160a01b038116811462000b9a57600080fd5b60006020828403121562001f9e57600080fd5b813562001d958162001f75565b60005b8381101562001fc857818101518382015260200162001fae565b50506000910152565b6000815180845262001feb81602086016020860162001fab565b601f01601f19169290920160200192915050565b60608152600062002014606083018662001fd1565b8415156020840152828103604084015262002030818562001fd1565b9695505050505050565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b03811182821017156200207557620020756200203a565b60405290565b60006001600160401b03808411156200209857620020986200203a565b604051601f8501601f19908116603f01168101908282118183101715620020c357620020c36200203a565b81604052809350858152868686011115620020dd57600080fd5b858560208301376000602087830101525050509392505050565b600082601f8301126200210957600080fd5b62001d95838335602085016200207b565b803563ffffffff811681146200212f57600080fd5b919050565b801515811462000b9a57600080fd5b600060e082840312156200215657600080fd5b60405160e081016001600160401b03811182821017156200217b576200217b6200203a565b6040529050806200218c836200211a565b81526200219c602084016200211a565b6020820152620021af604084016200211a565b60408201526060830135620021c48162002134565b606082015260808381013590820152620021e160a084016200211a565b60a082015260c0830135620021f68162002134565b60c0919091015292915050565b6000806000808486036101a08112156200221c57600080fd5b85356001600160401b03808211156200223457600080fd5b6200224289838a01620020f7565b965060208801359150808211156200225957600080fd5b506200226888828901620020f7565b9450506080603f19820112156200227e57600080fd5b506200228962002050565b6040860135620022998162001f75565b81526060860135620022ab8162001f75565b60208201526080860135620022c08162001f75565b604082015260a0860135620022d58162001f75565b60608201529150620022eb8660c0870162002143565b905092959194509250565b6001600160a01b0391909116815260200190565b6000602082840312156200231d57600080fd5b5035919050565b600080604083850312156200233857600080fd5b8235915060208301356200234c8162001f75565b809150509250929050565b600080604083850312156200236b57600080fd5b8235620023788162001f75565b915060208301356001600160401b038111156200239457600080fd5b8301601f81018513620023a657600080fd5b620023b7858235602084016200207b565b9150509250929050565b60008060408385031215620023d557600080fd5b8235620023e28162001f75565b915060208301356001600160401b03811115620023fe57600080fd5b620023b785828601620020f7565b600080604083850312156200242057600080fd5b82356200242d8162001f75565b946020939093013593505050565b600080600080608085870312156200245257600080fd5b84356200245f8162001f75565b93506020850135620024718162001f75565b92506040850135620024838162001f75565b9150620022eb606086016200211a565b60008060408385031215620024a757600080fd5b8235620024b48162001f75565b915060208301356200234c8162002134565b60008060408385031215620024da57600080fd5b8235620024e78162001f75565b9150620024f7602084016200211a565b90509250929050565b6020808252825182820181905260009190848201906040850190845b81811015620025435783516001600160a01b0316835292840192918401916001016200251c565b50909695505050505050565b600181811c908216806200256457607f821691505b6020821081036200258557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115620005c857620005c8620025a1565b634e487b7160e01b600052603160045260246000fd5b600060018201620025f857620025f8620025a1565b5060010190565b6000602082840312156200261257600080fd5b5051919050565b9182526001600160a01b0316602082015260400190565b6000602082840312156200264357600080fd5b815162001d958162002134565b6020808252602c9082015260008051602062003a9f83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602062003a9f83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b601f82111562000a4257600081815260208120601f850160051c81016020861015620026ef5750805b601f850160051c820191505b818110156200271057828155600101620026fb565b505050505050565b81516001600160401b038111156200273457620027346200203a565b6200274c816200274584546200254f565b84620026c6565b602080601f8311600181146200278457600084156200276b5750858301515b600019600386901b1c1916600185901b17855562002710565b600085815260208120601f198616915b82811015620027b55788860151825594840194600190910190840162002794565b5085821015620027d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208152600062001d95602083018462001fd1565b80516001600160a01b03908116835260208083015182169084015260408083015182169084015260609182015116910152565b63ffffffff808251168352806020830151166020840152806040830151166040840152606082015115156060840152608082015160808401528060a08301511660a08401525060c0810151151560c08301525050565b6101808101620028938286620027f9565b620028a260808301856200282c565b6001600160a01b0392909216610160919091015292915050565b6001600160a01b0383168152604060208201819052600090620028e29083018462001fd1565b949350505050565b600060208284031215620028fd57600080fd5b815162001d958162001f75565b600082516200291e81846020870162001fab565b9190910192915050565b60006101808083526200293e8184018762001fd1565b915050620029506020830185620027f9565b620028e260a08301846200282c565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8152600083516200299381601785016020880162001fab565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351620029c681602884016020880162001fab565b01602801949350505050565b8082028115828204841417620005c857620005c8620025a1565b80820180821115620005c857620005c8620025a1565b60008162002a145762002a14620025a1565b50600019019056fe608060405234801561001057600080fd5b506040516104c93803806104c983398101604081905261002f9161013a565b61003833610047565b61004181610097565b5061016a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381163b6101185760405162461bcd60e51b815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561014c57600080fd5b81516001600160a01b038116811461016357600080fd5b9392505050565b610350806101796000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80633659cfe61461005c5780635c60da1b14610071578063715018a61461009a5780638da5cb5b146100a2578063f2fde38b146100aa575b600080fd5b61006f61006a3660046102ea565b6100bd565b005b6001546001600160a01b03165b6040516001600160a01b03909116815260200160405180910390f35b61006f610105565b61007e610119565b61006f6100b83660046102ea565b610128565b6100c56101a6565b6100ce81610205565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b61010d6101a6565b610117600061029a565b565b6000546001600160a01b031690565b6101306101a6565b6001600160a01b03811661019a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6101a38161029a565b50565b336101af610119565b6001600160a01b0316146101175760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610191565b6001600160a01b0381163b6102785760405162461bcd60e51b815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f6044820152721b881a5cc81b9bdd08184818dbdb9d1c9858dd606a1b6064820152608401610191565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156102fc57600080fd5b81356001600160a01b038116811461031357600080fd5b939250505056fea264697066735822122038970e7cf09dc887c70d5260fa612ed542a4b7fc825586d54bcad83fc1ebdd9164736f6c6343000813003360806040526040516106cd3803806106cd83398101604081905261002291610421565b61002e82826000610035565b505061054b565b61003e836100f6565b6040516001600160a01b038416907f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e90600090a260008251118061007f5750805b156100f1576100ef836001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e991906104e1565b8361026e565b505b505050565b6100ff8161029a565b61015e5760405162461bcd60e51b815260206004820152602560248201527f455243313936373a206e657720626561636f6e206973206e6f74206120636f6e6044820152641d1c9858dd60da1b60648201526084015b60405180910390fd5b6101c8816001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561019f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c391906104e1565b61029a565b61022d5760405162461bcd60e51b815260206004820152603060248201527f455243313936373a20626561636f6e20696d706c656d656e746174696f6e206960448201526f1cc81b9bdd08184818dbdb9d1c9858dd60821b6064820152608401610155565b7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5080546001600160a01b0319166001600160a01b0392909216919091179055565b606061029383836040518060600160405280602781526020016106a6602791396102a9565b9392505050565b6001600160a01b03163b151590565b6060600080856001600160a01b0316856040516102c691906104fc565b600060405180830381855af49150503d8060008114610301576040519150601f19603f3d011682016040523d82523d6000602084013e610306565b606091505b50909250905061031886838387610322565b9695505050505050565b6060831561038f5782516000036103885761033c8561029a565b6103885760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610155565b5081610399565b61039983836103a1565b949350505050565b8151156103b15781518083602001fd5b8060405162461bcd60e51b81526004016101559190610518565b80516001600160a01b03811681146103e257600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015610418578181015183820152602001610400565b50506000910152565b6000806040838503121561043457600080fd5b61043d836103cb565b60208401519092506001600160401b038082111561045a57600080fd5b818501915085601f83011261046e57600080fd5b815181811115610480576104806103e7565b604051601f8201601f19908116603f011681019083821181831017156104a8576104a86103e7565b816040528281528860208487010111156104c157600080fd5b6104d28360208301602088016103fd565b80955050505050509250929050565b6000602082840312156104f357600080fd5b610293826103cb565b6000825161050e8184602087016103fd565b9190910192915050565b60208152600082518060208401526105378160408501602087016103fd565b601f01601f19169190910160400192915050565b61014c8061055a6000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610029565b6100c2565b565b600061005c7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50546001600160a01b031690565b6001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610099573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100bd91906100e6565b905090565b3660008037600080366000845af43d6000803e8080156100e1573d6000f35b3d6000fd5b6000602082840312156100f857600080fd5b81516001600160a01b038116811461010f57600080fd5b939250505056fea26469706673582212207b4f4f4bd905b812712d76801c617b8aa3f4c3f8d6d9e59a18563606189dd4e564736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656460806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea2646970667358221220a4cda07e5b291f61d81b4ee016ef5ca6a806aa56384b08ff8d52828dbed4d68d64736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656446756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220bb902b028d41f4c94dc6927678b85cf1d3995382683933259295fcdb77b6daab64736f6c63430008130033";
979
+ "0x60a06040523060805234801561001457600080fd5b50608051613bf961004c60003960008181610991015281816109d401528181610ba901528181610bec0152610dd60152613bf96000f3fe608060405260043610620001585760003560e01c806301ffc9a7146200015d578063038defd714620001975780630b1ca49a14620001cd578063248a9ca314620001f457806324a9d85314620002285780632f2ff15d146200026457806336568abe14620002895780633659cfe614620002ae5780634507464614620002d35780634690484014620003075780634f1ef28614620003295780634f962c8c146200034057806352d1902d146200036557806357b70767146200037d5780638abf607714620003a25780638e819e5414620003c457806391d1485414620003e95780639cedd89b146200040e5780639cf5c6131462000448578063a217fddf146200046d578063ac4afa381462000484578063aec133d214620004a9578063ca6d56dc14620004ce578063d547741f14620004f3578063e9e50b041462000518578063fadd65c3146200053d578063fcf1e0091462000571575b600080fd5b3480156200016a57600080fd5b50620001826200017c36600462001f4f565b62000596565b60405190151581526020015b60405180910390f35b348015620001a457600080fd5b50620001bc620001b636600462001f91565b620005ce565b6040516200018e9392919062002005565b348015620001da57600080fd5b50620001f2620001ec36600462001f91565b62000719565b005b3480156200020157600080fd5b50620002196200021336600462002040565b620008c9565b6040519081526020016200018e565b3480156200023557600080fd5b5060fe546200024e90600160a01b900463ffffffff1681565b60405163ffffffff90911681526020016200018e565b3480156200027157600080fd5b50620001f2620002833660046200205a565b620008de565b3480156200029657600080fd5b50620001f2620002a83660046200205a565b62000905565b348015620002bb57600080fd5b50620001f2620002cd36600462001f91565b62000987565b348015620002e057600080fd5b50620002f8620002f2366004620022c5565b62000a5b565b6040516200018e9190620023cd565b3480156200031457600080fd5b5060fe54620002f8906001600160a01b031681565b620001f26200033a366004620023e1565b62000b9f565b3480156200034d57600080fd5b50620001f26200035f3660046200244b565b62000c60565b3480156200037257600080fd5b506200021962000dc9565b3480156200038a57600080fd5b50620002f86200039c36600462002496565b62000e7a565b348015620003af57600080fd5b5060fb54620002f8906001600160a01b031681565b348015620003d157600080fd5b50620001f2620003e3366004620024c5565b62000eb3565b348015620003f657600080fd5b5062000182620004083660046200205a565b62001059565b3480156200041b57600080fd5b50620002f86200042d36600462002040565b60fd602052600090815260409020546001600160a01b031681565b3480156200045557600080fd5b50620001f26200046736600462002528565b62001084565b3480156200047a57600080fd5b5062000219600081565b3480156200049157600080fd5b50620002f8620004a336600462002040565b620010ed565b348015620004b657600080fd5b50620002f8620004c8366004620022c5565b62001119565b348015620004db57600080fd5b50620001f2620004ed36600462001f91565b62001251565b3480156200050057600080fd5b50620001f2620005123660046200205a565b620012cc565b3480156200052557600080fd5b50620001f2620005373660046200255b565b620012ee565b3480156200054a57600080fd5b50620005626200055c36600462001f91565b6200133b565b6040516200018e919062002595565b3480156200057e57600080fd5b50620001f26200059036600462001f91565b620013b3565b60006001600160e01b03198216637965db0b60e01b1480620005c857506301ffc9a760e01b6001600160e01b03198316145b92915050565b60fc60205260009081526040902080548190620005eb90620025e4565b80601f01602080910402602001604051908101604052809291908181526020018280546200061990620025e4565b80156200066a5780601f106200063e576101008083540402835291602001916200066a565b820191906000526020600020905b8154815290600101906020018083116200064c57829003601f168201915b5050506001840154600285018054949560ff9092169491935091506200069090620025e4565b80601f0160208091040260200160405190810160405280929190818152602001828054620006be90620025e4565b80156200070f5780601f10620006e3576101008083540402835291602001916200070f565b820191906000526020600020905b815481529060010190602001808311620006f157829003601f168201915b5050505050905083565b33600090815260fc6020526040902060020180546200073890620025e4565b90506000036200075b57604051630cc15fbb60e11b815260040160405180910390fd5b60005b6001600160a01b038216600090815260ff6020526040902054811015620008c5576001600160a01b038216600090815260ff60205260409020805433919083908110620007af57620007af62002620565b6000918252602090912001546001600160a01b031603620008b0576001600160a01b038216600090815260ff602052604090208054620007f2906001906200264c565b8154811062000805576200080562002620565b60009182526020808320909101546001600160a01b03858116845260ff909252604090922080549190921691908390811062000845576200084562002620565b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918416815260ff909152604090208054806200088d576200088d62002662565b600082815260209020810160001990810180546001600160a01b03191690550190555b80620008bc8162002678565b9150506200075e565b5050565b60009081526065602052604090206001015490565b620008e982620008c9565b620008f4816200145e565b6200090083836200146a565b505050565b6001600160a01b03811633146200097b5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b620008c58282620014f4565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620009d25760405162461bcd60e51b8152600401620009729062002694565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662000a066200155e565b6001600160a01b03161462000a2f5760405162461bcd60e51b81526004016200097290620026cf565b62000a3a816200157b565b6040805160008082526020820190925262000a589183919062001588565b50565b8451602080870191909120600090815260fd909152604081205486906001600160a01b0316801562000b8257806001600160a01b03166391d14854826001600160a01b031663a217fddf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000ad5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000afb91906200270a565b336040518363ffffffff1660e01b815260040162000b1b92919062002724565b602060405180830381865afa15801562000b39573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000b5f91906200273b565b151560000362000b8257604051631d799a6d60e21b815260040160405180910390fd5b62000b938888888888600162001700565b98975050505050505050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362000bea5760405162461bcd60e51b8152600401620009729062002694565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662000c1e6200155e565b6001600160a01b03161462000c475760405162461bcd60e51b81526004016200097290620026cf565b62000c52826200157b565b620008c58282600162001588565b81806001600160a01b03166391d14854826001600160a01b031663a217fddf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000caf573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000cd591906200270a565b336040518363ffffffff1660e01b815260040162000cf592919062002724565b602060405180830381865afa15801562000d13573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000d3991906200273b565b151560000362000d5c57604051631d799a6d60e21b815260040160405180910390fd5b6001600160a01b038316600090815260fc6020526040902062000d808382620027ad565b50826001600160a01b03167f941ad6ac0538b96f9e89b9b52ec11031b50591baa2f16c0cdf1f94c69f389d6d8360405162000dbc919062002879565b60405180910390a2505050565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161462000e665760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b606482015260840162000972565b5060008051602062003b7d83398151915290565b60ff602052816000526040600020818154811062000e9757600080fd5b6000918252602090912001546001600160a01b03169150829050565b600054610100900460ff161580801562000ed45750600054600160ff909116105b8062000ef9575062000ee63062001a80565b15801562000ef9575060005460ff166001145b62000f5e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840162000972565b6000805460ff19166001179055801562000f82576000805461ff0019166101001790555b8360405162000f919062001f25565b62000f9d9190620023cd565b604051809103906000f08015801562000fba573d6000803e3d6000fd5b5060fb80546001600160a01b0319166001600160a01b0392831617905560fe80549185166001600160c01b031990921691909117600160a01b63ffffffff8516021790556200100b60008662001a8f565b801562001052576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600062001091816200145e565b6001600160a01b038316600081815260fc6020908152604091829020600101805460ff191686151590811790915591519182527fafdc942e2e075abc791516f168aed9293862095eb31c0dab19c8d0d061018a93910162000dbc565b6101008181548110620010ff57600080fd5b6000918252602090912001546001600160a01b0316905081565b8451602080870191909120600090815260fd909152604081205486906001600160a01b031680156200124057806001600160a01b03166391d14854826001600160a01b031663a217fddf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001193573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620011b991906200270a565b336040518363ffffffff1660e01b8152600401620011d992919062002724565b602060405180830381865afa158015620011f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200121d91906200273b565b15156000036200124057604051631d799a6d60e21b815260040160405180910390fd5b62000b938888888888600062001700565b33600090815260fc6020526040902060020180546200127090620025e4565b90506000036200129357604051630cc15fbb60e11b815260040160405180910390fd5b6001600160a01b0316600090815260ff602090815260408220805460018101825590835291200180546001600160a01b03191633179055565b620012d782620008c9565b620012e2816200145e565b620009008383620014f4565b6000620012fb816200145e565b5060fe80546001600160a01b039093166001600160a01b031963ffffffff909316600160a01b02929092166001600160c01b031990931692909217179055565b6001600160a01b038116600090815260ff6020908152604091829020805483518184028101840190945280845260609392830182828015620013a757602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001388575b50505050509050919050565b6000620013c0816200145e565b60fb54604051631b2ce7f360e11b81526001600160a01b0390911690633659cfe690620013f2908590600401620023cd565b600060405180830381600087803b1580156200140d57600080fd5b505af115801562001422573d6000803e3d6000fd5b50506040516001600160a01b03851692507f71ce7583e9b7e543de8a69a6af369c0b3528b287064f9dce26a38025e36dc2c79150600090a25050565b62000a58813362001a9b565b62001476828262001059565b620008c55760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620014b03390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b62001500828262001059565b15620008c55760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60008051602062003b7d833981519152546001600160a01b031690565b6000620008c5816200145e565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615620015be57620009008362001aff565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156200161b575060408051601f3d908101601f1916820190925262001618918101906200270a565b60015b620016805760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840162000972565b60008051602062003b7d8339815191528114620016f25760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840162000972565b506200090083838362001b9e565b600080858585306040516024016200171c949392919062002917565b60408051601f198184030181529190526020810180516001600160e01b031663235b53a160e11b17905290508215620017a15760fb546040516001600160a01b039091169082906200176e9062001f33565b6200177b9291906200297a565b604051809103906000f08015801562001798573d6000803e3d6000fd5b50915062001858565b60fb60009054906101000a90046001600160a01b03166001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620017f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200181b9190620029a8565b816040516200182a9062001f41565b620018379291906200297a565b604051809103906000f08015801562001854573d6000803e3d6000fd5b5091505b87516020808a0191909120600090815260fd90915260409020546001600160a01b0316620018b35787516020808a0191909120600090815260fd9091526040902080546001600160a01b0319166001600160a01b0384161790555b6001600160a01b038216600090815260fc60205260409020620018d78882620027ad565b506001600160a01b038216600090815260fc60205260409020600201620018ff8982620027ad565b50604051632f2ff15d60e01b81526001600160a01b03831690632f2ff15d906200193190600090339060040162002724565b600060405180830381600087803b1580156200194c57600080fd5b505af115801562001961573d6000803e3d6000fd5b5050604051631b2b455f60e11b81526001600160a01b03851692506336568abe91506200199690600090309060040162002724565b600060405180830381600087803b158015620019b157600080fd5b505af1158015620019c6573d6000803e3d6000fd5b505061010080546001810182556000919091527f45e010b9ae401e2eb71529478da8bd513a9bdc2d095a111e324f5b95c09ed87b0180546001600160a01b0319166001600160a01b038616179055505060405162001a26908990620029c8565b6040518091039020826001600160a01b03167f2d89f584379c0b23270129f3ee10b4bfdd48e940725c460ee90c3b42b610644089898960405162001a6d93929190620029e6565b60405180910390a3509695505050505050565b6001600160a01b03163b151590565b620008c582826200146a565b62001aa7828262001059565b620008c55762001ab78162001bcf565b62001ac483602062001be2565b60405160200162001ad792919062002a1d565b60408051601f198184030181529082905262461bcd60e51b8252620009729160040162002879565b62001b0a8162001a80565b62001b6e5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840162000972565b60008051602062003b7d83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b62001ba98362001da2565b60008251118062001bb75750805b15620009005762001bc9838362001de4565b50505050565b6060620005c86001600160a01b03831660145b6060600062001bf383600262002a90565b62001c0090600262002aaa565b6001600160401b0381111562001c1a5762001c1a6200208d565b6040519080825280601f01601f19166020018201604052801562001c45576020820181803683370190505b509050600360fc1b8160008151811062001c635762001c6362002620565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811062001c955762001c9562002620565b60200101906001600160f81b031916908160001a905350600062001cbb84600262002a90565b62001cc890600162002aaa565b90505b600181111562001d4a576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811062001d005762001d0062002620565b1a60f81b82828151811062001d195762001d1962002620565b60200101906001600160f81b031916908160001a90535060049490941c9362001d428162002ac0565b905062001ccb565b50831562001d9b5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640162000972565b9392505050565b62001dad8162001aff565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606062001df18362001a80565b62001e4e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b606482015260840162000972565b600080846001600160a01b03168460405162001e6b9190620029c8565b600060405180830381855af49150503d806000811462001ea8576040519150601f19603f3d011682016040523d82523d6000602084013e62001ead565b606091505b509150915062001ed8828260405180606001604052806027815260200162003b9d6027913962001ee1565b95945050505050565b6060831562001ef257508162001d9b565b62001d9b838381511562001f095781518083602001fd5b8060405162461bcd60e51b815260040162000972919062002879565b6104c98062002adb83390190565b6106cd8062002fa483390190565b6104ec806200367183390190565b60006020828403121562001f6257600080fd5b81356001600160e01b03198116811462001d9b57600080fd5b6001600160a01b038116811462000a5857600080fd5b60006020828403121562001fa457600080fd5b813562001d9b8162001f7b565b60005b8381101562001fce57818101518382015260200162001fb4565b50506000910152565b6000815180845262001ff181602086016020860162001fb1565b601f01601f19169290920160200192915050565b6060815260006200201a606083018662001fd7565b8415156020840152828103604084015262002036818562001fd7565b9695505050505050565b6000602082840312156200205357600080fd5b5035919050565b600080604083850312156200206e57600080fd5b823591506020830135620020828162001f7b565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715620020c857620020c86200208d565b60405290565b60006001600160401b0380841115620020eb57620020eb6200208d565b604051601f8501601f19908116603f011681019082821181831017156200211657620021166200208d565b816040528093508581528686860111156200213057600080fd5b858560208301376000602087830101525050509392505050565b600082601f8301126200215c57600080fd5b62001d9b83833560208501620020ce565b803563ffffffff811681146200218257600080fd5b919050565b801515811462000a5857600080fd5b600060e08284031215620021a957600080fd5b60405160e081016001600160401b0381118282101715620021ce57620021ce6200208d565b604052905080620021df836200216d565b8152620021ef602084016200216d565b602082015262002202604084016200216d565b60408201526060830135620022178162002187565b6060820152608083810135908201526200223460a084016200216d565b60a082015260c0830135620022498162002187565b60c0919091015292915050565b6000606082840312156200226957600080fd5b604051606081016001600160401b03811182821017156200228e576200228e6200208d565b6040529050806200229f836200216d565b815260208301356020820152620022b9604084016200216d565b60408201525092915050565b6000806000806000858703610200811215620022e057600080fd5b86356001600160401b0380821115620022f857600080fd5b620023068a838b016200214a565b975060208901359150808211156200231d57600080fd5b506200232c89828a016200214a565b9550506080603f19820112156200234257600080fd5b506200234d620020a3565b60408701356200235d8162001f7b565b815260608701356200236f8162001f7b565b60208201526080870135620023848162001f7b565b604082015260a0870135620023998162001f7b565b60608201529250620023af8760c0880162002196565b9150620023c1876101a0880162002256565b90509295509295909350565b6001600160a01b0391909116815260200190565b60008060408385031215620023f557600080fd5b8235620024028162001f7b565b915060208301356001600160401b038111156200241e57600080fd5b8301601f810185136200243057600080fd5b6200244185823560208401620020ce565b9150509250929050565b600080604083850312156200245f57600080fd5b82356200246c8162001f7b565b915060208301356001600160401b038111156200248857600080fd5b62002441858286016200214a565b60008060408385031215620024aa57600080fd5b8235620024b78162001f7b565b946020939093013593505050565b60008060008060808587031215620024dc57600080fd5b8435620024e98162001f7b565b93506020850135620024fb8162001f7b565b925060408501356200250d8162001f7b565b91506200251d606086016200216d565b905092959194509250565b600080604083850312156200253c57600080fd5b8235620025498162001f7b565b91506020830135620020828162002187565b600080604083850312156200256f57600080fd5b82356200257c8162001f7b565b91506200258c602084016200216d565b90509250929050565b6020808252825182820181905260009190848201906040850190845b81811015620025d85783516001600160a01b031683529284019291840191600101620025b1565b50909695505050505050565b600181811c90821680620025f957607f821691505b6020821081036200261a57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115620005c857620005c862002636565b634e487b7160e01b600052603160045260246000fd5b6000600182016200268d576200268d62002636565b5060010190565b6020808252602c9082015260008051602062003b5d83398151915260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c9082015260008051602062003b5d83398151915260408201526b6163746976652070726f787960a01b606082015260800190565b6000602082840312156200271d57600080fd5b5051919050565b9182526001600160a01b0316602082015260400190565b6000602082840312156200274e57600080fd5b815162001d9b8162002187565b601f8211156200090057600081815260208120601f850160051c81016020861015620027845750805b601f850160051c820191505b81811015620027a55782815560010162002790565b505050505050565b81516001600160401b03811115620027c957620027c96200208d565b620027e181620027da8454620025e4565b846200275b565b602080601f831160018114620028195760008415620028005750858301515b600019600386901b1c1916600185901b178555620027a5565b600085815260208120601f198616915b828110156200284a5788860151825594840194600190910190840162002829565b5085821015620028695787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208152600062001d9b602083018462001fd7565b80516001600160a01b03908116835260208083015182169084015260408083015182169084015260609182015116910152565b63ffffffff808251168352806020830151166020840152806040830151166040840152606082015115156060840152608082015160808401528060a08301511660a08401525060c0810151151560c08301525050565b6101e081016200292882876200288e565b620029376080830186620028c1565b835163ffffffff90811661016084015260208501516101808401526040909401519093166101a08201526001600160a01b03919091166101c09091015292915050565b6001600160a01b0383168152604060208201819052600090620029a09083018462001fd7565b949350505050565b600060208284031215620029bb57600080fd5b815162001d9b8162001f7b565b60008251620029dc81846020870162001fb1565b9190910192915050565b6000610180808352620029fc8184018762001fd7565b91505062002a0e60208301856200288e565b620029a060a0830184620028c1565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81526000835162002a5181601785016020880162001fb1565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835162002a8481602884016020880162001fb1565b01602801949350505050565b8082028115828204841417620005c857620005c862002636565b80820180821115620005c857620005c862002636565b60008162002ad25762002ad262002636565b50600019019056fe608060405234801561001057600080fd5b506040516104c93803806104c983398101604081905261002f9161013a565b61003833610047565b61004181610097565b5061016a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381163b6101185760405162461bcd60e51b815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f60448201527f6e206973206e6f74206120636f6e747261637400000000000000000000000000606482015260840160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561014c57600080fd5b81516001600160a01b038116811461016357600080fd5b9392505050565b610350806101796000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80633659cfe61461005c5780635c60da1b14610071578063715018a61461009a5780638da5cb5b146100a2578063f2fde38b146100aa575b600080fd5b61006f61006a3660046102ea565b6100bd565b005b6001546001600160a01b03165b6040516001600160a01b03909116815260200160405180910390f35b61006f610105565b61007e610119565b61006f6100b83660046102ea565b610128565b6100c56101a6565b6100ce81610205565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b61010d6101a6565b610117600061029a565b565b6000546001600160a01b031690565b6101306101a6565b6001600160a01b03811661019a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6101a38161029a565b50565b336101af610119565b6001600160a01b0316146101175760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610191565b6001600160a01b0381163b6102785760405162461bcd60e51b815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f6044820152721b881a5cc81b9bdd08184818dbdb9d1c9858dd606a1b6064820152608401610191565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156102fc57600080fd5b81356001600160a01b038116811461031357600080fd5b939250505056fea264697066735822122038970e7cf09dc887c70d5260fa612ed542a4b7fc825586d54bcad83fc1ebdd9164736f6c6343000813003360806040526040516106cd3803806106cd83398101604081905261002291610421565b61002e82826000610035565b505061054b565b61003e836100f6565b6040516001600160a01b038416907f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e90600090a260008251118061007f5750805b156100f1576100ef836001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e991906104e1565b8361026e565b505b505050565b6100ff8161029a565b61015e5760405162461bcd60e51b815260206004820152602560248201527f455243313936373a206e657720626561636f6e206973206e6f74206120636f6e6044820152641d1c9858dd60da1b60648201526084015b60405180910390fd5b6101c8816001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561019f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c391906104e1565b61029a565b61022d5760405162461bcd60e51b815260206004820152603060248201527f455243313936373a20626561636f6e20696d706c656d656e746174696f6e206960448201526f1cc81b9bdd08184818dbdb9d1c9858dd60821b6064820152608401610155565b7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5080546001600160a01b0319166001600160a01b0392909216919091179055565b606061029383836040518060600160405280602781526020016106a6602791396102a9565b9392505050565b6001600160a01b03163b151590565b6060600080856001600160a01b0316856040516102c691906104fc565b600060405180830381855af49150503d8060008114610301576040519150601f19603f3d011682016040523d82523d6000602084013e610306565b606091505b50909250905061031886838387610322565b9695505050505050565b6060831561038f5782516000036103885761033c8561029a565b6103885760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610155565b5081610399565b61039983836103a1565b949350505050565b8151156103b15781518083602001fd5b8060405162461bcd60e51b81526004016101559190610518565b80516001600160a01b03811681146103e257600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015610418578181015183820152602001610400565b50506000910152565b6000806040838503121561043457600080fd5b61043d836103cb565b60208401519092506001600160401b038082111561045a57600080fd5b818501915085601f83011261046e57600080fd5b815181811115610480576104806103e7565b604051601f8201601f19908116603f011681019083821181831017156104a8576104a86103e7565b816040528281528860208487010111156104c157600080fd5b6104d28360208301602088016103fd565b80955050505050509250929050565b6000602082840312156104f357600080fd5b610293826103cb565b6000825161050e8184602087016103fd565b9190910192915050565b60208152600082518060208401526105378160408501602087016103fd565b601f01601f19169190910160400192915050565b61014c8061055a6000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610029565b6100c2565b565b600061005c7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50546001600160a01b031690565b6001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610099573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100bd91906100e6565b905090565b3660008037600080366000845af43d6000803e8080156100e1573d6000f35b3d6000fd5b6000602082840312156100f857600080fd5b81516001600160a01b038116811461010f57600080fd5b939250505056fea26469706673582212207b4f4f4bd905b812712d76801c617b8aa3f4c3f8d6d9e59a18563606189dd4e564736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656460806040526040516104ec3803806104ec833981016040819052610022916102e9565b61002e82826000610035565b5050610406565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c56027913961017e565b9392505050565b6100d6816101f7565b61013d5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019b91906103b7565b600060405180830381855af49150503d80600081146101d6576040519150601f19603f3d011682016040523d82523d6000602084013e6101db565b606091505b5090925090506101ed86838387610206565b9695505050505050565b6001600160a01b03163b151590565b6060831561027357825160000361026c57610220856101f7565b61026c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610134565b508161027d565b61027d8383610285565b949350505050565b8151156102955781518083602001fd5b8060405162461bcd60e51b815260040161013491906103d3565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102e05781810151838201526020016102c8565b50506000910152565b600080604083850312156102fc57600080fd5b82516001600160a01b038116811461031357600080fd5b60208401519092506001600160401b038082111561033057600080fd5b818501915085601f83011261034457600080fd5b815181811115610356576103566102af565b604051601f8201601f19908116603f0116810190838211818310171561037e5761037e6102af565b8160405282815288602084870101111561039757600080fd5b6103a88360208301602088016102c5565b80955050505050509250929050565b600082516103c98184602087016102c5565b9190910192915050565b60208152600082518060208401526103f28160408501602087016102c5565b601f01601f19169190910160400192915050565b60b1806104146000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea2646970667358221220a4cda07e5b291f61d81b4ee016ef5ca6a806aa56384b08ff8d52828dbed4d68d64736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656446756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212200316f4aeed1091c89753ba3187ae1b93c23de52f706f235a898afd5762b3c16164736f6c63430008130033";
936
980
 
937
981
  type UBIPoolFactoryConstructorParams =
938
982
  | [signer?: Signer]