@aztec/l1-artifacts 2.0.0-nightly.20250819 → 2.0.0-nightly.20250821

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 (154) hide show
  1. package/dest/CoinIssuerAbi.d.ts +60 -0
  2. package/dest/CoinIssuerAbi.d.ts.map +1 -1
  3. package/dest/CoinIssuerAbi.js +80 -0
  4. package/dest/CoinIssuerBytecode.d.ts +1 -1
  5. package/dest/CoinIssuerBytecode.js +1 -1
  6. package/dest/EmpireBaseAbi.d.ts +62 -20
  7. package/dest/EmpireBaseAbi.d.ts.map +1 -1
  8. package/dest/EmpireBaseAbi.js +82 -26
  9. package/dest/ErrorsAbi.d.ts +60 -0
  10. package/dest/ErrorsAbi.d.ts.map +1 -1
  11. package/dest/ErrorsAbi.js +80 -0
  12. package/dest/ExtRollupLib2Abi.d.ts +60 -0
  13. package/dest/ExtRollupLib2Abi.d.ts.map +1 -1
  14. package/dest/ExtRollupLib2Abi.js +80 -0
  15. package/dest/ExtRollupLib2Bytecode.d.ts +1 -1
  16. package/dest/ExtRollupLib2Bytecode.d.ts.map +1 -1
  17. package/dest/ExtRollupLib2Bytecode.js +1 -1
  18. package/dest/ExtRollupLib3Abi.d.ts +60 -0
  19. package/dest/ExtRollupLib3Abi.d.ts.map +1 -1
  20. package/dest/ExtRollupLib3Abi.js +80 -0
  21. package/dest/ExtRollupLib3Bytecode.d.ts +1 -1
  22. package/dest/ExtRollupLib3Bytecode.d.ts.map +1 -1
  23. package/dest/ExtRollupLib3Bytecode.js +1 -1
  24. package/dest/ExtRollupLibAbi.d.ts +60 -0
  25. package/dest/ExtRollupLibAbi.d.ts.map +1 -1
  26. package/dest/ExtRollupLibAbi.js +80 -0
  27. package/dest/ExtRollupLibBytecode.d.ts +1 -1
  28. package/dest/ExtRollupLibBytecode.d.ts.map +1 -1
  29. package/dest/ExtRollupLibBytecode.js +1 -1
  30. package/dest/FeeAssetHandlerAbi.d.ts +60 -0
  31. package/dest/FeeAssetHandlerAbi.d.ts.map +1 -1
  32. package/dest/FeeAssetHandlerAbi.js +80 -0
  33. package/dest/FeeJuicePortalAbi.d.ts +60 -0
  34. package/dest/FeeJuicePortalAbi.d.ts.map +1 -1
  35. package/dest/FeeJuicePortalAbi.js +80 -0
  36. package/dest/FeeJuicePortalBytecode.d.ts +1 -1
  37. package/dest/FeeJuicePortalBytecode.js +1 -1
  38. package/dest/GSEAbi.d.ts +60 -10
  39. package/dest/GSEAbi.d.ts.map +1 -1
  40. package/dest/GSEAbi.js +80 -13
  41. package/dest/GSEBytecode.d.ts +1 -1
  42. package/dest/GSEBytecode.d.ts.map +1 -1
  43. package/dest/GSEBytecode.js +1 -1
  44. package/dest/GovernanceAbi.d.ts +60 -0
  45. package/dest/GovernanceAbi.d.ts.map +1 -1
  46. package/dest/GovernanceAbi.js +80 -0
  47. package/dest/GovernanceBytecode.d.ts +1 -1
  48. package/dest/GovernanceBytecode.d.ts.map +1 -1
  49. package/dest/GovernanceBytecode.js +1 -1
  50. package/dest/GovernanceProposerAbi.d.ts +62 -20
  51. package/dest/GovernanceProposerAbi.d.ts.map +1 -1
  52. package/dest/GovernanceProposerAbi.js +82 -26
  53. package/dest/GovernanceProposerBytecode.d.ts +1 -1
  54. package/dest/GovernanceProposerBytecode.d.ts.map +1 -1
  55. package/dest/GovernanceProposerBytecode.js +1 -1
  56. package/dest/HonkVerifierAbi.d.ts +60 -0
  57. package/dest/HonkVerifierAbi.d.ts.map +1 -1
  58. package/dest/HonkVerifierAbi.js +80 -0
  59. package/dest/IERC20Abi.d.ts +60 -0
  60. package/dest/IERC20Abi.d.ts.map +1 -1
  61. package/dest/IERC20Abi.js +80 -0
  62. package/dest/IVerifierAbi.d.ts +60 -0
  63. package/dest/IVerifierAbi.d.ts.map +1 -1
  64. package/dest/IVerifierAbi.js +80 -0
  65. package/dest/InboxAbi.d.ts +60 -0
  66. package/dest/InboxAbi.d.ts.map +1 -1
  67. package/dest/InboxAbi.js +80 -0
  68. package/dest/InboxBytecode.d.ts +1 -1
  69. package/dest/InboxBytecode.js +1 -1
  70. package/dest/MockVerifierAbi.d.ts +60 -0
  71. package/dest/MockVerifierAbi.d.ts.map +1 -1
  72. package/dest/MockVerifierAbi.js +80 -0
  73. package/dest/MockZKPassportVerifierAbi.d.ts +60 -0
  74. package/dest/MockZKPassportVerifierAbi.d.ts.map +1 -1
  75. package/dest/MockZKPassportVerifierAbi.js +80 -0
  76. package/dest/MultiAdderAbi.d.ts +60 -0
  77. package/dest/MultiAdderAbi.d.ts.map +1 -1
  78. package/dest/MultiAdderAbi.js +80 -0
  79. package/dest/MultiAdderBytecode.d.ts +1 -1
  80. package/dest/MultiAdderBytecode.js +1 -1
  81. package/dest/NewGovernanceProposerPayloadAbi.d.ts +60 -0
  82. package/dest/NewGovernanceProposerPayloadAbi.d.ts.map +1 -1
  83. package/dest/NewGovernanceProposerPayloadAbi.js +80 -0
  84. package/dest/NewGovernanceProposerPayloadBytecode.d.ts +1 -1
  85. package/dest/NewGovernanceProposerPayloadBytecode.d.ts.map +1 -1
  86. package/dest/NewGovernanceProposerPayloadBytecode.js +1 -1
  87. package/dest/OutboxAbi.d.ts +60 -0
  88. package/dest/OutboxAbi.d.ts.map +1 -1
  89. package/dest/OutboxAbi.js +80 -0
  90. package/dest/OutboxBytecode.d.ts +1 -1
  91. package/dest/OutboxBytecode.js +1 -1
  92. package/dest/RegisterNewRollupVersionPayloadAbi.d.ts +60 -0
  93. package/dest/RegisterNewRollupVersionPayloadAbi.d.ts.map +1 -1
  94. package/dest/RegisterNewRollupVersionPayloadAbi.js +80 -0
  95. package/dest/RegisterNewRollupVersionPayloadBytecode.d.ts +1 -1
  96. package/dest/RegisterNewRollupVersionPayloadBytecode.js +1 -1
  97. package/dest/RegistryAbi.d.ts +60 -0
  98. package/dest/RegistryAbi.d.ts.map +1 -1
  99. package/dest/RegistryAbi.js +80 -0
  100. package/dest/RegistryBytecode.d.ts +1 -1
  101. package/dest/RegistryBytecode.js +1 -1
  102. package/dest/RewardDistributorAbi.d.ts +60 -0
  103. package/dest/RewardDistributorAbi.d.ts.map +1 -1
  104. package/dest/RewardDistributorAbi.js +80 -0
  105. package/dest/RewardDistributorBytecode.d.ts +1 -1
  106. package/dest/RewardDistributorBytecode.js +1 -1
  107. package/dest/RollupAbi.d.ts +60 -0
  108. package/dest/RollupAbi.d.ts.map +1 -1
  109. package/dest/RollupAbi.js +80 -0
  110. package/dest/RollupBytecode.d.ts +1 -1
  111. package/dest/RollupBytecode.js +1 -1
  112. package/dest/SlashFactoryAbi.d.ts +60 -0
  113. package/dest/SlashFactoryAbi.d.ts.map +1 -1
  114. package/dest/SlashFactoryAbi.js +80 -0
  115. package/dest/SlashFactoryBytecode.d.ts +1 -1
  116. package/dest/SlashFactoryBytecode.js +1 -1
  117. package/dest/SlasherAbi.d.ts +60 -0
  118. package/dest/SlasherAbi.d.ts.map +1 -1
  119. package/dest/SlasherAbi.js +80 -0
  120. package/dest/SlasherBytecode.d.ts +1 -1
  121. package/dest/SlasherBytecode.d.ts.map +1 -1
  122. package/dest/SlasherBytecode.js +1 -1
  123. package/dest/SlashingProposerAbi.d.ts +62 -20
  124. package/dest/SlashingProposerAbi.d.ts.map +1 -1
  125. package/dest/SlashingProposerAbi.js +82 -26
  126. package/dest/SlashingProposerBytecode.d.ts +1 -1
  127. package/dest/SlashingProposerBytecode.d.ts.map +1 -1
  128. package/dest/SlashingProposerBytecode.js +1 -1
  129. package/dest/StakingAssetHandlerAbi.d.ts +60 -0
  130. package/dest/StakingAssetHandlerAbi.d.ts.map +1 -1
  131. package/dest/StakingAssetHandlerAbi.js +80 -0
  132. package/dest/StakingAssetHandlerBytecode.d.ts +1 -1
  133. package/dest/StakingAssetHandlerBytecode.js +1 -1
  134. package/dest/TestERC20Abi.d.ts +60 -0
  135. package/dest/TestERC20Abi.d.ts.map +1 -1
  136. package/dest/TestERC20Abi.js +80 -0
  137. package/dest/TokenPortalAbi.d.ts +60 -0
  138. package/dest/TokenPortalAbi.d.ts.map +1 -1
  139. package/dest/TokenPortalAbi.js +80 -0
  140. package/dest/TokenPortalBytecode.d.ts +1 -1
  141. package/dest/TokenPortalBytecode.js +1 -1
  142. package/dest/UniswapPortalAbi.d.ts +60 -0
  143. package/dest/UniswapPortalAbi.d.ts.map +1 -1
  144. package/dest/UniswapPortalAbi.js +80 -0
  145. package/dest/UniswapPortalBytecode.d.ts +1 -1
  146. package/dest/UniswapPortalBytecode.js +1 -1
  147. package/dest/ValidatorSelectionLibAbi.d.ts +60 -0
  148. package/dest/ValidatorSelectionLibAbi.d.ts.map +1 -1
  149. package/dest/ValidatorSelectionLibAbi.js +80 -0
  150. package/dest/ValidatorSelectionLibBytecode.d.ts +1 -1
  151. package/dest/ValidatorSelectionLibBytecode.js +1 -1
  152. package/dest/checksum.d.ts +1 -1
  153. package/dest/checksum.js +1 -1
  154. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * FeeJuicePortal bytecode.
3
- */ export const FeeJuicePortalBytecode = "0x610100604052348015610010575f5ffd5b506040516107f83803806107f883398101604081905261002f91610067565b6001600160a01b0393841660805290831660a052911660c05260e0526100b7565b6001600160a01b0381168114610064575f5ffd5b50565b5f5f5f5f6080858703121561007a575f5ffd5b845161008581610050565b602086015190945061009681610050565b60408601519093506100a781610050565b6060959095015193969295505050565b60805160a05160c05160e0516106ec61010c5f395f8181610168015261019901525f818161014101528181610218015261039601525f818161011a015261027a01525f818160db015261034b01526106ec5ff3fe608060405234801561000f575f5ffd5b506004361061007a575f3560e01c80639611c5c2116100585780639611c5c2146100d6578063b701069714610115578063c5d664c61461013c578063ffa1ad7414610163575f5ffd5b8063284b5dc61461007e5780632dc81c62146100ab57806348fef595146100c1575b5f5ffd5b61009161008c3660046105b2565b61018a565b604080519283526020830191909152015b60405180910390f35b6100b3600581565b6040519081526020016100a2565b6100d46100cf3660046105db565b610340565b005b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100a2565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100b37f000000000000000000000000000000000000000000000000000000000000000081565b604080518082018252600581527f00000000000000000000000000000000000000000000000000000000000000006020820152905160248101859052604481018490525f91829182906102099060640160408051601f198184030181529190526020810180516001600160e01b0316630c7e892d60e31b179052610404565b90506102406001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308961049f565b604051631f6d510b60e01b8152825160048201526020830151602482015260448101829052606481018690525f9081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631f6d510b9060840160408051808303815f875af11580156102bf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102e39190610610565b604080518b8152602081018b905290810183905260608101829052919350915089907fcb43dda0de11e57048e9d074ae7474446335afc906a0e5789d624fa5422629e39060800160405180910390a2909890975095505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610389576040516333f1b48f60e11b815260040160405180910390fd5b6103bd6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016838361050c565b816001600160a01b03167f63be20cc905d5ba0cf65db405c4999f99f2575e521875f13a8009d6eed7a09d9826040516103f891815260200190565b60405180910390a25050565b6040805160018082528183019092525f91602082018180368337019050506002836040516104329190610649565b602060405180830381855afa15801561044d573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610470919061065b565b604051602001610481929190610672565b60405160208183030381529060405261049990610690565b92915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526105069186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050610542565b50505050565b6040516001600160a01b0383811660248301526044820183905261053d91859182169063a9059cbb906064016104d4565b505050565b5f5f60205f8451602086015f885af180610561576040513d5f823e3d81fd5b50505f513d91508115610578578060011415610585565b6001600160a01b0384163b155b1561050657604051635274afe760e01b81526001600160a01b038516600482015260240160405180910390fd5b5f5f5f606084860312156105c4575f5ffd5b505081359360208301359350604090920135919050565b5f5f604083850312156105ec575f5ffd5b82356001600160a01b0381168114610602575f5ffd5b946020939093013593505050565b5f5f60408385031215610621575f5ffd5b505080516020909101519092909150565b5f81518060208401855e5f93019283525090919050565b5f6106548284610632565b9392505050565b5f6020828403121561066b575f5ffd5b5051919050565b5f61067d8285610632565b60ff199390931683525050601f01919050565b805160208083015191908110156106b0575f198160200360031b1b821691505b5091905056fea26469706673582212208628394d8b9550a57b8a9580bf06d1933a5bf65ebf39c0c0f2ebc5c735c9817864736f6c634300081b0033";
3
+ */ export const FeeJuicePortalBytecode = "0x610100604052348015610010575f5ffd5b506040516107f83803806107f883398101604081905261002f91610067565b6001600160a01b0393841660805290831660a052911660c05260e0526100b7565b6001600160a01b0381168114610064575f5ffd5b50565b5f5f5f5f6080858703121561007a575f5ffd5b845161008581610050565b602086015190945061009681610050565b60408601519093506100a781610050565b6060959095015193969295505050565b60805160a05160c05160e0516106ec61010c5f395f8181610168015261019901525f818161014101528181610218015261039601525f818161011a015261027a01525f818160db015261034b01526106ec5ff3fe608060405234801561000f575f5ffd5b506004361061007a575f3560e01c80639611c5c2116100585780639611c5c2146100d6578063b701069714610115578063c5d664c61461013c578063ffa1ad7414610163575f5ffd5b8063284b5dc61461007e5780632dc81c62146100ab57806348fef595146100c1575b5f5ffd5b61009161008c3660046105b2565b61018a565b604080519283526020830191909152015b60405180910390f35b6100b3600581565b6040519081526020016100a2565b6100d46100cf3660046105db565b610340565b005b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100a2565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100fd7f000000000000000000000000000000000000000000000000000000000000000081565b6100b37f000000000000000000000000000000000000000000000000000000000000000081565b604080518082018252600581527f00000000000000000000000000000000000000000000000000000000000000006020820152905160248101859052604481018490525f91829182906102099060640160408051601f198184030181529190526020810180516001600160e01b0316630c7e892d60e31b179052610404565b90506102406001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633308961049f565b604051631f6d510b60e01b8152825160048201526020830151602482015260448101829052606481018690525f9081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631f6d510b9060840160408051808303815f875af11580156102bf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102e39190610610565b604080518b8152602081018b905290810183905260608101829052919350915089907fcb43dda0de11e57048e9d074ae7474446335afc906a0e5789d624fa5422629e39060800160405180910390a2909890975095505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610389576040516333f1b48f60e11b815260040160405180910390fd5b6103bd6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016838361050c565b816001600160a01b03167f63be20cc905d5ba0cf65db405c4999f99f2575e521875f13a8009d6eed7a09d9826040516103f891815260200190565b60405180910390a25050565b6040805160018082528183019092525f91602082018180368337019050506002836040516104329190610649565b602060405180830381855afa15801561044d573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610470919061065b565b604051602001610481929190610672565b60405160208183030381529060405261049990610690565b92915050565b6040516001600160a01b0384811660248301528381166044830152606482018390526105069186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050610542565b50505050565b6040516001600160a01b0383811660248301526044820183905261053d91859182169063a9059cbb906064016104d4565b505050565b5f5f60205f8451602086015f885af180610561576040513d5f823e3d81fd5b50505f513d91508115610578578060011415610585565b6001600160a01b0384163b155b1561050657604051635274afe760e01b81526001600160a01b038516600482015260240160405180910390fd5b5f5f5f606084860312156105c4575f5ffd5b505081359360208301359350604090920135919050565b5f5f604083850312156105ec575f5ffd5b82356001600160a01b0381168114610602575f5ffd5b946020939093013593505050565b5f5f60408385031215610621575f5ffd5b505080516020909101519092909150565b5f81518060208401855e5f93019283525090919050565b5f6106548284610632565b9392505050565b5f6020828403121561066b575f5ffd5b5051919050565b5f61067d8285610632565b60ff199390931683525050601f01919050565b805160208083015191908110156106b0575f198160200360031b1b821691505b5091905056fea2646970667358221220d5c7102d512a04b714c876d20b090dc0cfa0cfc93930aa195f4e96a9a2048e3664736f6c634300081b0033";
4
4
  /**
5
5
  * FeeJuicePortal link references.
6
6
  */ export const FeeJuicePortalLinkReferences = {};
package/dest/GSEAbi.d.ts CHANGED
@@ -57,6 +57,58 @@ export declare const GSEAbi: readonly [{
57
57
  readonly type: "uint256";
58
58
  readonly internalType: "uint256";
59
59
  }];
60
+ }, {
61
+ readonly type: "error";
62
+ readonly name: "AttestationLib__NotASignatureAtIndex";
63
+ readonly inputs: readonly [{
64
+ readonly name: "index";
65
+ readonly type: "uint256";
66
+ readonly internalType: "uint256";
67
+ }];
68
+ }, {
69
+ readonly type: "error";
70
+ readonly name: "AttestationLib__NotAnAddressAtIndex";
71
+ readonly inputs: readonly [{
72
+ readonly name: "index";
73
+ readonly type: "uint256";
74
+ readonly internalType: "uint256";
75
+ }];
76
+ }, {
77
+ readonly type: "error";
78
+ readonly name: "AttestationLib__OutOfBounds";
79
+ readonly inputs: readonly [{
80
+ readonly name: "";
81
+ readonly type: "uint256";
82
+ readonly internalType: "uint256";
83
+ }, {
84
+ readonly name: "";
85
+ readonly type: "uint256";
86
+ readonly internalType: "uint256";
87
+ }];
88
+ }, {
89
+ readonly type: "error";
90
+ readonly name: "AttestationLib__SignatureIndicesSizeMismatch";
91
+ readonly inputs: readonly [{
92
+ readonly name: "";
93
+ readonly type: "uint256";
94
+ readonly internalType: "uint256";
95
+ }, {
96
+ readonly name: "";
97
+ readonly type: "uint256";
98
+ readonly internalType: "uint256";
99
+ }];
100
+ }, {
101
+ readonly type: "error";
102
+ readonly name: "AttestationLib__SignaturesOrAddressesSizeMismatch";
103
+ readonly inputs: readonly [{
104
+ readonly name: "";
105
+ readonly type: "uint256";
106
+ readonly internalType: "uint256";
107
+ }, {
108
+ readonly name: "";
109
+ readonly type: "uint256";
110
+ readonly internalType: "uint256";
111
+ }];
60
112
  }, {
61
113
  readonly type: "function";
62
114
  readonly name: "BONUS_INSTANCE_ADDRESS";
@@ -533,6 +585,10 @@ export declare const GSEAbi: readonly [{
533
585
  readonly type: "error";
534
586
  readonly name: "Governance__CannotCallAsset";
535
587
  readonly inputs: readonly [];
588
+ }, {
589
+ readonly type: "error";
590
+ readonly name: "Governance__CannotWithdrawToAddressZero";
591
+ readonly inputs: readonly [];
536
592
  }, {
537
593
  readonly type: "error";
538
594
  readonly name: "Governance__CheckpointedUintLib__InsufficientValue";
@@ -669,6 +725,10 @@ export declare const GSEAbi: readonly [{
669
725
  readonly type: "error";
670
726
  readonly name: "Governance__WithdrawalAlreadyClaimed";
671
727
  readonly inputs: readonly [];
728
+ }, {
729
+ readonly type: "error";
730
+ readonly name: "Governance__WithdrawalNotInitiated";
731
+ readonly inputs: readonly [];
672
732
  }, {
673
733
  readonly type: "error";
674
734
  readonly name: "Governance__WithdrawalNotUnlockedYet";
@@ -1812,16 +1872,6 @@ export declare const GSEAbi: readonly [{
1812
1872
  readonly internalType: "uint256";
1813
1873
  }];
1814
1874
  readonly stateMutability: "view";
1815
- }, {
1816
- readonly type: "function";
1817
- readonly name: "checkProofOfPossession";
1818
- readonly inputs: readonly [];
1819
- readonly outputs: readonly [{
1820
- readonly name: "";
1821
- readonly type: "bool";
1822
- readonly internalType: "bool";
1823
- }];
1824
- readonly stateMutability: "view";
1825
1875
  }, {
1826
1876
  readonly type: "function";
1827
1877
  readonly name: "delegate";
@@ -1 +1 @@
1
- {"version":3,"file":"GSEAbi.d.ts","sourceRoot":"","sources":["../src/GSEAbi.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAomGT,CAAC"}
1
+ {"version":3,"file":"GSEAbi.d.ts","sourceRoot":"","sources":["../src/GSEAbi.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuqGT,CAAC"}
package/dest/GSEAbi.js CHANGED
@@ -74,6 +74,76 @@
74
74
  }
75
75
  ]
76
76
  },
77
+ {
78
+ "type": "error",
79
+ "name": "AttestationLib__NotASignatureAtIndex",
80
+ "inputs": [
81
+ {
82
+ "name": "index",
83
+ "type": "uint256",
84
+ "internalType": "uint256"
85
+ }
86
+ ]
87
+ },
88
+ {
89
+ "type": "error",
90
+ "name": "AttestationLib__NotAnAddressAtIndex",
91
+ "inputs": [
92
+ {
93
+ "name": "index",
94
+ "type": "uint256",
95
+ "internalType": "uint256"
96
+ }
97
+ ]
98
+ },
99
+ {
100
+ "type": "error",
101
+ "name": "AttestationLib__OutOfBounds",
102
+ "inputs": [
103
+ {
104
+ "name": "",
105
+ "type": "uint256",
106
+ "internalType": "uint256"
107
+ },
108
+ {
109
+ "name": "",
110
+ "type": "uint256",
111
+ "internalType": "uint256"
112
+ }
113
+ ]
114
+ },
115
+ {
116
+ "type": "error",
117
+ "name": "AttestationLib__SignatureIndicesSizeMismatch",
118
+ "inputs": [
119
+ {
120
+ "name": "",
121
+ "type": "uint256",
122
+ "internalType": "uint256"
123
+ },
124
+ {
125
+ "name": "",
126
+ "type": "uint256",
127
+ "internalType": "uint256"
128
+ }
129
+ ]
130
+ },
131
+ {
132
+ "type": "error",
133
+ "name": "AttestationLib__SignaturesOrAddressesSizeMismatch",
134
+ "inputs": [
135
+ {
136
+ "name": "",
137
+ "type": "uint256",
138
+ "internalType": "uint256"
139
+ },
140
+ {
141
+ "name": "",
142
+ "type": "uint256",
143
+ "internalType": "uint256"
144
+ }
145
+ ]
146
+ },
77
147
  {
78
148
  "type": "function",
79
149
  "name": "BONUS_INSTANCE_ADDRESS",
@@ -704,6 +774,11 @@
704
774
  "name": "Governance__CannotCallAsset",
705
775
  "inputs": []
706
776
  },
777
+ {
778
+ "type": "error",
779
+ "name": "Governance__CannotWithdrawToAddressZero",
780
+ "inputs": []
781
+ },
707
782
  {
708
783
  "type": "error",
709
784
  "name": "Governance__CheckpointedUintLib__InsufficientValue",
@@ -879,6 +954,11 @@
879
954
  "name": "Governance__WithdrawalAlreadyClaimed",
880
955
  "inputs": []
881
956
  },
957
+ {
958
+ "type": "error",
959
+ "name": "Governance__WithdrawalNotInitiated",
960
+ "inputs": []
961
+ },
882
962
  {
883
963
  "type": "error",
884
964
  "name": "Governance__WithdrawalNotUnlockedYet",
@@ -2399,19 +2479,6 @@
2399
2479
  ],
2400
2480
  "stateMutability": "view"
2401
2481
  },
2402
- {
2403
- "type": "function",
2404
- "name": "checkProofOfPossession",
2405
- "inputs": [],
2406
- "outputs": [
2407
- {
2408
- "name": "",
2409
- "type": "bool",
2410
- "internalType": "bool"
2411
- }
2412
- ],
2413
- "stateMutability": "view"
2414
- },
2415
2482
  {
2416
2483
  "type": "function",
2417
2484
  "name": "delegate",
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * GSE bytecode.
3
3
  */
4
- export declare const GSEBytecode = "0x60e06040525f60019081556002805460ff19169091179055348015610022575f5ffd5b50604051613f39380380613f3983398101604081905261004191610149565b83838383836001600160a01b03811661007357604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b61007c816100e3565b506001600160a01b0390921660c05260805260a0525050739064fb41156d300196d5eb95e0b3c1f08ebc39a85f5250506004602052507ff5788997a5bc14390fe0bca3ad9ff7c3affbe9f3eb2888f771678d1889eb39b5805460ff1916600117905561018e565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381168114610146575f5ffd5b50565b5f5f5f5f6080858703121561015c575f5ffd5b845161016781610132565b602086015190945061017881610132565b6040860151606090960151949790965092505050565b60805160a05160c051613d426101f75f395f81816103510152818161085a015281816108f301528181611098015261116601525f8181610548015261171801525f81816104e801528181611033015281816110720152818161113d01526111e80152613d425ff3fe608060405234801561000f575f5ffd5b5060043610610233575f3560e01c8063715018a611610135578063bd76784b116100b4578063ec6e69db11610079578063ec6e69db14610625578063f2fde38b14610638578063f3fef3a31461064b578063f752f8b514610679578063f7888aec1461068c575f5ffd5b8063bd76784b1461051d578063d3da927f14610530578063dbc8575214610543578063e48a5f7b1461056a578063eaeded5f14610612575f5ffd5b8063ab033ea9116100fa578063ab033ea9146104bb578063b2865a0d146104ce578063b35186a8146104db578063b4ac4536146104e3578063bb4d44361461050a575f5ffd5b8063715018a61461045d5780638da5cb5b146104655780639796d977146104755780639f6bc70c14610495578063a9cd26c9146104a8575f5ffd5b806352097e4e116101c1578063671431c311610186578063671431c3146103fd5780636902c67b146104105780636a18ff7a146104235780636a91551614610436578063710ca35414610449575f5ffd5b806352097e4e1461037357806352f44a14146103865780635338c758146103c457806359264f00146103d757806362400e4c146103ea575f5ffd5b8063289b3c0d11610207578063289b3c0d146102f35780632e341ce01461030457806330eb4bdd146103195780633fd20fe11461032c5780634800d97f1461034c575f5ffd5b806215eaaa146102375780630f9f54101461026757806311d66fee146102bd57806318160ddd146102dd575b5f5ffd5b61024a610245366004613491565b61069f565b6040516001600160a01b0390911681526020015b60405180910390f35b61024a6102753660046134c8565b6001600160a01b039081165f90815260056020908152604091829020825160808101845281549381019384526001820154606082015292835260020154909216910181905290565b6102d06102cb3660046135c7565b6106d5565b60405161025e91906135e1565b6102e56106f1565b60405190815260200161025e565b600a546001600160a01b031661024a565b6103176103123660046135f8565b610701565b005b6102e5610327366004613491565b6107b8565b61033f61033a366004613663565b610a33565b60405161025e91906136f8565b61024a7f000000000000000000000000000000000000000000000000000000000000000081565b61031761038136600461376c565b610b2a565b6103b46103943660046134c8565b6001600160a01b03165f9081526004602052604090206003015460ff1690565b604051901515815260200161025e565b6102e56103d2366004613491565b610b8f565b6103176103e53660046134c8565b610bea565b6102e56103f83660046134c8565b610cb9565b6102e561040b366004613797565b610cc5565b61031761041e3660046137c1565b610ced565b61031761043136600461376c565b61129c565b61024a61044436600461386e565b6112a8565b61024a5f516020613ced5f395f51905f5281565b6103176112ce565b5f546001600160a01b031661024a565b610488610483366004613885565b6112e1565b60405161025e9190613933565b5f516020613ced5f395f51905f5261024a565b61024a6104b6366004613973565b6112ee565b6103176104c93660046134c8565b61135f565b6002546103b49060ff1681565b61024a6113b2565b6102e57f000000000000000000000000000000000000000000000000000000000000000081565b6102e56105183660046134c8565b6113c0565b61048861052b366004613797565b6113cc565b6103b461053e366004613491565b61145d565b6102e57f000000000000000000000000000000000000000000000000000000000000000081565b6105e56105783660046134c8565b604080516080810182525f9181018281526060820183905281526020810191909152506001600160a01b039081165f908152600560209081526040918290208251608081018452815493810193845260018201546060820152928352600201549092169181019190915290565b6040805182518051825260209081015181830152909201516001600160a01b03169082015260600161025e565b6102e5610620366004613797565b611490565b6102e5610633366004613797565b61149d565b6103176106463660046134c8565b611548565b61065e610659366004613797565b611585565b6040805193845291151560208401529082015260600161025e565b61031761068736600461386e565b611832565b6102e561069a366004613491565b611911565b6001600160a01b038083165f90815260076020908152604080832084861684529091528120600101549091165b90505b92915050565b604080518082019091525f80825260208201526106cf8261191e565b5f6106fc6007611990565b905090565b6001600160a01b0383165f9081526004602052604090206003015460ff16839061074f576040516330d32d8760e21b81526001600160a01b0390911660048201526024015b60405180910390fd5b506001600160a01b038083165f908152600560205260409020600201541680338082146107a257604051630257d8d760e41b81526001600160a01b03928316600482015291166024820152604401610746565b506107b29050600785858561199d565b50505050565b5f5f6107cc600a546001600160a01b031690565b90505f816001600160a01b0316636bd50cef6040518163ffffffff1660e01b815260040161012060405180830381865afa15801561080c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108309190613a49565b51602001516040516323b872dd60e01b8152336004820152306024820152604481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af11580156108a8573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108cc9190613a64565b5060405163095ea7b360e01b81526001600160a01b038381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b3906044016020604051808303815f875af1158015610939573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061095d9190613a64565b506040516311f9fbc960e21b8152306004820152602481018290526001600160a01b038316906347e7ef24906044015f604051808303815f87803b1580156109a3575f5ffd5b505af11580156109b5573d5f5f3e3d5ffd5b50506040516330eb4bdd60e01b81526001600160a01b0388811660048301528781166024830152851692506330eb4bdd91506044016020604051808303815f875af1158015610a06573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a2a9190613a7f565b95945050505050565b60605f825167ffffffffffffffff811115610a5057610a506134e3565b604051908082528060200260200182016040528015610a9457816020015b604080518082019091525f8082526020820152815260200190600190039081610a6e5790505b5090505f5b8351811015610b235760055f858381518110610ab757610ab7613a96565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205f016040518060400160405290815f8201548152602001600182015481525050828281518110610b1057610b10613a96565b6020908102919091010152600101610a99565b5092915050565b5f610b3484611a6b565b9050610b3f816112a8565b33906001600160a01b03168114610b75576040516305df8ea560e31b81526001600160a01b039091166004820152602401610746565b506107b25f516020613ced5f395f51905f52858585611af3565b5f80610b9d60078585611b92565b9050836001600160a01b0316610bb16113b2565b6001600160a01b0316036106cc57610bd860075f516020613ced5f395f51905f5285611b92565b610be29082613abe565b949350505050565b610bf2611bb9565b806001600160a01b038116610c26576040516327bac29760e21b81526001600160a01b039091166004820152602401610746565b506001600160a01b0381165f90815260046020526040902060030154819060ff1615610c705760405162cea8b160e11b81526001600160a01b039091166004820152602401610746565b506001600160a01b0381165f908152600460205260409020600301805460ff19166001179055610cb4610ca242611be5565b6003906001600160a01b038416611c19565b505050565b5f6106cf600783611c33565b6001600160a01b0382165f9081526008602090815260408083208484529091528120546106cc565b335f8181526004602052604090206003015460ff16610d2b576040516319aaa75960e11b81526001600160a01b039091166004820152602401610746565b505f33610d366113b2565b6001600160a01b0316149050811580610d4c5750805b3390610d77576040516305df8ea560e31b81526001600160a01b039091166004820152602401610746565b50610d82338861145d565b1533889091610db757604051630d75cd7760e11b81526001600160a01b03928316600482015291166024820152604401610746565b5050801580610dda5750610dd85f516020613ced5f395f51905f528861145d565b155b5f516020613ced5f395f51905f52908890610e1b57604051630d75cd7760e11b81526001600160a01b03928316600482015291166024820152604401610746565b50505f82610e295733610e38565b5f516020613ced5f395f51905f525b6001600160a01b0381165f908152600460205260409020909150610e5c9089611c56565b81899091610e9057604051630d75cd7760e11b81526001600160a01b03928316600482015291166024820152604401610746565b505060025460ff1615610fc6576001600160a01b0388165f908152600560209081526040918290208251808401909352805480845260019091015491830191909152158015610ee157506020810151155b815160208301519091610f10576040516312d6323b60e11b815260048101929092526024820152604401610746565b50505f875f01518860200151604051602001610f36929190918252602082015260400190565b60408051601f1981840301815291815281516020928301205f8181526006909352912054909150819060ff1615610f8357604051636ab4baeb60e11b815260040161074691815260200190565b50610f8f888888611d69565b610fac5760405163df4ff27b60e01b815260040160405180910390fd5b5f908152600660205260409020805460ff19166001179055505b6040805180820182528781526001600160a01b0389811660208084019182528c83165f90815260058252949094209251805184559093015160018301559151600290910180546001600160a01b0319169190921617905561102a6007828a8161199d565b6110576007828a7f0000000000000000000000000000000000000000000000000000000000000000611edf565b6040516323b872dd60e01b81523360048201523060248201527f000000000000000000000000000000000000000000000000000000000000000060448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af11580156110e6573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061110a9190613a64565b505f61111e600a546001600160a01b031690565b60405163095ea7b360e01b81526001600160a01b0380831660048301527f000000000000000000000000000000000000000000000000000000000000000060248301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063095ea7b3906044016020604051808303815f875af11580156111ae573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111d29190613a64565b506040516311f9fbc960e21b81523060048201527f000000000000000000000000000000000000000000000000000000000000000060248201526001600160a01b038216906347e7ef24906044015f604051808303815f87803b158015611237575f5ffd5b505af1158015611249573d5f5f3e3d5ffd5b50506040516001600160a01b038b81168252808d169350851691507f7986a8ff398d9a6be88df9dfc6e3c9a83e4da5544241aad420d1cf7c214e43459060200160405180910390a3505050505050505050565b610cb433848484611af3565b5f6106cf6112c06112b884611be5565b600390611f6e565b6001600160e01b0316611fc3565b6112d6611bb9565b6112df5f611ff6565b565b6060610be2848385612045565b6040805160018082528183019092525f918291906020808301908036833701905050905083815f8151811061132557611325613a96565b60200260200101818152505061133c858285612045565b5f8151811061134d5761134d613a96565b60200260200101519150509392505050565b611367611bb9565b600a546001600160a01b031615611390576040516296bb9f60e21b815260040160405180910390fd5b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b5f6106fc6112c06003612247565b5f6106cf60078361227e565b60605f6113d9848461149d565b90505f8167ffffffffffffffff8111156113f5576113f56134e3565b60405190808252806020026020018201604052801561141e578160200160208202803683370190505b5090505f5b82811015611451578082828151811061143e5761143e613a96565b6020908102919091010152600101611423565b50610a2a858286612045565b6001600160a01b038281165f9081526004602090815260408083209385168352600290930190529081205460ff166106cc565b5f6106cc600784846122a2565b6001600160a01b0382165f908152600460205260408120816114be84611be5565b90505f6114cb83836122c7565b9050856001600160a01b03166114e0866112a8565b6001600160a01b031603610a2a57739064fb41156d300196d5eb95e0b3c1f08ebc39a85f5260046020526115347ff5788997a5bc14390fe0bca3ad9ff7c3affbe9f3eb2888f771678d1889eb39b2836122c7565b61153e9082613abe565b9695505050505050565b611550611bb9565b6001600160a01b03811661157957604051631e4fbdf760e01b81525f6004820152602401610746565b61158281611ff6565b50565b335f908152600460205260408120600301548190819060ff1633906115c9576040516319aaa75960e11b81526001600160a01b039091166004820152602401610746565b50335f8181526004602090815260408083206001600160a01b038a168452600281019092529091205460ff16801580156116125750336116076113b2565b6001600160a01b0316145b801561165457506001600160a01b0388165f9081527ff5788997a5bc14390fe0bca3ad9ff7c3affbe9f3eb2888f771678d1889eb39b4602052604090205460ff165b156116aa575050739064fb41156d300196d5eb95e0b3c1f08ebc39a85f525060046020525f516020613ced5f395f51905f527ff5788997a5bc14390fe0bca3ad9ff7c3affbe9f3eb2888f771678d1889eb39b260015b87816116d55760405163417f3a0560e01b81526001600160a01b039091166004820152602401610746565b505f6116e36007858b611b92565b905080888082101561171157604051635087517f60e11b815260048101929092526024820152604401610746565b508890505f7f00000000000000000000000000000000000000000000000000000000000000006117418385613ad1565b109050801561178f57611754858c6122e2565b8b9061177f576040516304ca9e7360e31b81526001600160a01b039091166004820152602401610746565b5082915061178f6007878d612343565b61179c6007878d8561234f565b5f6117af600a546001600160a01b031690565b60405163625f849b60e11b8152336004820152602481018590526001600160a01b03919091169063c4bf0936906044016020604051808303815f875af11580156117fb573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061181f9190613a7f565b929c919b50919950975050505050505050565b5f611845600a546001600160a01b031690565b604051634527d8b560e11b8152600481018490529091506001600160a01b03821690638a4fb16a90602401608060405180830381865afa15801561188b573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118af9190613aef565b6060015161190d5760405163f752f8b560e01b8152600481018390526001600160a01b0382169063f752f8b5906024015f604051808303815f87803b1580156118f6575f5ffd5b505af1158015611908573d5f5f3e3d5ffd5b505050505b5050565b5f6106cc60078484611b92565b604080518082019091525f80825260208201525f825f01518360200151604051602001611955929190918252602082015260400190565b604051602081830303815290604052905061198975415a5445435f424c535f504f505f424e3235345f563160501b826123d6565b9392505050565b5f6106cf826002016124df565b6001600160a01b038381165f908152602086815260408083208685168452909152902060010154811690821681036119d557506107b2565b6001600160a01b038481165f908152602087815260408083208785168085529083529281902060010180546001600160a01b031916878616908117909155815194861685529184019190915290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f910160405180910390a2611a64858284611a5f898989611b92565b6124f8565b5050505050565b5f6106cf611a81600a546001600160a01b031690565b6001600160a01b031663c7f758a8846040518263ffffffff1660e01b8152600401611aae91815260200190565b6101e060405180830381865afa158015611aca573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611aee9190613b73565b612631565b5f611afd84611a6b565b9050611b0d600786868487612647565b600a546001600160a01b031660405163350c7fbd60e11b8152600481018690526024810185905283151560448201526001600160a01b039190911690636a18ff7a906064016020604051808303815f875af1158015611b6e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119089190613a64565b6001600160a01b039182165f90815260209384526040808220929093168152925290205490565b5f546001600160a01b031633146112df5760405163118cdaa760e01b8152336004820152602401610746565b5f63ffffffff821115611c15576040516306dfcc6560e41b81526020600482015260248101839052604401610746565b5090565b5f80611c26858585612712565b915091505b935093915050565b6001600160a01b0381165f9081526020839052604081206106cc906001016124df565b6001600160a01b0381165f90815260028301602052604081205460ff1615611c7f57505f6106cf565b5f611c8984612247565b604080518082018252600181526001600160e01b0383811660208084019182526001600160a01b0389165f90815260028b019091529384209251835491516001600160e81b0319909216901515610100600160e81b031916176101009190921602179055909150611cf942611be5565b9050611d3181611d11866001600160a01b0316612856565b6001600160e01b0385165f90815260018901602052604090209190611c19565b50611d5c905081611d54611d46856001613c18565b6001600160e01b0316612856565b879190611c19565b5060019695505050505050565b5f611d7384612889565b845160208601519091611da257604051634a7e912d60e01b815260048101929092526024820152604401610746565b5050611dad836128e3565b835f015184602001518560400151866060015190919293611df75760405163cd79c2ab60e01b81526004810194909452602484019290925260448301526064820152608401610746565b50505050611e0482612889565b825160208401519091611e3357604051634a7e912d60e01b815260048101929092526024820152604401610746565b50505f611e3f8561191e565b90505f611e4d868686612a39565b9050805f03611e6f57604051631262b41360e01b815260040160405180910390fd5b5f611e8385611e7e8985612ad9565b612b40565b90505f611ebe84611e7e611eb86040805180820182525f80825260209182015281518083019092526001825260029082015290565b86612ad9565b9050611ed382611ecc612bab565b838a612c78565b98975050505050505050565b80156107b2576001600160a01b038084165f9081526020868152604080832093861683529083905281208054849290611f19908490613abe565b90915550506001600160a01b038084165f90815260208390526040812060010154611f489288929116856124f8565b611f556001820183612d35565b50611f6590506002860183612d35565b50505050505050565b81545f9081611f7f85858385612daf565b90508015611fb957611fa385611f96600184613ad1565b5f91825260209091200190565b54600160201b90046001600160e01b0316610a2a565b505f949350505050565b5f6001600160a01b03821115611c15576040516306dfcc6560e41b815260a0600482015260248101839052604401610746565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60605f835167ffffffffffffffff811115612062576120626134e3565b60405190808252806020026020018201604052801561208b578160200160208202803683370190505b506001600160a01b0386165f818152600460205260408120739064fb41156d300196d5eb95e0b3c1f08ebc39a882529293507ff5788997a5bc14390fe0bca3ad9ff7c3affbe9f3eb2888f771678d1889eb39b2916120e8876112a8565b6001600160a01b03161490505f6120fe87611be5565b90505f61210b85836122c7565b90505f83612119575f612123565b61212385846122c7565b90505f6121308284613abe565b90505f5b8b51811015612236575f8c828151811061215057612150613a96565b602002602001015190508281108184909161218757604051635d4bf88360e01b815260048101929092526024820152604401610746565b5050848110156121d35761219c898288612e0a565b8a83815181106121ae576121ae613a96565b60200260200101906001600160a01b031690816001600160a01b03168152505061222d565b86156121ee5761219c6121e68683613ad1565b899088612e0a565b604051633d6a4a3b60e21b815260206004820152601360248201527229a427aaa622102722ab22a9102420a82822a760691b6044820152606401610746565b50600101612134565b50969b9a5050505050505050505050565b80545f9080156122765761226083611f96600184613ad1565b54600160201b90046001600160e01b0316611989565b5f9392505050565b6001600160a01b0381165f9081526001808401602052604082206106cc91016124df565b6001600160a01b0382165f908152600180850160205260408220610be2910183612e39565b5f6122d28383611f6e565b6001600160e01b03169392505050565b6001600160a01b0381165f908152600283016020908152604080832081518083019092525460ff811615158083526101009091046001600160e01b03169282019290925290612334575f9150506106cf565b610be284826020015185612e73565b610cb48383835f61199d565b80156107b2576001600160a01b038084165f9081526020868152604080832093861683529083905281208054849290612389908490613ad1565b90915550506001600160a01b038084165f908152602083905260408120600101546123b9928892911690856124f8565b6123c66001820183613097565b50611f6590506002860183613097565b604080518082019091525f80825260208201525f83836040516020016123fd929190613c37565b60408051601f19818403018152919052805160209091012090505f61242f5f516020613ccd5f395f51905f5283613c87565b90505f805b5f516020613ccd5f395f51905f5283840991505f516020613ccd5f395f51905f5283830991505f516020613ccd5f395f51905f5260038308915061247782613144565b9092509050801561249e5760405180604001604052808481526020018381525094506124b7565b5f516020613ccd5f395f51905f52600184089250612434565b806124d557604051633d7f3d1d60e21b815260040160405180910390fd5b5050505092915050565b5f6124e982612247565b6001600160e01b031692915050565b816001600160a01b0316836001600160a01b03161480612516575080155b6107b2576001600160a01b038316156125a3576001600160a01b0383165f9081526001808601602052604082208291612550910184613097565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612598929190918252602082015260400190565b60405180910390a250505b6001600160a01b038216156107b2576001600160a01b0382165f90815260018086016020526040822082916125d9910184612d35565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612621929190918252602082015260400190565b60405180910390a2505050505050565b5f6106cf8260800151835f0151602001516131e7565b5f6126538686856122a2565b6001600160a01b0386165f90815260018801602090815260408083208884529091529020549091506126858382613abe565b82101586836126948685613abe565b9091926126cd5760405163dd99c2ab60e01b81526001600160a01b03909316600484015260248301919091526044820152606401610746565b5050506001600160a01b0386165f908152600188016020908152604080832088845290915281208054859290612704908490613abe565b909155505050505050505050565b82545f90819080156127fe575f61272e87611f96600185613ad1565b805490915063ffffffff80821691600160201b90046001600160e01b031690881682111561276f57604051632520601d60e01b815260040160405180910390fd5b8763ffffffff168263ffffffff16036127a257825463ffffffff16600160201b6001600160e01b038916021783556127f0565b6040805180820190915263ffffffff808a1682526001600160e01b03808a1660208085019182528d54600181018f555f8f81529190912094519151909216600160201b029216919091179101555b9450859350611c2b92505050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a555f8a815291822095519251909316600160201b029190931617920191909155905081611c2b565b5f6001600160e01b03821115611c15576040516306dfcc6560e41b815260e0600482015260248101839052604401610746565b5f815160208301515f516020613ccd5f395f51905f528283095f516020613ccd5f395f51905f5283820990505f516020613ccd5f395f51905f526003820890505f516020613ccd5f395f51905f5282830914949350505050565b5f815160208301515f516020613ccd5f395f51905f528283095f516020613ccd5f395f51905f5282830981828301015f516020613ccd5f395f51905f5282838401085f516020613ccd5f395f51905f5286825f516020613ccd5f395f51905f52038601099550505f516020613ccd5f395f51905f5284835f516020613ccd5f395f51905f520383010993505050505f516020613ccd5f395f51905f527f2b149d40ceb8aaae81be18991be06ac3b5b4c5e559dbefa33267e6dc24a138e5830891505f516020613ccd5f395f51905f527e9713b03af0fed4cd2cafadeed8fdf4a74fa084e52d1852e4a2bd0685c315d282089050604084015160608501515f516020613ccd5f395f51905f5280825f516020613ccd5f395f51905f520384085f516020613ccd5f395f51905f52838508095f516020613ccd5f395f51905f52828460011b0994149290931491909116949350505050565b82516020808501518451858301516040808801516060808a015189518a8901518551808b019b909b528a86019890985291890195909552608088019390935260a087015260c086019290925260e0850152610100808501929092528051808503909201825261012090930190925281519101205f90610be2907f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000190613c87565b604080518082019091525f8082526020820152612af4613404565b835181526020808501519082015260408082018490525f908360608460076107d05a03fa905080612b3857604051635d90883360e11b815260040160405180910390fd5b505092915050565b604080518082019091525f8082526020820152612b5b613422565b835181526020808501518183015283516040808401919091529084015160608301525f908360808460066107d05a03fa905080612b3857604051635d3761b560e11b815260040160405180910390fd5b612bd260405180608001604052805f81526020015f81526020015f81526020015f81525090565b60405180608001604052807f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed81526020017f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c281526020017f1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d81526020017f275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec815250905090565b5f612c81613440565b85518152602080870151818301528581015160408084019190915286516060808501919091528088015160808501528188015160a0850152865160c08501528683015160e085015291850151610100840152845161012084015290840151610140830152830151610160820152612cf661345f565b5f6020826101808560086107d05a03fa905080612d265760405163a158f26960e01b815260040160405180910390fd5b50516001149695505050505050565b5f5f5f612d4185612247565b9050835f03612d5d576001600160e01b03169150819050612da8565b5f612d6785612856565b9050612d87612d7542611be5565b612d7f8385613c18565b889190611c19565b50829050612d958282613c18565b6001600160e01b03918216955016925050505b9250929050565b5f5b81831015612e02575f612dc484846131f2565b5f8781526020902090915063ffffffff86169082015463ffffffff161115612dee57809250612dfc565b612df9816001613abe565b93505b50612db1565b509392505050565b5f82815260018401602052604081208190612e25908461320c565b9050610a2a816001600160e01b0316611fc3565b5f612e4382421190565b612e60576040516334dcb7d760e21b815260040160405180910390fd5b6122d2612e6c83611be5565b849061320c565b5f80612e7e85612247565b9050806001600160e01b0316846001600160e01b031610612ec557604051636bc4db8d60e11b81526001600160e01b03808616600483015282166024820152604401610746565b6040805180820182525f80825260208083018281526001600160a01b038816835260028a019091529281209151825493516001600160e81b0319909416901515610100600160e81b031916176101006001600160e01b0390941693909302929092179055612f34600183613c9a565b90505f612f5e6112c0886001015f856001600160e01b031681526020019081526020015f20612247565b90505f612f6a42611be5565b9050866001600160e01b0316836001600160e01b031603612fb0576001600160e01b0387165f9081526001890160205260408120612fa9918390611c19565b5050613069565b6040518060400160405280600115158152602001612fd6896001600160e01b0316612856565b6001600160e01b039081169091526001600160a01b0384165f81815260028c016020908152604090912084518154959092015190931661010002610100600160e81b0319911515919091166001600160e81b03199094169390931792909217905561306690829061304690612856565b6001600160e01b038a165f90815260018c01602052604090209190611c19565b50505b6130878161307f856001600160e01b0316612856565b8a9190611c19565b5060019998505050505050505050565b5f5f5f6130a385612247565b9050835f036130bf576001600160e01b03169150819050612da8565b5f6130c985612856565b90503382826001600160e01b03808216908316101561311d5760405163b3d9568f60e01b81526001600160a01b0390931660048401526001600160e01b039182166024840152166044820152606401610746565b50505061313661312c42611be5565b612d7f8385613c9a565b50829050612d958282613c9a565b5f5f5f60405160208152602080820152602060408201528460608201527f0c19139cb84c680a6e14116da060561765e05aa45a1c72a34f082305b61f3f5260808201525f516020613ccd5f395f51905f5260a082015260208160c08360056107d05a03fa9051935090505f516020613ccd5f395f51905f5283800984149150806131e157604051634ccc085960e11b815260040160405180910390fd5b50915091565b5f6106cc8284613abe565b5f6132006002848418613cb9565b6106cc90848416613abe565b81545f9081816005811115613266575f613225846132ad565b61322f9085613ad1565b5f8881526020902090915081015463ffffffff908116908716101561325657809150613264565b613261816001613abe565b92505b505b5f61327387878585612daf565b905080156132a05761328a87611f96600184613ad1565b54600160201b90046001600160e01b03166132a2565b5f5b979650505050505050565b5f600182116132ba575090565b816001600160801b82106132d35760809190911c9060401b5b6801000000000000000082106132ee5760409190911c9060201b5b600160201b82106133045760209190911c9060101b5b6201000082106133195760109190911c9060081b5b610100821061332d5760089190911c9060041b5b601082106133405760049190911c9060021b5b6004821061334c5760011b5b600302600190811c9081858161336457613364613c73565b048201901c9050600181858161337c5761337c613c73565b048201901c9050600181858161339457613394613c73565b048201901c905060018185816133ac576133ac613c73565b048201901c905060018185816133c4576133c4613c73565b048201901c905060018185816133dc576133dc613c73565b048201901c90506133fb8185816133f5576133f5613c73565b04821190565b90039392505050565b60405180606001604052806003906020820280368337509192915050565b60405180608001604052806004906020820280368337509192915050565b604051806101800160405280600c906020820280368337509192915050565b60405180602001604052806001906020820280368337509192915050565b6001600160a01b0381168114611582575f5ffd5b5f5f604083850312156134a2575f5ffd5b82356134ad8161347d565b915060208301356134bd8161347d565b809150509250929050565b5f602082840312156134d8575f5ffd5b81356106cc8161347d565b634e487b7160e01b5f52604160045260245ffd5b6040805190810167ffffffffffffffff8111828210171561351a5761351a6134e3565b60405290565b6040516080810167ffffffffffffffff8111828210171561351a5761351a6134e3565b604051610100810167ffffffffffffffff8111828210171561351a5761351a6134e3565b604051601f8201601f1916810167ffffffffffffffff81118282101715613590576135906134e3565b604052919050565b5f604082840312156135a8575f5ffd5b6135b06134f7565b823581526020928301359281019290925250919050565b5f604082840312156135d7575f5ffd5b6106cc8383613598565b8151815260208083015190820152604081016106cf565b5f5f5f6060848603121561360a575f5ffd5b83356136158161347d565b925060208401356136258161347d565b915060408401356136358161347d565b809150509250925092565b5f67ffffffffffffffff821115613659576136596134e3565b5060051b60200190565b5f60208284031215613673575f5ffd5b813567ffffffffffffffff811115613689575f5ffd5b8201601f81018413613699575f5ffd5b80356136ac6136a782613640565b613567565b8082825260208201915060208360051b8501019250868311156136cd575f5ffd5b6020840193505b8284101561153e5783356136e78161347d565b8252602093840193909101906136d4565b602080825282518282018190525f918401906040840190835b818110156137445761372e83855180518252602090810151910152565b6020939093019260409290920191600101613711565b509095945050505050565b8015158114611582575f5ffd5b80356137678161374f565b919050565b5f5f5f6060848603121561377e575f5ffd5b833592506020840135915060408401356136358161374f565b5f5f604083850312156137a8575f5ffd5b82356137b38161347d565b946020939093013593505050565b5f5f5f5f5f5f8688036101608112156137d8575f5ffd5b87356137e38161347d565b965060208801356137f38161347d565b95506138028960408a01613598565b94506080607f1982011215613815575f5ffd5b5061381e613520565b6080880135815260a0880135602082015260c0880135604082015260e088013560608201529250613853886101008901613598565b9150613862610140880161375c565b90509295509295509295565b5f6020828403121561387e575f5ffd5b5035919050565b5f5f5f60608486031215613897575f5ffd5b83356138a28161347d565b925060208401359150604084013567ffffffffffffffff8111156138c4575f5ffd5b8401601f810186136138d4575f5ffd5b80356138e26136a782613640565b8082825260208201915060208360051b850101925088831115613903575f5ffd5b6020840193505b8284101561392557833582526020938401939091019061390a565b809450505050509250925092565b602080825282518282018190525f918401906040840190835b818110156137445783516001600160a01b031683526020938401939092019160010161394c565b5f5f5f60608486031215613985575f5ffd5b83356139908161347d565b95602085013595506040909401359392505050565b5f8183036101208112156139b7575f5ffd5b6139bf613543565b915060408112156139ce575f5ffd5b506139d76134f7565b825181526020808401518183015290825260408084015191830191909152606080840151918301919091526080808401519183019190915260a0808401519183019190915260c0808401519183019190915260e080840151918301919091526101009092015191810191909152919050565b5f6101208284031215613a5a575f5ffd5b6106cc83836139a5565b5f60208284031215613a74575f5ffd5b81516106cc8161374f565b5f60208284031215613a8f575f5ffd5b5051919050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156106cf576106cf613aaa565b818103818111156106cf576106cf613aaa565b80516137678161347d565b5f6080828403128015613b00575f5ffd5b50613b09613520565b82518152602080840151908201526040830151613b258161347d565b60408201526060830151613b388161374f565b60608201529392505050565b5f60408284031215613b54575f5ffd5b613b5c6134f7565b825181526020928301519281019290925250919050565b5f6101e0828403128015613b85575f5ffd5b5060405160c0810167ffffffffffffffff81118282101715613ba957613ba96134e3565b604052613bb684846139a5565b815261012083015160098110613bca575f5ffd5b6020820152613bdc6101408401613ae4565b6040820152613bee6101608401613ae4565b60608201526101808301516080820152613c0c846101a08501613b44565b60a08201529392505050565b6001600160e01b0381811683821601908111156106cf576106cf613aaa565b828152604060208201525f82518060408401528060208501606085015e5f606082850101526060601f19601f8301168401019150509392505050565b634e487b7160e01b5f52601260045260245ffd5b5f82613c9557613c95613c73565b500690565b6001600160e01b0382811682821603908111156106cf576106cf613aaa565b5f82613cc757613cc7613c73565b50049056fe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47213a5ea1b59775ba625834509064fb41156d300196d5eb95e0b3c1f08ebc39a8a2646970667358221220aeea91f09ef4bbaeef54f7d83e3ebbe2225e370f296fb6f89ea9760b0340bc2964736f6c634300081b0033";
4
+ export declare const GSEBytecode = "0x60e060405234801561000f575f5ffd5b50604051613f14380380613f1483398101604081905261002e91610136565b83838383836001600160a01b03811661006057604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b610069816100d0565b506001600160a01b0390921660c05260805260a0525050739064fb41156d300196d5eb95e0b3c1f08ebc39a85f5250506002602052507f45cd5d767d29724415e078f0a4044a337b39cef8f25b5496e43151dbca56c51a805460ff1916600117905561017b565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381168114610133575f5ffd5b50565b5f5f5f5f60808587031215610149575f5ffd5b84516101548161011f565b60208601519094506101658161011f565b6040860151606090960151949790965092505050565b60805160a05160c051613d306101e45f395f818161034601528181610842015281816108db01528181610f59015261102701525f818161053001526115df01525f81816104d001528181610ef401528181610f3301528181610ffe01526110a90152613d305ff3fe608060405234801561000f575f5ffd5b5060043610610228575f3560e01c8063715018a61161012a578063bd76784b116100b4578063ec6e69db11610079578063ec6e69db1461060d578063f2fde38b14610620578063f3fef3a314610633578063f752f8b514610661578063f7888aec14610674575f5ffd5b8063bd76784b14610505578063d3da927f14610518578063dbc857521461052b578063e48a5f7b14610552578063eaeded5f146105fa575f5ffd5b8063a9cd26c9116100fa578063a9cd26c91461049d578063ab033ea9146104b0578063b35186a8146104c3578063b4ac4536146104cb578063bb4d4436146104f2575f5ffd5b8063715018a6146104525780638da5cb5b1461045a5780639796d9771461046a5780639f6bc70c1461048a575f5ffd5b806352097e4e116101b6578063671431c31161017b578063671431c3146103f25780636902c67b146104055780636a18ff7a146104185780636a9155161461042b578063710ca3541461043e575f5ffd5b806352097e4e1461036857806352f44a141461037b5780635338c758146103b957806359264f00146103cc57806362400e4c146103df575f5ffd5b8063289b3c0d116101fc578063289b3c0d146102e85780632e341ce0146102f957806330eb4bdd1461030e5780633fd20fe1146103215780634800d97f14610341575f5ffd5b806215eaaa1461022c5780630f9f54101461025c57806311d66fee146102b257806318160ddd146102d2575b5f5ffd5b61023f61023a36600461347f565b610687565b6040516001600160a01b0390911681526020015b60405180910390f35b61023f61026a3660046134b6565b6001600160a01b039081165f90815260036020908152604091829020825160808101845281549381019384526001820154606082015292835260020154909216910181905290565b6102c56102c03660046135b5565b6106bd565b60405161025391906135cf565b6102da6106d9565b604051908152602001610253565b6008546001600160a01b031661023f565b61030c6103073660046135e6565b6106e9565b005b6102da61031c36600461347f565b6107a0565b61033461032f366004613651565b610a1b565b60405161025391906136e6565b61023f7f000000000000000000000000000000000000000000000000000000000000000081565b61030c61037636600461375a565b610b12565b6103a96103893660046134b6565b6001600160a01b03165f9081526002602052604090206003015460ff1690565b6040519015158152602001610253565b6102da6103c736600461347f565b610b77565b61030c6103da3660046134b6565b610bd3565b6102da6103ed3660046134b6565b610ca2565b6102da610400366004613785565b610cae565b61030c6104133660046137af565b610cd6565b61030c61042636600461375a565b61115d565b61023f61043936600461385c565b611169565b61023f5f516020613cdb5f395f51905f5281565b61030c61118f565b5f546001600160a01b031661023f565b61047d610478366004613873565b6111a2565b6040516102539190613921565b5f516020613cdb5f395f51905f5261023f565b61023f6104ab366004613961565b6111b7565b61030c6104be3660046134b6565b611228565b61023f61127b565b6102da7f000000000000000000000000000000000000000000000000000000000000000081565b6102da6105003660046134b6565b611289565b61047d610513366004613785565b611295565b6103a961052636600461347f565b611326565b6102da7f000000000000000000000000000000000000000000000000000000000000000081565b6105cd6105603660046134b6565b604080516080810182525f9181018281526060820183905281526020810191909152506001600160a01b039081165f908152600360209081526040918290208251608081018452815493810193845260018201546060820152928352600201549092169181019190915290565b6040805182518051825260209081015181830152909201516001600160a01b031690820152606001610253565b6102da610608366004613785565b611358565b6102da61061b366004613785565b611365565b61030c61062e3660046134b6565b611410565b610646610641366004613785565b61144d565b60408051938452911515602084015290820152606001610253565b61030c61066f36600461385c565b6116f9565b6102da61068236600461347f565b6117d8565b6001600160a01b038083165f90815260056020908152604080832084861684529091528120600101549091165b90505b92915050565b604080518082019091525f80825260208201526106b7826117e5565b5f6106e46005611857565b905090565b6001600160a01b0383165f9081526002602052604090206003015460ff168390610737576040516330d32d8760e21b81526001600160a01b0390911660048201526024015b60405180910390fd5b506001600160a01b038083165f9081526003602052604090206002015416803380821461078a57604051630257d8d760e41b81526001600160a01b0392831660048201529116602482015260440161072e565b5061079a90506005858585611864565b50505050565b5f5f6107b46008546001600160a01b031690565b90505f816001600160a01b0316636bd50cef6040518163ffffffff1660e01b815260040161012060405180830381865afa1580156107f4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108189190613a37565b51602001516040516323b872dd60e01b8152336004820152306024820152604481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015610890573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b49190613a52565b5060405163095ea7b360e01b81526001600160a01b038381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b3906044016020604051808303815f875af1158015610921573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109459190613a52565b506040516311f9fbc960e21b8152306004820152602481018290526001600160a01b038316906347e7ef24906044015f604051808303815f87803b15801561098b575f5ffd5b505af115801561099d573d5f5f3e3d5ffd5b50506040516330eb4bdd60e01b81526001600160a01b0388811660048301528781166024830152851692506330eb4bdd91506044016020604051808303815f875af11580156109ee573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a129190613a6d565b95945050505050565b60605f825167ffffffffffffffff811115610a3857610a386134d1565b604051908082528060200260200182016040528015610a7c57816020015b604080518082019091525f8082526020820152815260200190600190039081610a565790505b5090505f5b8351811015610b0b5760035f858381518110610a9f57610a9f613a84565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205f016040518060400160405290815f8201548152602001600182015481525050828281518110610af857610af8613a84565b6020908102919091010152600101610a81565b5092915050565b5f610b1c84611932565b9050610b2781611169565b33906001600160a01b03168114610b5d576040516305df8ea560e31b81526001600160a01b03909116600482015260240161072e565b5061079a5f516020613cdb5f395f51905f528585856119ba565b5f80610b8560058585611a59565b905080158015610bad5750836001600160a01b0316610ba261127b565b6001600160a01b0316145b156106b457610bcb60055f516020613cdb5f395f51905f5285611a59565b9150506106b7565b610bdb611a80565b806001600160a01b038116610c0f576040516327bac29760e21b81526001600160a01b03909116600482015260240161072e565b506001600160a01b0381165f90815260026020526040902060030154819060ff1615610c595760405162cea8b160e11b81526001600160a01b03909116600482015260240161072e565b506001600160a01b0381165f908152600260205260409020600301805460ff19166001179055610c9d610c8b42611aac565b6001906001600160a01b038416611ae0565b505050565b5f6106b7600583611afa565b6001600160a01b0382165f9081526006602090815260408083208484529091528120546106b4565b335f8181526002602052604090206003015460ff16610d14576040516319aaa75960e11b81526001600160a01b03909116600482015260240161072e565b505f33610d1f61127b565b6001600160a01b0316149050811580610d355750805b3390610d60576040516305df8ea560e31b81526001600160a01b03909116600482015260240161072e565b50610d6b3388611326565b1533889091610da057604051630d75cd7760e11b81526001600160a01b0392831660048201529116602482015260440161072e565b5050801580610dc35750610dc15f516020613cdb5f395f51905f5288611326565b155b5f516020613cdb5f395f51905f52908890610e0457604051630d75cd7760e11b81526001600160a01b0392831660048201529116602482015260440161072e565b50505f82610e125733610e21565b5f516020613cdb5f395f51905f525b6001600160a01b0381165f908152600260205260409020909150610e459089611b1d565b81899091610e7957604051630d75cd7760e11b81526001600160a01b0392831660048201529116602482015260440161072e565b5050610e8788878787611c30565b6040805180820182528781526001600160a01b0389811660208084019182528c83165f90815260038252949094209251805184559093015160018301559151600290910180546001600160a01b03191691909216179055610eeb6005828a81611864565b610f186005828a7f0000000000000000000000000000000000000000000000000000000000000000611d57565b6040516323b872dd60e01b81523360048201523060248201527f000000000000000000000000000000000000000000000000000000000000000060448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015610fa7573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fcb9190613a52565b505f610fdf6008546001600160a01b031690565b60405163095ea7b360e01b81526001600160a01b0380831660048301527f000000000000000000000000000000000000000000000000000000000000000060248301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063095ea7b3906044016020604051808303815f875af115801561106f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110939190613a52565b506040516311f9fbc960e21b81523060048201527f000000000000000000000000000000000000000000000000000000000000000060248201526001600160a01b038216906347e7ef24906044015f604051808303815f87803b1580156110f8575f5ffd5b505af115801561110a573d5f5f3e3d5ffd5b50506040516001600160a01b038b81168252808d169350851691507f7986a8ff398d9a6be88df9dfc6e3c9a83e4da5544241aad420d1cf7c214e43459060200160405180910390a3505050505050505050565b610c9d338484846119ba565b5f6106b761118161117984611aac565b600190611de6565b6001600160e01b0316611e3b565b611197611a80565b6111a05f611e6e565b565b60606111af848385611ebd565b949350505050565b6040805160018082528183019092525f918291906020808301908036833701905050905083815f815181106111ee576111ee613a84565b602002602001018181525050611205858285611ebd565b5f8151811061121657611216613a84565b60200260200101519150509392505050565b611230611a80565b6008546001600160a01b031615611259576040516296bb9f60e21b815260040160405180910390fd5b600880546001600160a01b0319166001600160a01b0392909216919091179055565b5f6106e461118160016120bf565b5f6106b76005836120f6565b60605f6112a28484611365565b90505f8167ffffffffffffffff8111156112be576112be6134d1565b6040519080825280602002602001820160405280156112e7578160200160208202803683370190505b5090505f5b8281101561131a578082828151811061130757611307613a84565b60209081029190910101526001016112ec565b50610a12858286611ebd565b6001600160a01b038281165f90815260026020818152604080842094861684529390910190529081205460ff166106b4565b5f6106b46005848461211a565b6001600160a01b0382165f9081526002602052604081208161138684611aac565b90505f611393838361213f565b9050856001600160a01b03166113a886611169565b6001600160a01b031603610a1257739064fb41156d300196d5eb95e0b3c1f08ebc39a85f5260026020526113fc7f45cd5d767d29724415e078f0a4044a337b39cef8f25b5496e43151dbca56c5178361213f565b6114069082613aac565b9695505050505050565b611418611a80565b6001600160a01b03811661144157604051631e4fbdf760e01b81525f600482015260240161072e565b61144a81611e6e565b50565b335f908152600260205260408120600301548190819060ff163390611491576040516319aaa75960e11b81526001600160a01b03909116600482015260240161072e565b50335f8181526002602081815260408084206001600160a01b038b1685529283019091529091205460ff16801580156114d95750336114ce61127b565b6001600160a01b0316145b801561151b57506001600160a01b0388165f9081527f45cd5d767d29724415e078f0a4044a337b39cef8f25b5496e43151dbca56c519602052604090205460ff165b15611571575050739064fb41156d300196d5eb95e0b3c1f08ebc39a85f525060026020525f516020613cdb5f395f51905f527f45cd5d767d29724415e078f0a4044a337b39cef8f25b5496e43151dbca56c51760015b878161159c5760405163417f3a0560e01b81526001600160a01b03909116600482015260240161072e565b505f6115aa6005858b611a59565b90508088808210156115d857604051635087517f60e11b81526004810192909252602482015260440161072e565b508890505f7f00000000000000000000000000000000000000000000000000000000000000006116088385613abf565b10905080156116565761161b858c61215a565b8b90611646576040516304ca9e7360e31b81526001600160a01b03909116600482015260240161072e565b508291506116566005878d6121bb565b6116636005878d856121c7565b5f6116766008546001600160a01b031690565b60405163625f849b60e11b8152336004820152602481018590526001600160a01b03919091169063c4bf0936906044016020604051808303815f875af11580156116c2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116e69190613a6d565b929c919b50919950975050505050505050565b5f61170c6008546001600160a01b031690565b604051634527d8b560e11b8152600481018490529091506001600160a01b03821690638a4fb16a90602401608060405180830381865afa158015611752573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117769190613add565b606001516117d45760405163f752f8b560e01b8152600481018390526001600160a01b0382169063f752f8b5906024015f604051808303815f87803b1580156117bd575f5ffd5b505af11580156117cf573d5f5f3e3d5ffd5b505050505b5050565b5f6106b460058484611a59565b604080518082019091525f80825260208201525f825f0151836020015160405160200161181c929190918252602082015260400190565b604051602081830303815290604052905061185075415a5445435f424c535f504f505f424e3235345f563160501b8261224e565b9392505050565b5f6106b782600201612357565b6001600160a01b038381165f9081526020868152604080832086851684529091529020600101548116908216810361189c575061079a565b6001600160a01b038481165f908152602087815260408083208785168085529083529281902060010180546001600160a01b031916878616908117909155815194861685529184019190915290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f910160405180910390a261192b858284611926898989611a59565b612370565b5050505050565b5f6106b76119486008546001600160a01b031690565b6001600160a01b031663c7f758a8846040518263ffffffff1660e01b815260040161197591815260200190565b6101e060405180830381865afa158015611991573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119b59190613b61565b6124a9565b5f6119c484611932565b90506119d46005868684876124bf565b6008546001600160a01b031660405163350c7fbd60e11b8152600481018690526024810185905283151560448201526001600160a01b039190911690636a18ff7a906064016020604051808303815f875af1158015611a35573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117cf9190613a52565b6001600160a01b039182165f90815260209384526040808220929093168152925290205490565b5f546001600160a01b031633146111a05760405163118cdaa760e01b815233600482015260240161072e565b5f63ffffffff821115611adc576040516306dfcc6560e41b8152602060048201526024810183905260440161072e565b5090565b5f80611aed85858561258a565b915091505b935093915050565b6001600160a01b0381165f9081526020839052604081206106b490600101612357565b6001600160a01b0381165f90815260028301602052604081205460ff1615611b4657505f6106b7565b5f611b50846120bf565b604080518082018252600181526001600160e01b0383811660208084019182526001600160a01b0389165f90815260028b019091529384209251835491516001600160e81b0319909216901515610100600160e81b031916176101009190921602179055909150611bc042611aac565b9050611bf881611bd8866001600160a01b03166126ce565b6001600160e01b0385165f90815260018901602052604090209190611ae0565b50611c23905081611c1b611c0d856001613c06565b6001600160e01b03166126ce565b879190611ae0565b5060019695505050505050565b6001600160a01b0384165f908152600360209081526040918290208251808401909352805480845260019091015491830191909152158015611c7457506020810151155b815160208301519091611ca3576040516312d6323b60e11b81526004810192909252602482015260440161072e565b50505f845f01518560200151604051602001611cc9929190918252602082015260400190565b60408051601f1981840301815291815281516020928301205f8181526004909352912054909150819060ff1615611d1657604051636ab4baeb60e11b815260040161072e91815260200190565b505f818152600460205260409020805460ff19166001179055611d3a858585612701565b6117cf5760405163df4ff27b60e01b815260040160405180910390fd5b801561079a576001600160a01b038084165f9081526020868152604080832093861683529083905281208054849290611d91908490613aac565b90915550506001600160a01b038084165f90815260208390526040812060010154611dc0928892911685612370565b611dcd6001820183612877565b50611ddd90506002860183612877565b50505050505050565b81545f9081611df7858583856128f1565b90508015611e3157611e1b85611e0e600184613abf565b5f91825260209091200190565b54600160201b90046001600160e01b0316610a12565b505f949350505050565b5f6001600160a01b03821115611adc576040516306dfcc6560e41b815260a060048201526024810183905260440161072e565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60605f835167ffffffffffffffff811115611eda57611eda6134d1565b604051908082528060200260200182016040528015611f03578160200160208202803683370190505b506001600160a01b0386165f818152600260205260408120739064fb41156d300196d5eb95e0b3c1f08ebc39a882529293507f45cd5d767d29724415e078f0a4044a337b39cef8f25b5496e43151dbca56c51791611f6087611169565b6001600160a01b03161490505f611f7687611aac565b90505f611f83858361213f565b90505f83611f91575f611f9b565b611f9b858461213f565b90505f611fa88284613aac565b90505f5b8b518110156120ae575f8c8281518110611fc857611fc8613a84565b6020026020010151905082811081849091611fff57604051635d4bf88360e01b81526004810192909252602482015260440161072e565b50508481101561204b5761201489828861294c565b8a838151811061202657612026613a84565b60200260200101906001600160a01b031690816001600160a01b0316815250506120a5565b86156120665761201461205e8683613abf565b89908861294c565b604051633d6a4a3b60e21b815260206004820152601360248201527229a427aaa622102722ab22a9102420a82822a760691b604482015260640161072e565b50600101611fac565b50969b9a5050505050505050505050565b80545f9080156120ee576120d883611e0e600184613abf565b54600160201b90046001600160e01b0316611850565b5f9392505050565b6001600160a01b0381165f9081526001808401602052604082206106b49101612357565b6001600160a01b0382165f9081526001808501602052604082206111af91018361297b565b5f61214a8383611de6565b6001600160e01b03169392505050565b6001600160a01b0381165f908152600283016020908152604080832081518083019092525460ff811615158083526101009091046001600160e01b031692820192909252906121ac575f9150506106b7565b6111af848260200151856129b5565b610c9d8383835f611864565b801561079a576001600160a01b038084165f9081526020868152604080832093861683529083905281208054849290612201908490613abf565b90915550506001600160a01b038084165f9081526020839052604081206001015461223192889291169085612370565b61223e6001820183612bd9565b50611ddd90506002860183612bd9565b604080518082019091525f80825260208201525f8383604051602001612275929190613c25565b60408051601f19818403018152919052805160209091012090505f6122a75f516020613cbb5f395f51905f5283613c75565b90505f805b5f516020613cbb5f395f51905f5283840991505f516020613cbb5f395f51905f5283830991505f516020613cbb5f395f51905f526003830891506122ef82612c86565b9092509050801561231657604051806040016040528084815260200183815250945061232f565b5f516020613cbb5f395f51905f526001840892506122ac565b8061234d57604051633d7f3d1d60e21b815260040160405180910390fd5b5050505092915050565b5f612361826120bf565b6001600160e01b031692915050565b816001600160a01b0316836001600160a01b0316148061238e575080155b61079a576001600160a01b0383161561241b576001600160a01b0383165f90815260018086016020526040822082916123c8910184612bd9565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612410929190918252602082015260400190565b60405180910390a250505b6001600160a01b0382161561079a576001600160a01b0382165f9081526001808601602052604082208291612451910184612877565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612499929190918252602082015260400190565b60405180910390a2505050505050565b5f6106b78260800151835f015160200151612d29565b5f6124cb86868561211a565b6001600160a01b0386165f90815260018801602090815260408083208884529091529020549091506124fd8382613aac565b821015868361250c8685613aac565b9091926125455760405163dd99c2ab60e01b81526001600160a01b0390931660048401526024830191909152604482015260640161072e565b5050506001600160a01b0386165f90815260018801602090815260408083208884529091528120805485929061257c908490613aac565b909155505050505050505050565b82545f9081908015612676575f6125a687611e0e600185613abf565b805490915063ffffffff80821691600160201b90046001600160e01b03169088168211156125e757604051632520601d60e01b815260040160405180910390fd5b8763ffffffff168263ffffffff160361261a57825463ffffffff16600160201b6001600160e01b03891602178355612668565b6040805180820190915263ffffffff808a1682526001600160e01b03808a1660208085019182528d54600181018f555f8f81529190912094519151909216600160201b029216919091179101555b9450859350611af292505050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a555f8a815291822095519251909316600160201b029190931617920191909155905081611af2565b5f6001600160e01b03821115611adc576040516306dfcc6560e41b815260e060048201526024810183905260440161072e565b5f61270b84612d34565b84516020860151909161273a57604051634a7e912d60e01b81526004810192909252602482015260440161072e565b505061274583612d8e565b835f01518460200151856040015186606001519091929361278f5760405163cd79c2ab60e01b8152600481019490945260248401929092526044830152606482015260840161072e565b5050505061279c82612d34565b8251602084015190916127cb57604051634a7e912d60e01b81526004810192909252602482015260440161072e565b50505f6127d7856117e5565b90505f6127e5868686612ee4565b9050805f0361280757604051631262b41360e01b815260040160405180910390fd5b5f61281b856128168985612f84565b612feb565b90505f612856846128166128506040805180820182525f80825260209182015281518083019092526001825260029082015290565b86612f84565b905061286b82612864613056565b838a613123565b98975050505050505050565b5f5f5f612883856120bf565b9050835f0361289f576001600160e01b031691508190506128ea565b5f6128a9856126ce565b90506128c96128b742611aac565b6128c18385613c06565b889190611ae0565b508290506128d78282613c06565b6001600160e01b03918216955016925050505b9250929050565b5f5b81831015612944575f61290684846131e0565b5f8781526020902090915063ffffffff86169082015463ffffffff1611156129305780925061293e565b61293b816001613aac565b93505b506128f3565b509392505050565b5f8281526001840160205260408120819061296790846131fa565b9050610a12816001600160e01b0316611e3b565b5f61298582421190565b6129a2576040516334dcb7d760e21b815260040160405180910390fd5b61214a6129ae83611aac565b84906131fa565b5f806129c0856120bf565b9050806001600160e01b0316846001600160e01b031610612a0757604051636bc4db8d60e11b81526001600160e01b0380861660048301528216602482015260440161072e565b6040805180820182525f80825260208083018281526001600160a01b038816835260028a019091529281209151825493516001600160e81b0319909416901515610100600160e81b031916176101006001600160e01b0390941693909302929092179055612a76600183613c88565b90505f612aa0611181886001015f856001600160e01b031681526020019081526020015f206120bf565b90505f612aac42611aac565b9050866001600160e01b0316836001600160e01b031603612af2576001600160e01b0387165f9081526001890160205260408120612aeb918390611ae0565b5050612bab565b6040518060400160405280600115158152602001612b18896001600160e01b03166126ce565b6001600160e01b039081169091526001600160a01b0384165f81815260028c016020908152604090912084518154959092015190931661010002610100600160e81b0319911515919091166001600160e81b031990941693909317929092179055612ba8908290612b88906126ce565b6001600160e01b038a165f90815260018c01602052604090209190611ae0565b50505b612bc981612bc1856001600160e01b03166126ce565b8a9190611ae0565b5060019998505050505050505050565b5f5f5f612be5856120bf565b9050835f03612c01576001600160e01b031691508190506128ea565b5f612c0b856126ce565b90503382826001600160e01b038082169083161015612c5f5760405163b3d9568f60e01b81526001600160a01b0390931660048401526001600160e01b03918216602484015216604482015260640161072e565b505050612c78612c6e42611aac565b6128c18385613c88565b508290506128d78282613c88565b5f5f5f60405160208152602080820152602060408201528460608201527f0c19139cb84c680a6e14116da060561765e05aa45a1c72a34f082305b61f3f5260808201525f516020613cbb5f395f51905f5260a082015260208160c08360056107d05a03fa9051935090505f516020613cbb5f395f51905f528380098414915080612d2357604051634ccc085960e11b815260040160405180910390fd5b50915091565b5f6106b48284613aac565b5f815160208301515f516020613cbb5f395f51905f528283095f516020613cbb5f395f51905f5283820990505f516020613cbb5f395f51905f526003820890505f516020613cbb5f395f51905f5282830914949350505050565b5f815160208301515f516020613cbb5f395f51905f528283095f516020613cbb5f395f51905f5282830981828301015f516020613cbb5f395f51905f5282838401085f516020613cbb5f395f51905f5286825f516020613cbb5f395f51905f52038601099550505f516020613cbb5f395f51905f5284835f516020613cbb5f395f51905f520383010993505050505f516020613cbb5f395f51905f527f2b149d40ceb8aaae81be18991be06ac3b5b4c5e559dbefa33267e6dc24a138e5830891505f516020613cbb5f395f51905f527e9713b03af0fed4cd2cafadeed8fdf4a74fa084e52d1852e4a2bd0685c315d282089050604084015160608501515f516020613cbb5f395f51905f5280825f516020613cbb5f395f51905f520384085f516020613cbb5f395f51905f52838508095f516020613cbb5f395f51905f52828460011b0994149290931491909116949350505050565b82516020808501518451858301516040808801516060808a015189518a8901518551808b019b909b528a86019890985291890195909552608088019390935260a087015260c086019290925260e0850152610100808501929092528051808503909201825261012090930190925281519101205f906111af907f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000190613c75565b604080518082019091525f8082526020820152612f9f6133f2565b835181526020808501519082015260408082018490525f908360608460076107d05a03fa905080612fe357604051635d90883360e11b815260040160405180910390fd5b505092915050565b604080518082019091525f8082526020820152613006613410565b835181526020808501518183015283516040808401919091529084015160608301525f908360808460066107d05a03fa905080612fe357604051635d3761b560e11b815260040160405180910390fd5b61307d60405180608001604052805f81526020015f81526020015f81526020015f81525090565b60405180608001604052807f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed81526020017f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c281526020017f1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d81526020017f275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec815250905090565b5f61312c61342e565b85518152602080870151818301528581015160408084019190915286516060808501919091528088015160808501528188015160a0850152865160c08501528683015160e0850152918501516101008401528451610120840152908401516101408301528301516101608201526131a161344d565b5f6020826101808560086107d05a03fa9050806131d15760405163a158f26960e01b815260040160405180910390fd5b50516001149695505050505050565b5f6131ee6002848418613ca7565b6106b490848416613aac565b81545f9081816005811115613254575f6132138461329b565b61321d9085613abf565b5f8881526020902090915081015463ffffffff908116908716101561324457809150613252565b61324f816001613aac565b92505b505b5f613261878785856128f1565b9050801561328e5761327887611e0e600184613abf565b54600160201b90046001600160e01b0316613290565b5f5b979650505050505050565b5f600182116132a8575090565b816001600160801b82106132c15760809190911c9060401b5b6801000000000000000082106132dc5760409190911c9060201b5b600160201b82106132f25760209190911c9060101b5b6201000082106133075760109190911c9060081b5b610100821061331b5760089190911c9060041b5b6010821061332e5760049190911c9060021b5b6004821061333a5760011b5b600302600190811c9081858161335257613352613c61565b048201901c9050600181858161336a5761336a613c61565b048201901c9050600181858161338257613382613c61565b048201901c9050600181858161339a5761339a613c61565b048201901c905060018185816133b2576133b2613c61565b048201901c905060018185816133ca576133ca613c61565b048201901c90506133e98185816133e3576133e3613c61565b04821190565b90039392505050565b60405180606001604052806003906020820280368337509192915050565b60405180608001604052806004906020820280368337509192915050565b604051806101800160405280600c906020820280368337509192915050565b60405180602001604052806001906020820280368337509192915050565b6001600160a01b038116811461144a575f5ffd5b5f5f60408385031215613490575f5ffd5b823561349b8161346b565b915060208301356134ab8161346b565b809150509250929050565b5f602082840312156134c6575f5ffd5b81356106b48161346b565b634e487b7160e01b5f52604160045260245ffd5b6040805190810167ffffffffffffffff81118282101715613508576135086134d1565b60405290565b6040516080810167ffffffffffffffff81118282101715613508576135086134d1565b604051610100810167ffffffffffffffff81118282101715613508576135086134d1565b604051601f8201601f1916810167ffffffffffffffff8111828210171561357e5761357e6134d1565b604052919050565b5f60408284031215613596575f5ffd5b61359e6134e5565b823581526020928301359281019290925250919050565b5f604082840312156135c5575f5ffd5b6106b48383613586565b8151815260208083015190820152604081016106b7565b5f5f5f606084860312156135f8575f5ffd5b83356136038161346b565b925060208401356136138161346b565b915060408401356136238161346b565b809150509250925092565b5f67ffffffffffffffff821115613647576136476134d1565b5060051b60200190565b5f60208284031215613661575f5ffd5b813567ffffffffffffffff811115613677575f5ffd5b8201601f81018413613687575f5ffd5b803561369a6136958261362e565b613555565b8082825260208201915060208360051b8501019250868311156136bb575f5ffd5b6020840193505b828410156114065783356136d58161346b565b8252602093840193909101906136c2565b602080825282518282018190525f918401906040840190835b818110156137325761371c83855180518252602090810151910152565b60209390930192604092909201916001016136ff565b509095945050505050565b801515811461144a575f5ffd5b80356137558161373d565b919050565b5f5f5f6060848603121561376c575f5ffd5b833592506020840135915060408401356136238161373d565b5f5f60408385031215613796575f5ffd5b82356137a18161346b565b946020939093013593505050565b5f5f5f5f5f5f8688036101608112156137c6575f5ffd5b87356137d18161346b565b965060208801356137e18161346b565b95506137f08960408a01613586565b94506080607f1982011215613803575f5ffd5b5061380c61350e565b6080880135815260a0880135602082015260c0880135604082015260e088013560608201529250613841886101008901613586565b9150613850610140880161374a565b90509295509295509295565b5f6020828403121561386c575f5ffd5b5035919050565b5f5f5f60608486031215613885575f5ffd5b83356138908161346b565b925060208401359150604084013567ffffffffffffffff8111156138b2575f5ffd5b8401601f810186136138c2575f5ffd5b80356138d06136958261362e565b8082825260208201915060208360051b8501019250888311156138f1575f5ffd5b6020840193505b828410156139135783358252602093840193909101906138f8565b809450505050509250925092565b602080825282518282018190525f918401906040840190835b818110156137325783516001600160a01b031683526020938401939092019160010161393a565b5f5f5f60608486031215613973575f5ffd5b833561397e8161346b565b95602085013595506040909401359392505050565b5f8183036101208112156139a5575f5ffd5b6139ad613531565b915060408112156139bc575f5ffd5b506139c56134e5565b825181526020808401518183015290825260408084015191830191909152606080840151918301919091526080808401519183019190915260a0808401519183019190915260c0808401519183019190915260e080840151918301919091526101009092015191810191909152919050565b5f6101208284031215613a48575f5ffd5b6106b48383613993565b5f60208284031215613a62575f5ffd5b81516106b48161373d565b5f60208284031215613a7d575f5ffd5b5051919050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156106b7576106b7613a98565b818103818111156106b7576106b7613a98565b80516137558161346b565b5f6080828403128015613aee575f5ffd5b50613af761350e565b82518152602080840151908201526040830151613b138161346b565b60408201526060830151613b268161373d565b60608201529392505050565b5f60408284031215613b42575f5ffd5b613b4a6134e5565b825181526020928301519281019290925250919050565b5f6101e0828403128015613b73575f5ffd5b5060405160c0810167ffffffffffffffff81118282101715613b9757613b976134d1565b604052613ba48484613993565b815261012083015160098110613bb8575f5ffd5b6020820152613bca6101408401613ad2565b6040820152613bdc6101608401613ad2565b60608201526101808301516080820152613bfa846101a08501613b32565b60a08201529392505050565b6001600160e01b0381811683821601908111156106b7576106b7613a98565b828152604060208201525f82518060408401528060208501606085015e5f606082850101526060601f19601f8301168401019150509392505050565b634e487b7160e01b5f52601260045260245ffd5b5f82613c8357613c83613c61565b500690565b6001600160e01b0382811682821603908111156106b7576106b7613a98565b5f82613cb557613cb5613c61565b50049056fe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47213a5ea1b59775ba625834509064fb41156d300196d5eb95e0b3c1f08ebc39a8a2646970667358221220530946ff4642a36a627bb0310ac8d9a53cab1a5cac8859440fa4af70c81bbb0764736f6c634300081b0033";
5
5
  /**
6
6
  * GSE link references.
7
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"GSEBytecode.d.ts","sourceRoot":"","sources":["../src/GSEBytecode.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,WAAW,yn/BAAyn/B,CAAC;AAClp/B;;GAEG;AACH,eAAO,MAAM,iBAAiB,IAAc,CAAC"}
1
+ {"version":3,"file":"GSEBytecode.d.ts","sourceRoot":"","sources":["../src/GSEBytecode.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,WAAW,+i/BAA+i/B,CAAC;AACxk/B;;GAEG;AACH,eAAO,MAAM,iBAAiB,IAAc,CAAC"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * GSE bytecode.
3
- */ export const GSEBytecode = "0x60e06040525f60019081556002805460ff19169091179055348015610022575f5ffd5b50604051613f39380380613f3983398101604081905261004191610149565b83838383836001600160a01b03811661007357604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b61007c816100e3565b506001600160a01b0390921660c05260805260a0525050739064fb41156d300196d5eb95e0b3c1f08ebc39a85f5250506004602052507ff5788997a5bc14390fe0bca3ad9ff7c3affbe9f3eb2888f771678d1889eb39b5805460ff1916600117905561018e565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381168114610146575f5ffd5b50565b5f5f5f5f6080858703121561015c575f5ffd5b845161016781610132565b602086015190945061017881610132565b6040860151606090960151949790965092505050565b60805160a05160c051613d426101f75f395f81816103510152818161085a015281816108f301528181611098015261116601525f8181610548015261171801525f81816104e801528181611033015281816110720152818161113d01526111e80152613d425ff3fe608060405234801561000f575f5ffd5b5060043610610233575f3560e01c8063715018a611610135578063bd76784b116100b4578063ec6e69db11610079578063ec6e69db14610625578063f2fde38b14610638578063f3fef3a31461064b578063f752f8b514610679578063f7888aec1461068c575f5ffd5b8063bd76784b1461051d578063d3da927f14610530578063dbc8575214610543578063e48a5f7b1461056a578063eaeded5f14610612575f5ffd5b8063ab033ea9116100fa578063ab033ea9146104bb578063b2865a0d146104ce578063b35186a8146104db578063b4ac4536146104e3578063bb4d44361461050a575f5ffd5b8063715018a61461045d5780638da5cb5b146104655780639796d977146104755780639f6bc70c14610495578063a9cd26c9146104a8575f5ffd5b806352097e4e116101c1578063671431c311610186578063671431c3146103fd5780636902c67b146104105780636a18ff7a146104235780636a91551614610436578063710ca35414610449575f5ffd5b806352097e4e1461037357806352f44a14146103865780635338c758146103c457806359264f00146103d757806362400e4c146103ea575f5ffd5b8063289b3c0d11610207578063289b3c0d146102f35780632e341ce01461030457806330eb4bdd146103195780633fd20fe11461032c5780634800d97f1461034c575f5ffd5b806215eaaa146102375780630f9f54101461026757806311d66fee146102bd57806318160ddd146102dd575b5f5ffd5b61024a610245366004613491565b61069f565b6040516001600160a01b0390911681526020015b60405180910390f35b61024a6102753660046134c8565b6001600160a01b039081165f90815260056020908152604091829020825160808101845281549381019384526001820154606082015292835260020154909216910181905290565b6102d06102cb3660046135c7565b6106d5565b60405161025e91906135e1565b6102e56106f1565b60405190815260200161025e565b600a546001600160a01b031661024a565b6103176103123660046135f8565b610701565b005b6102e5610327366004613491565b6107b8565b61033f61033a366004613663565b610a33565b60405161025e91906136f8565b61024a7f000000000000000000000000000000000000000000000000000000000000000081565b61031761038136600461376c565b610b2a565b6103b46103943660046134c8565b6001600160a01b03165f9081526004602052604090206003015460ff1690565b604051901515815260200161025e565b6102e56103d2366004613491565b610b8f565b6103176103e53660046134c8565b610bea565b6102e56103f83660046134c8565b610cb9565b6102e561040b366004613797565b610cc5565b61031761041e3660046137c1565b610ced565b61031761043136600461376c565b61129c565b61024a61044436600461386e565b6112a8565b61024a5f516020613ced5f395f51905f5281565b6103176112ce565b5f546001600160a01b031661024a565b610488610483366004613885565b6112e1565b60405161025e9190613933565b5f516020613ced5f395f51905f5261024a565b61024a6104b6366004613973565b6112ee565b6103176104c93660046134c8565b61135f565b6002546103b49060ff1681565b61024a6113b2565b6102e57f000000000000000000000000000000000000000000000000000000000000000081565b6102e56105183660046134c8565b6113c0565b61048861052b366004613797565b6113cc565b6103b461053e366004613491565b61145d565b6102e57f000000000000000000000000000000000000000000000000000000000000000081565b6105e56105783660046134c8565b604080516080810182525f9181018281526060820183905281526020810191909152506001600160a01b039081165f908152600560209081526040918290208251608081018452815493810193845260018201546060820152928352600201549092169181019190915290565b6040805182518051825260209081015181830152909201516001600160a01b03169082015260600161025e565b6102e5610620366004613797565b611490565b6102e5610633366004613797565b61149d565b6103176106463660046134c8565b611548565b61065e610659366004613797565b611585565b6040805193845291151560208401529082015260600161025e565b61031761068736600461386e565b611832565b6102e561069a366004613491565b611911565b6001600160a01b038083165f90815260076020908152604080832084861684529091528120600101549091165b90505b92915050565b604080518082019091525f80825260208201526106cf8261191e565b5f6106fc6007611990565b905090565b6001600160a01b0383165f9081526004602052604090206003015460ff16839061074f576040516330d32d8760e21b81526001600160a01b0390911660048201526024015b60405180910390fd5b506001600160a01b038083165f908152600560205260409020600201541680338082146107a257604051630257d8d760e41b81526001600160a01b03928316600482015291166024820152604401610746565b506107b29050600785858561199d565b50505050565b5f5f6107cc600a546001600160a01b031690565b90505f816001600160a01b0316636bd50cef6040518163ffffffff1660e01b815260040161012060405180830381865afa15801561080c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108309190613a49565b51602001516040516323b872dd60e01b8152336004820152306024820152604481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af11580156108a8573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108cc9190613a64565b5060405163095ea7b360e01b81526001600160a01b038381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b3906044016020604051808303815f875af1158015610939573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061095d9190613a64565b506040516311f9fbc960e21b8152306004820152602481018290526001600160a01b038316906347e7ef24906044015f604051808303815f87803b1580156109a3575f5ffd5b505af11580156109b5573d5f5f3e3d5ffd5b50506040516330eb4bdd60e01b81526001600160a01b0388811660048301528781166024830152851692506330eb4bdd91506044016020604051808303815f875af1158015610a06573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a2a9190613a7f565b95945050505050565b60605f825167ffffffffffffffff811115610a5057610a506134e3565b604051908082528060200260200182016040528015610a9457816020015b604080518082019091525f8082526020820152815260200190600190039081610a6e5790505b5090505f5b8351811015610b235760055f858381518110610ab757610ab7613a96565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205f016040518060400160405290815f8201548152602001600182015481525050828281518110610b1057610b10613a96565b6020908102919091010152600101610a99565b5092915050565b5f610b3484611a6b565b9050610b3f816112a8565b33906001600160a01b03168114610b75576040516305df8ea560e31b81526001600160a01b039091166004820152602401610746565b506107b25f516020613ced5f395f51905f52858585611af3565b5f80610b9d60078585611b92565b9050836001600160a01b0316610bb16113b2565b6001600160a01b0316036106cc57610bd860075f516020613ced5f395f51905f5285611b92565b610be29082613abe565b949350505050565b610bf2611bb9565b806001600160a01b038116610c26576040516327bac29760e21b81526001600160a01b039091166004820152602401610746565b506001600160a01b0381165f90815260046020526040902060030154819060ff1615610c705760405162cea8b160e11b81526001600160a01b039091166004820152602401610746565b506001600160a01b0381165f908152600460205260409020600301805460ff19166001179055610cb4610ca242611be5565b6003906001600160a01b038416611c19565b505050565b5f6106cf600783611c33565b6001600160a01b0382165f9081526008602090815260408083208484529091528120546106cc565b335f8181526004602052604090206003015460ff16610d2b576040516319aaa75960e11b81526001600160a01b039091166004820152602401610746565b505f33610d366113b2565b6001600160a01b0316149050811580610d4c5750805b3390610d77576040516305df8ea560e31b81526001600160a01b039091166004820152602401610746565b50610d82338861145d565b1533889091610db757604051630d75cd7760e11b81526001600160a01b03928316600482015291166024820152604401610746565b5050801580610dda5750610dd85f516020613ced5f395f51905f528861145d565b155b5f516020613ced5f395f51905f52908890610e1b57604051630d75cd7760e11b81526001600160a01b03928316600482015291166024820152604401610746565b50505f82610e295733610e38565b5f516020613ced5f395f51905f525b6001600160a01b0381165f908152600460205260409020909150610e5c9089611c56565b81899091610e9057604051630d75cd7760e11b81526001600160a01b03928316600482015291166024820152604401610746565b505060025460ff1615610fc6576001600160a01b0388165f908152600560209081526040918290208251808401909352805480845260019091015491830191909152158015610ee157506020810151155b815160208301519091610f10576040516312d6323b60e11b815260048101929092526024820152604401610746565b50505f875f01518860200151604051602001610f36929190918252602082015260400190565b60408051601f1981840301815291815281516020928301205f8181526006909352912054909150819060ff1615610f8357604051636ab4baeb60e11b815260040161074691815260200190565b50610f8f888888611d69565b610fac5760405163df4ff27b60e01b815260040160405180910390fd5b5f908152600660205260409020805460ff19166001179055505b6040805180820182528781526001600160a01b0389811660208084019182528c83165f90815260058252949094209251805184559093015160018301559151600290910180546001600160a01b0319169190921617905561102a6007828a8161199d565b6110576007828a7f0000000000000000000000000000000000000000000000000000000000000000611edf565b6040516323b872dd60e01b81523360048201523060248201527f000000000000000000000000000000000000000000000000000000000000000060448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af11580156110e6573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061110a9190613a64565b505f61111e600a546001600160a01b031690565b60405163095ea7b360e01b81526001600160a01b0380831660048301527f000000000000000000000000000000000000000000000000000000000000000060248301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063095ea7b3906044016020604051808303815f875af11580156111ae573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111d29190613a64565b506040516311f9fbc960e21b81523060048201527f000000000000000000000000000000000000000000000000000000000000000060248201526001600160a01b038216906347e7ef24906044015f604051808303815f87803b158015611237575f5ffd5b505af1158015611249573d5f5f3e3d5ffd5b50506040516001600160a01b038b81168252808d169350851691507f7986a8ff398d9a6be88df9dfc6e3c9a83e4da5544241aad420d1cf7c214e43459060200160405180910390a3505050505050505050565b610cb433848484611af3565b5f6106cf6112c06112b884611be5565b600390611f6e565b6001600160e01b0316611fc3565b6112d6611bb9565b6112df5f611ff6565b565b6060610be2848385612045565b6040805160018082528183019092525f918291906020808301908036833701905050905083815f8151811061132557611325613a96565b60200260200101818152505061133c858285612045565b5f8151811061134d5761134d613a96565b60200260200101519150509392505050565b611367611bb9565b600a546001600160a01b031615611390576040516296bb9f60e21b815260040160405180910390fd5b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b5f6106fc6112c06003612247565b5f6106cf60078361227e565b60605f6113d9848461149d565b90505f8167ffffffffffffffff8111156113f5576113f56134e3565b60405190808252806020026020018201604052801561141e578160200160208202803683370190505b5090505f5b82811015611451578082828151811061143e5761143e613a96565b6020908102919091010152600101611423565b50610a2a858286612045565b6001600160a01b038281165f9081526004602090815260408083209385168352600290930190529081205460ff166106cc565b5f6106cc600784846122a2565b6001600160a01b0382165f908152600460205260408120816114be84611be5565b90505f6114cb83836122c7565b9050856001600160a01b03166114e0866112a8565b6001600160a01b031603610a2a57739064fb41156d300196d5eb95e0b3c1f08ebc39a85f5260046020526115347ff5788997a5bc14390fe0bca3ad9ff7c3affbe9f3eb2888f771678d1889eb39b2836122c7565b61153e9082613abe565b9695505050505050565b611550611bb9565b6001600160a01b03811661157957604051631e4fbdf760e01b81525f6004820152602401610746565b61158281611ff6565b50565b335f908152600460205260408120600301548190819060ff1633906115c9576040516319aaa75960e11b81526001600160a01b039091166004820152602401610746565b50335f8181526004602090815260408083206001600160a01b038a168452600281019092529091205460ff16801580156116125750336116076113b2565b6001600160a01b0316145b801561165457506001600160a01b0388165f9081527ff5788997a5bc14390fe0bca3ad9ff7c3affbe9f3eb2888f771678d1889eb39b4602052604090205460ff165b156116aa575050739064fb41156d300196d5eb95e0b3c1f08ebc39a85f525060046020525f516020613ced5f395f51905f527ff5788997a5bc14390fe0bca3ad9ff7c3affbe9f3eb2888f771678d1889eb39b260015b87816116d55760405163417f3a0560e01b81526001600160a01b039091166004820152602401610746565b505f6116e36007858b611b92565b905080888082101561171157604051635087517f60e11b815260048101929092526024820152604401610746565b508890505f7f00000000000000000000000000000000000000000000000000000000000000006117418385613ad1565b109050801561178f57611754858c6122e2565b8b9061177f576040516304ca9e7360e31b81526001600160a01b039091166004820152602401610746565b5082915061178f6007878d612343565b61179c6007878d8561234f565b5f6117af600a546001600160a01b031690565b60405163625f849b60e11b8152336004820152602481018590526001600160a01b03919091169063c4bf0936906044016020604051808303815f875af11580156117fb573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061181f9190613a7f565b929c919b50919950975050505050505050565b5f611845600a546001600160a01b031690565b604051634527d8b560e11b8152600481018490529091506001600160a01b03821690638a4fb16a90602401608060405180830381865afa15801561188b573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118af9190613aef565b6060015161190d5760405163f752f8b560e01b8152600481018390526001600160a01b0382169063f752f8b5906024015f604051808303815f87803b1580156118f6575f5ffd5b505af1158015611908573d5f5f3e3d5ffd5b505050505b5050565b5f6106cc60078484611b92565b604080518082019091525f80825260208201525f825f01518360200151604051602001611955929190918252602082015260400190565b604051602081830303815290604052905061198975415a5445435f424c535f504f505f424e3235345f563160501b826123d6565b9392505050565b5f6106cf826002016124df565b6001600160a01b038381165f908152602086815260408083208685168452909152902060010154811690821681036119d557506107b2565b6001600160a01b038481165f908152602087815260408083208785168085529083529281902060010180546001600160a01b031916878616908117909155815194861685529184019190915290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f910160405180910390a2611a64858284611a5f898989611b92565b6124f8565b5050505050565b5f6106cf611a81600a546001600160a01b031690565b6001600160a01b031663c7f758a8846040518263ffffffff1660e01b8152600401611aae91815260200190565b6101e060405180830381865afa158015611aca573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611aee9190613b73565b612631565b5f611afd84611a6b565b9050611b0d600786868487612647565b600a546001600160a01b031660405163350c7fbd60e11b8152600481018690526024810185905283151560448201526001600160a01b039190911690636a18ff7a906064016020604051808303815f875af1158015611b6e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119089190613a64565b6001600160a01b039182165f90815260209384526040808220929093168152925290205490565b5f546001600160a01b031633146112df5760405163118cdaa760e01b8152336004820152602401610746565b5f63ffffffff821115611c15576040516306dfcc6560e41b81526020600482015260248101839052604401610746565b5090565b5f80611c26858585612712565b915091505b935093915050565b6001600160a01b0381165f9081526020839052604081206106cc906001016124df565b6001600160a01b0381165f90815260028301602052604081205460ff1615611c7f57505f6106cf565b5f611c8984612247565b604080518082018252600181526001600160e01b0383811660208084019182526001600160a01b0389165f90815260028b019091529384209251835491516001600160e81b0319909216901515610100600160e81b031916176101009190921602179055909150611cf942611be5565b9050611d3181611d11866001600160a01b0316612856565b6001600160e01b0385165f90815260018901602052604090209190611c19565b50611d5c905081611d54611d46856001613c18565b6001600160e01b0316612856565b879190611c19565b5060019695505050505050565b5f611d7384612889565b845160208601519091611da257604051634a7e912d60e01b815260048101929092526024820152604401610746565b5050611dad836128e3565b835f015184602001518560400151866060015190919293611df75760405163cd79c2ab60e01b81526004810194909452602484019290925260448301526064820152608401610746565b50505050611e0482612889565b825160208401519091611e3357604051634a7e912d60e01b815260048101929092526024820152604401610746565b50505f611e3f8561191e565b90505f611e4d868686612a39565b9050805f03611e6f57604051631262b41360e01b815260040160405180910390fd5b5f611e8385611e7e8985612ad9565b612b40565b90505f611ebe84611e7e611eb86040805180820182525f80825260209182015281518083019092526001825260029082015290565b86612ad9565b9050611ed382611ecc612bab565b838a612c78565b98975050505050505050565b80156107b2576001600160a01b038084165f9081526020868152604080832093861683529083905281208054849290611f19908490613abe565b90915550506001600160a01b038084165f90815260208390526040812060010154611f489288929116856124f8565b611f556001820183612d35565b50611f6590506002860183612d35565b50505050505050565b81545f9081611f7f85858385612daf565b90508015611fb957611fa385611f96600184613ad1565b5f91825260209091200190565b54600160201b90046001600160e01b0316610a2a565b505f949350505050565b5f6001600160a01b03821115611c15576040516306dfcc6560e41b815260a0600482015260248101839052604401610746565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60605f835167ffffffffffffffff811115612062576120626134e3565b60405190808252806020026020018201604052801561208b578160200160208202803683370190505b506001600160a01b0386165f818152600460205260408120739064fb41156d300196d5eb95e0b3c1f08ebc39a882529293507ff5788997a5bc14390fe0bca3ad9ff7c3affbe9f3eb2888f771678d1889eb39b2916120e8876112a8565b6001600160a01b03161490505f6120fe87611be5565b90505f61210b85836122c7565b90505f83612119575f612123565b61212385846122c7565b90505f6121308284613abe565b90505f5b8b51811015612236575f8c828151811061215057612150613a96565b602002602001015190508281108184909161218757604051635d4bf88360e01b815260048101929092526024820152604401610746565b5050848110156121d35761219c898288612e0a565b8a83815181106121ae576121ae613a96565b60200260200101906001600160a01b031690816001600160a01b03168152505061222d565b86156121ee5761219c6121e68683613ad1565b899088612e0a565b604051633d6a4a3b60e21b815260206004820152601360248201527229a427aaa622102722ab22a9102420a82822a760691b6044820152606401610746565b50600101612134565b50969b9a5050505050505050505050565b80545f9080156122765761226083611f96600184613ad1565b54600160201b90046001600160e01b0316611989565b5f9392505050565b6001600160a01b0381165f9081526001808401602052604082206106cc91016124df565b6001600160a01b0382165f908152600180850160205260408220610be2910183612e39565b5f6122d28383611f6e565b6001600160e01b03169392505050565b6001600160a01b0381165f908152600283016020908152604080832081518083019092525460ff811615158083526101009091046001600160e01b03169282019290925290612334575f9150506106cf565b610be284826020015185612e73565b610cb48383835f61199d565b80156107b2576001600160a01b038084165f9081526020868152604080832093861683529083905281208054849290612389908490613ad1565b90915550506001600160a01b038084165f908152602083905260408120600101546123b9928892911690856124f8565b6123c66001820183613097565b50611f6590506002860183613097565b604080518082019091525f80825260208201525f83836040516020016123fd929190613c37565b60408051601f19818403018152919052805160209091012090505f61242f5f516020613ccd5f395f51905f5283613c87565b90505f805b5f516020613ccd5f395f51905f5283840991505f516020613ccd5f395f51905f5283830991505f516020613ccd5f395f51905f5260038308915061247782613144565b9092509050801561249e5760405180604001604052808481526020018381525094506124b7565b5f516020613ccd5f395f51905f52600184089250612434565b806124d557604051633d7f3d1d60e21b815260040160405180910390fd5b5050505092915050565b5f6124e982612247565b6001600160e01b031692915050565b816001600160a01b0316836001600160a01b03161480612516575080155b6107b2576001600160a01b038316156125a3576001600160a01b0383165f9081526001808601602052604082208291612550910184613097565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612598929190918252602082015260400190565b60405180910390a250505b6001600160a01b038216156107b2576001600160a01b0382165f90815260018086016020526040822082916125d9910184612d35565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612621929190918252602082015260400190565b60405180910390a2505050505050565b5f6106cf8260800151835f0151602001516131e7565b5f6126538686856122a2565b6001600160a01b0386165f90815260018801602090815260408083208884529091529020549091506126858382613abe565b82101586836126948685613abe565b9091926126cd5760405163dd99c2ab60e01b81526001600160a01b03909316600484015260248301919091526044820152606401610746565b5050506001600160a01b0386165f908152600188016020908152604080832088845290915281208054859290612704908490613abe565b909155505050505050505050565b82545f90819080156127fe575f61272e87611f96600185613ad1565b805490915063ffffffff80821691600160201b90046001600160e01b031690881682111561276f57604051632520601d60e01b815260040160405180910390fd5b8763ffffffff168263ffffffff16036127a257825463ffffffff16600160201b6001600160e01b038916021783556127f0565b6040805180820190915263ffffffff808a1682526001600160e01b03808a1660208085019182528d54600181018f555f8f81529190912094519151909216600160201b029216919091179101555b9450859350611c2b92505050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a555f8a815291822095519251909316600160201b029190931617920191909155905081611c2b565b5f6001600160e01b03821115611c15576040516306dfcc6560e41b815260e0600482015260248101839052604401610746565b5f815160208301515f516020613ccd5f395f51905f528283095f516020613ccd5f395f51905f5283820990505f516020613ccd5f395f51905f526003820890505f516020613ccd5f395f51905f5282830914949350505050565b5f815160208301515f516020613ccd5f395f51905f528283095f516020613ccd5f395f51905f5282830981828301015f516020613ccd5f395f51905f5282838401085f516020613ccd5f395f51905f5286825f516020613ccd5f395f51905f52038601099550505f516020613ccd5f395f51905f5284835f516020613ccd5f395f51905f520383010993505050505f516020613ccd5f395f51905f527f2b149d40ceb8aaae81be18991be06ac3b5b4c5e559dbefa33267e6dc24a138e5830891505f516020613ccd5f395f51905f527e9713b03af0fed4cd2cafadeed8fdf4a74fa084e52d1852e4a2bd0685c315d282089050604084015160608501515f516020613ccd5f395f51905f5280825f516020613ccd5f395f51905f520384085f516020613ccd5f395f51905f52838508095f516020613ccd5f395f51905f52828460011b0994149290931491909116949350505050565b82516020808501518451858301516040808801516060808a015189518a8901518551808b019b909b528a86019890985291890195909552608088019390935260a087015260c086019290925260e0850152610100808501929092528051808503909201825261012090930190925281519101205f90610be2907f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000190613c87565b604080518082019091525f8082526020820152612af4613404565b835181526020808501519082015260408082018490525f908360608460076107d05a03fa905080612b3857604051635d90883360e11b815260040160405180910390fd5b505092915050565b604080518082019091525f8082526020820152612b5b613422565b835181526020808501518183015283516040808401919091529084015160608301525f908360808460066107d05a03fa905080612b3857604051635d3761b560e11b815260040160405180910390fd5b612bd260405180608001604052805f81526020015f81526020015f81526020015f81525090565b60405180608001604052807f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed81526020017f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c281526020017f1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d81526020017f275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec815250905090565b5f612c81613440565b85518152602080870151818301528581015160408084019190915286516060808501919091528088015160808501528188015160a0850152865160c08501528683015160e085015291850151610100840152845161012084015290840151610140830152830151610160820152612cf661345f565b5f6020826101808560086107d05a03fa905080612d265760405163a158f26960e01b815260040160405180910390fd5b50516001149695505050505050565b5f5f5f612d4185612247565b9050835f03612d5d576001600160e01b03169150819050612da8565b5f612d6785612856565b9050612d87612d7542611be5565b612d7f8385613c18565b889190611c19565b50829050612d958282613c18565b6001600160e01b03918216955016925050505b9250929050565b5f5b81831015612e02575f612dc484846131f2565b5f8781526020902090915063ffffffff86169082015463ffffffff161115612dee57809250612dfc565b612df9816001613abe565b93505b50612db1565b509392505050565b5f82815260018401602052604081208190612e25908461320c565b9050610a2a816001600160e01b0316611fc3565b5f612e4382421190565b612e60576040516334dcb7d760e21b815260040160405180910390fd5b6122d2612e6c83611be5565b849061320c565b5f80612e7e85612247565b9050806001600160e01b0316846001600160e01b031610612ec557604051636bc4db8d60e11b81526001600160e01b03808616600483015282166024820152604401610746565b6040805180820182525f80825260208083018281526001600160a01b038816835260028a019091529281209151825493516001600160e81b0319909416901515610100600160e81b031916176101006001600160e01b0390941693909302929092179055612f34600183613c9a565b90505f612f5e6112c0886001015f856001600160e01b031681526020019081526020015f20612247565b90505f612f6a42611be5565b9050866001600160e01b0316836001600160e01b031603612fb0576001600160e01b0387165f9081526001890160205260408120612fa9918390611c19565b5050613069565b6040518060400160405280600115158152602001612fd6896001600160e01b0316612856565b6001600160e01b039081169091526001600160a01b0384165f81815260028c016020908152604090912084518154959092015190931661010002610100600160e81b0319911515919091166001600160e81b03199094169390931792909217905561306690829061304690612856565b6001600160e01b038a165f90815260018c01602052604090209190611c19565b50505b6130878161307f856001600160e01b0316612856565b8a9190611c19565b5060019998505050505050505050565b5f5f5f6130a385612247565b9050835f036130bf576001600160e01b03169150819050612da8565b5f6130c985612856565b90503382826001600160e01b03808216908316101561311d5760405163b3d9568f60e01b81526001600160a01b0390931660048401526001600160e01b039182166024840152166044820152606401610746565b50505061313661312c42611be5565b612d7f8385613c9a565b50829050612d958282613c9a565b5f5f5f60405160208152602080820152602060408201528460608201527f0c19139cb84c680a6e14116da060561765e05aa45a1c72a34f082305b61f3f5260808201525f516020613ccd5f395f51905f5260a082015260208160c08360056107d05a03fa9051935090505f516020613ccd5f395f51905f5283800984149150806131e157604051634ccc085960e11b815260040160405180910390fd5b50915091565b5f6106cc8284613abe565b5f6132006002848418613cb9565b6106cc90848416613abe565b81545f9081816005811115613266575f613225846132ad565b61322f9085613ad1565b5f8881526020902090915081015463ffffffff908116908716101561325657809150613264565b613261816001613abe565b92505b505b5f61327387878585612daf565b905080156132a05761328a87611f96600184613ad1565b54600160201b90046001600160e01b03166132a2565b5f5b979650505050505050565b5f600182116132ba575090565b816001600160801b82106132d35760809190911c9060401b5b6801000000000000000082106132ee5760409190911c9060201b5b600160201b82106133045760209190911c9060101b5b6201000082106133195760109190911c9060081b5b610100821061332d5760089190911c9060041b5b601082106133405760049190911c9060021b5b6004821061334c5760011b5b600302600190811c9081858161336457613364613c73565b048201901c9050600181858161337c5761337c613c73565b048201901c9050600181858161339457613394613c73565b048201901c905060018185816133ac576133ac613c73565b048201901c905060018185816133c4576133c4613c73565b048201901c905060018185816133dc576133dc613c73565b048201901c90506133fb8185816133f5576133f5613c73565b04821190565b90039392505050565b60405180606001604052806003906020820280368337509192915050565b60405180608001604052806004906020820280368337509192915050565b604051806101800160405280600c906020820280368337509192915050565b60405180602001604052806001906020820280368337509192915050565b6001600160a01b0381168114611582575f5ffd5b5f5f604083850312156134a2575f5ffd5b82356134ad8161347d565b915060208301356134bd8161347d565b809150509250929050565b5f602082840312156134d8575f5ffd5b81356106cc8161347d565b634e487b7160e01b5f52604160045260245ffd5b6040805190810167ffffffffffffffff8111828210171561351a5761351a6134e3565b60405290565b6040516080810167ffffffffffffffff8111828210171561351a5761351a6134e3565b604051610100810167ffffffffffffffff8111828210171561351a5761351a6134e3565b604051601f8201601f1916810167ffffffffffffffff81118282101715613590576135906134e3565b604052919050565b5f604082840312156135a8575f5ffd5b6135b06134f7565b823581526020928301359281019290925250919050565b5f604082840312156135d7575f5ffd5b6106cc8383613598565b8151815260208083015190820152604081016106cf565b5f5f5f6060848603121561360a575f5ffd5b83356136158161347d565b925060208401356136258161347d565b915060408401356136358161347d565b809150509250925092565b5f67ffffffffffffffff821115613659576136596134e3565b5060051b60200190565b5f60208284031215613673575f5ffd5b813567ffffffffffffffff811115613689575f5ffd5b8201601f81018413613699575f5ffd5b80356136ac6136a782613640565b613567565b8082825260208201915060208360051b8501019250868311156136cd575f5ffd5b6020840193505b8284101561153e5783356136e78161347d565b8252602093840193909101906136d4565b602080825282518282018190525f918401906040840190835b818110156137445761372e83855180518252602090810151910152565b6020939093019260409290920191600101613711565b509095945050505050565b8015158114611582575f5ffd5b80356137678161374f565b919050565b5f5f5f6060848603121561377e575f5ffd5b833592506020840135915060408401356136358161374f565b5f5f604083850312156137a8575f5ffd5b82356137b38161347d565b946020939093013593505050565b5f5f5f5f5f5f8688036101608112156137d8575f5ffd5b87356137e38161347d565b965060208801356137f38161347d565b95506138028960408a01613598565b94506080607f1982011215613815575f5ffd5b5061381e613520565b6080880135815260a0880135602082015260c0880135604082015260e088013560608201529250613853886101008901613598565b9150613862610140880161375c565b90509295509295509295565b5f6020828403121561387e575f5ffd5b5035919050565b5f5f5f60608486031215613897575f5ffd5b83356138a28161347d565b925060208401359150604084013567ffffffffffffffff8111156138c4575f5ffd5b8401601f810186136138d4575f5ffd5b80356138e26136a782613640565b8082825260208201915060208360051b850101925088831115613903575f5ffd5b6020840193505b8284101561392557833582526020938401939091019061390a565b809450505050509250925092565b602080825282518282018190525f918401906040840190835b818110156137445783516001600160a01b031683526020938401939092019160010161394c565b5f5f5f60608486031215613985575f5ffd5b83356139908161347d565b95602085013595506040909401359392505050565b5f8183036101208112156139b7575f5ffd5b6139bf613543565b915060408112156139ce575f5ffd5b506139d76134f7565b825181526020808401518183015290825260408084015191830191909152606080840151918301919091526080808401519183019190915260a0808401519183019190915260c0808401519183019190915260e080840151918301919091526101009092015191810191909152919050565b5f6101208284031215613a5a575f5ffd5b6106cc83836139a5565b5f60208284031215613a74575f5ffd5b81516106cc8161374f565b5f60208284031215613a8f575f5ffd5b5051919050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156106cf576106cf613aaa565b818103818111156106cf576106cf613aaa565b80516137678161347d565b5f6080828403128015613b00575f5ffd5b50613b09613520565b82518152602080840151908201526040830151613b258161347d565b60408201526060830151613b388161374f565b60608201529392505050565b5f60408284031215613b54575f5ffd5b613b5c6134f7565b825181526020928301519281019290925250919050565b5f6101e0828403128015613b85575f5ffd5b5060405160c0810167ffffffffffffffff81118282101715613ba957613ba96134e3565b604052613bb684846139a5565b815261012083015160098110613bca575f5ffd5b6020820152613bdc6101408401613ae4565b6040820152613bee6101608401613ae4565b60608201526101808301516080820152613c0c846101a08501613b44565b60a08201529392505050565b6001600160e01b0381811683821601908111156106cf576106cf613aaa565b828152604060208201525f82518060408401528060208501606085015e5f606082850101526060601f19601f8301168401019150509392505050565b634e487b7160e01b5f52601260045260245ffd5b5f82613c9557613c95613c73565b500690565b6001600160e01b0382811682821603908111156106cf576106cf613aaa565b5f82613cc757613cc7613c73565b50049056fe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47213a5ea1b59775ba625834509064fb41156d300196d5eb95e0b3c1f08ebc39a8a2646970667358221220aeea91f09ef4bbaeef54f7d83e3ebbe2225e370f296fb6f89ea9760b0340bc2964736f6c634300081b0033";
3
+ */ export const GSEBytecode = "0x60e060405234801561000f575f5ffd5b50604051613f14380380613f1483398101604081905261002e91610136565b83838383836001600160a01b03811661006057604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b610069816100d0565b506001600160a01b0390921660c05260805260a0525050739064fb41156d300196d5eb95e0b3c1f08ebc39a85f5250506002602052507f45cd5d767d29724415e078f0a4044a337b39cef8f25b5496e43151dbca56c51a805460ff1916600117905561017b565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381168114610133575f5ffd5b50565b5f5f5f5f60808587031215610149575f5ffd5b84516101548161011f565b60208601519094506101658161011f565b6040860151606090960151949790965092505050565b60805160a05160c051613d306101e45f395f818161034601528181610842015281816108db01528181610f59015261102701525f818161053001526115df01525f81816104d001528181610ef401528181610f3301528181610ffe01526110a90152613d305ff3fe608060405234801561000f575f5ffd5b5060043610610228575f3560e01c8063715018a61161012a578063bd76784b116100b4578063ec6e69db11610079578063ec6e69db1461060d578063f2fde38b14610620578063f3fef3a314610633578063f752f8b514610661578063f7888aec14610674575f5ffd5b8063bd76784b14610505578063d3da927f14610518578063dbc857521461052b578063e48a5f7b14610552578063eaeded5f146105fa575f5ffd5b8063a9cd26c9116100fa578063a9cd26c91461049d578063ab033ea9146104b0578063b35186a8146104c3578063b4ac4536146104cb578063bb4d4436146104f2575f5ffd5b8063715018a6146104525780638da5cb5b1461045a5780639796d9771461046a5780639f6bc70c1461048a575f5ffd5b806352097e4e116101b6578063671431c31161017b578063671431c3146103f25780636902c67b146104055780636a18ff7a146104185780636a9155161461042b578063710ca3541461043e575f5ffd5b806352097e4e1461036857806352f44a141461037b5780635338c758146103b957806359264f00146103cc57806362400e4c146103df575f5ffd5b8063289b3c0d116101fc578063289b3c0d146102e85780632e341ce0146102f957806330eb4bdd1461030e5780633fd20fe1146103215780634800d97f14610341575f5ffd5b806215eaaa1461022c5780630f9f54101461025c57806311d66fee146102b257806318160ddd146102d2575b5f5ffd5b61023f61023a36600461347f565b610687565b6040516001600160a01b0390911681526020015b60405180910390f35b61023f61026a3660046134b6565b6001600160a01b039081165f90815260036020908152604091829020825160808101845281549381019384526001820154606082015292835260020154909216910181905290565b6102c56102c03660046135b5565b6106bd565b60405161025391906135cf565b6102da6106d9565b604051908152602001610253565b6008546001600160a01b031661023f565b61030c6103073660046135e6565b6106e9565b005b6102da61031c36600461347f565b6107a0565b61033461032f366004613651565b610a1b565b60405161025391906136e6565b61023f7f000000000000000000000000000000000000000000000000000000000000000081565b61030c61037636600461375a565b610b12565b6103a96103893660046134b6565b6001600160a01b03165f9081526002602052604090206003015460ff1690565b6040519015158152602001610253565b6102da6103c736600461347f565b610b77565b61030c6103da3660046134b6565b610bd3565b6102da6103ed3660046134b6565b610ca2565b6102da610400366004613785565b610cae565b61030c6104133660046137af565b610cd6565b61030c61042636600461375a565b61115d565b61023f61043936600461385c565b611169565b61023f5f516020613cdb5f395f51905f5281565b61030c61118f565b5f546001600160a01b031661023f565b61047d610478366004613873565b6111a2565b6040516102539190613921565b5f516020613cdb5f395f51905f5261023f565b61023f6104ab366004613961565b6111b7565b61030c6104be3660046134b6565b611228565b61023f61127b565b6102da7f000000000000000000000000000000000000000000000000000000000000000081565b6102da6105003660046134b6565b611289565b61047d610513366004613785565b611295565b6103a961052636600461347f565b611326565b6102da7f000000000000000000000000000000000000000000000000000000000000000081565b6105cd6105603660046134b6565b604080516080810182525f9181018281526060820183905281526020810191909152506001600160a01b039081165f908152600360209081526040918290208251608081018452815493810193845260018201546060820152928352600201549092169181019190915290565b6040805182518051825260209081015181830152909201516001600160a01b031690820152606001610253565b6102da610608366004613785565b611358565b6102da61061b366004613785565b611365565b61030c61062e3660046134b6565b611410565b610646610641366004613785565b61144d565b60408051938452911515602084015290820152606001610253565b61030c61066f36600461385c565b6116f9565b6102da61068236600461347f565b6117d8565b6001600160a01b038083165f90815260056020908152604080832084861684529091528120600101549091165b90505b92915050565b604080518082019091525f80825260208201526106b7826117e5565b5f6106e46005611857565b905090565b6001600160a01b0383165f9081526002602052604090206003015460ff168390610737576040516330d32d8760e21b81526001600160a01b0390911660048201526024015b60405180910390fd5b506001600160a01b038083165f9081526003602052604090206002015416803380821461078a57604051630257d8d760e41b81526001600160a01b0392831660048201529116602482015260440161072e565b5061079a90506005858585611864565b50505050565b5f5f6107b46008546001600160a01b031690565b90505f816001600160a01b0316636bd50cef6040518163ffffffff1660e01b815260040161012060405180830381865afa1580156107f4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108189190613a37565b51602001516040516323b872dd60e01b8152336004820152306024820152604481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015610890573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b49190613a52565b5060405163095ea7b360e01b81526001600160a01b038381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b3906044016020604051808303815f875af1158015610921573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109459190613a52565b506040516311f9fbc960e21b8152306004820152602481018290526001600160a01b038316906347e7ef24906044015f604051808303815f87803b15801561098b575f5ffd5b505af115801561099d573d5f5f3e3d5ffd5b50506040516330eb4bdd60e01b81526001600160a01b0388811660048301528781166024830152851692506330eb4bdd91506044016020604051808303815f875af11580156109ee573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a129190613a6d565b95945050505050565b60605f825167ffffffffffffffff811115610a3857610a386134d1565b604051908082528060200260200182016040528015610a7c57816020015b604080518082019091525f8082526020820152815260200190600190039081610a565790505b5090505f5b8351811015610b0b5760035f858381518110610a9f57610a9f613a84565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205f016040518060400160405290815f8201548152602001600182015481525050828281518110610af857610af8613a84565b6020908102919091010152600101610a81565b5092915050565b5f610b1c84611932565b9050610b2781611169565b33906001600160a01b03168114610b5d576040516305df8ea560e31b81526001600160a01b03909116600482015260240161072e565b5061079a5f516020613cdb5f395f51905f528585856119ba565b5f80610b8560058585611a59565b905080158015610bad5750836001600160a01b0316610ba261127b565b6001600160a01b0316145b156106b457610bcb60055f516020613cdb5f395f51905f5285611a59565b9150506106b7565b610bdb611a80565b806001600160a01b038116610c0f576040516327bac29760e21b81526001600160a01b03909116600482015260240161072e565b506001600160a01b0381165f90815260026020526040902060030154819060ff1615610c595760405162cea8b160e11b81526001600160a01b03909116600482015260240161072e565b506001600160a01b0381165f908152600260205260409020600301805460ff19166001179055610c9d610c8b42611aac565b6001906001600160a01b038416611ae0565b505050565b5f6106b7600583611afa565b6001600160a01b0382165f9081526006602090815260408083208484529091528120546106b4565b335f8181526002602052604090206003015460ff16610d14576040516319aaa75960e11b81526001600160a01b03909116600482015260240161072e565b505f33610d1f61127b565b6001600160a01b0316149050811580610d355750805b3390610d60576040516305df8ea560e31b81526001600160a01b03909116600482015260240161072e565b50610d6b3388611326565b1533889091610da057604051630d75cd7760e11b81526001600160a01b0392831660048201529116602482015260440161072e565b5050801580610dc35750610dc15f516020613cdb5f395f51905f5288611326565b155b5f516020613cdb5f395f51905f52908890610e0457604051630d75cd7760e11b81526001600160a01b0392831660048201529116602482015260440161072e565b50505f82610e125733610e21565b5f516020613cdb5f395f51905f525b6001600160a01b0381165f908152600260205260409020909150610e459089611b1d565b81899091610e7957604051630d75cd7760e11b81526001600160a01b0392831660048201529116602482015260440161072e565b5050610e8788878787611c30565b6040805180820182528781526001600160a01b0389811660208084019182528c83165f90815260038252949094209251805184559093015160018301559151600290910180546001600160a01b03191691909216179055610eeb6005828a81611864565b610f186005828a7f0000000000000000000000000000000000000000000000000000000000000000611d57565b6040516323b872dd60e01b81523360048201523060248201527f000000000000000000000000000000000000000000000000000000000000000060448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303815f875af1158015610fa7573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fcb9190613a52565b505f610fdf6008546001600160a01b031690565b60405163095ea7b360e01b81526001600160a01b0380831660048301527f000000000000000000000000000000000000000000000000000000000000000060248301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063095ea7b3906044016020604051808303815f875af115801561106f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110939190613a52565b506040516311f9fbc960e21b81523060048201527f000000000000000000000000000000000000000000000000000000000000000060248201526001600160a01b038216906347e7ef24906044015f604051808303815f87803b1580156110f8575f5ffd5b505af115801561110a573d5f5f3e3d5ffd5b50506040516001600160a01b038b81168252808d169350851691507f7986a8ff398d9a6be88df9dfc6e3c9a83e4da5544241aad420d1cf7c214e43459060200160405180910390a3505050505050505050565b610c9d338484846119ba565b5f6106b761118161117984611aac565b600190611de6565b6001600160e01b0316611e3b565b611197611a80565b6111a05f611e6e565b565b60606111af848385611ebd565b949350505050565b6040805160018082528183019092525f918291906020808301908036833701905050905083815f815181106111ee576111ee613a84565b602002602001018181525050611205858285611ebd565b5f8151811061121657611216613a84565b60200260200101519150509392505050565b611230611a80565b6008546001600160a01b031615611259576040516296bb9f60e21b815260040160405180910390fd5b600880546001600160a01b0319166001600160a01b0392909216919091179055565b5f6106e461118160016120bf565b5f6106b76005836120f6565b60605f6112a28484611365565b90505f8167ffffffffffffffff8111156112be576112be6134d1565b6040519080825280602002602001820160405280156112e7578160200160208202803683370190505b5090505f5b8281101561131a578082828151811061130757611307613a84565b60209081029190910101526001016112ec565b50610a12858286611ebd565b6001600160a01b038281165f90815260026020818152604080842094861684529390910190529081205460ff166106b4565b5f6106b46005848461211a565b6001600160a01b0382165f9081526002602052604081208161138684611aac565b90505f611393838361213f565b9050856001600160a01b03166113a886611169565b6001600160a01b031603610a1257739064fb41156d300196d5eb95e0b3c1f08ebc39a85f5260026020526113fc7f45cd5d767d29724415e078f0a4044a337b39cef8f25b5496e43151dbca56c5178361213f565b6114069082613aac565b9695505050505050565b611418611a80565b6001600160a01b03811661144157604051631e4fbdf760e01b81525f600482015260240161072e565b61144a81611e6e565b50565b335f908152600260205260408120600301548190819060ff163390611491576040516319aaa75960e11b81526001600160a01b03909116600482015260240161072e565b50335f8181526002602081815260408084206001600160a01b038b1685529283019091529091205460ff16801580156114d95750336114ce61127b565b6001600160a01b0316145b801561151b57506001600160a01b0388165f9081527f45cd5d767d29724415e078f0a4044a337b39cef8f25b5496e43151dbca56c519602052604090205460ff165b15611571575050739064fb41156d300196d5eb95e0b3c1f08ebc39a85f525060026020525f516020613cdb5f395f51905f527f45cd5d767d29724415e078f0a4044a337b39cef8f25b5496e43151dbca56c51760015b878161159c5760405163417f3a0560e01b81526001600160a01b03909116600482015260240161072e565b505f6115aa6005858b611a59565b90508088808210156115d857604051635087517f60e11b81526004810192909252602482015260440161072e565b508890505f7f00000000000000000000000000000000000000000000000000000000000000006116088385613abf565b10905080156116565761161b858c61215a565b8b90611646576040516304ca9e7360e31b81526001600160a01b03909116600482015260240161072e565b508291506116566005878d6121bb565b6116636005878d856121c7565b5f6116766008546001600160a01b031690565b60405163625f849b60e11b8152336004820152602481018590526001600160a01b03919091169063c4bf0936906044016020604051808303815f875af11580156116c2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116e69190613a6d565b929c919b50919950975050505050505050565b5f61170c6008546001600160a01b031690565b604051634527d8b560e11b8152600481018490529091506001600160a01b03821690638a4fb16a90602401608060405180830381865afa158015611752573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117769190613add565b606001516117d45760405163f752f8b560e01b8152600481018390526001600160a01b0382169063f752f8b5906024015f604051808303815f87803b1580156117bd575f5ffd5b505af11580156117cf573d5f5f3e3d5ffd5b505050505b5050565b5f6106b460058484611a59565b604080518082019091525f80825260208201525f825f0151836020015160405160200161181c929190918252602082015260400190565b604051602081830303815290604052905061185075415a5445435f424c535f504f505f424e3235345f563160501b8261224e565b9392505050565b5f6106b782600201612357565b6001600160a01b038381165f9081526020868152604080832086851684529091529020600101548116908216810361189c575061079a565b6001600160a01b038481165f908152602087815260408083208785168085529083529281902060010180546001600160a01b031916878616908117909155815194861685529184019190915290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f910160405180910390a261192b858284611926898989611a59565b612370565b5050505050565b5f6106b76119486008546001600160a01b031690565b6001600160a01b031663c7f758a8846040518263ffffffff1660e01b815260040161197591815260200190565b6101e060405180830381865afa158015611991573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119b59190613b61565b6124a9565b5f6119c484611932565b90506119d46005868684876124bf565b6008546001600160a01b031660405163350c7fbd60e11b8152600481018690526024810185905283151560448201526001600160a01b039190911690636a18ff7a906064016020604051808303815f875af1158015611a35573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117cf9190613a52565b6001600160a01b039182165f90815260209384526040808220929093168152925290205490565b5f546001600160a01b031633146111a05760405163118cdaa760e01b815233600482015260240161072e565b5f63ffffffff821115611adc576040516306dfcc6560e41b8152602060048201526024810183905260440161072e565b5090565b5f80611aed85858561258a565b915091505b935093915050565b6001600160a01b0381165f9081526020839052604081206106b490600101612357565b6001600160a01b0381165f90815260028301602052604081205460ff1615611b4657505f6106b7565b5f611b50846120bf565b604080518082018252600181526001600160e01b0383811660208084019182526001600160a01b0389165f90815260028b019091529384209251835491516001600160e81b0319909216901515610100600160e81b031916176101009190921602179055909150611bc042611aac565b9050611bf881611bd8866001600160a01b03166126ce565b6001600160e01b0385165f90815260018901602052604090209190611ae0565b50611c23905081611c1b611c0d856001613c06565b6001600160e01b03166126ce565b879190611ae0565b5060019695505050505050565b6001600160a01b0384165f908152600360209081526040918290208251808401909352805480845260019091015491830191909152158015611c7457506020810151155b815160208301519091611ca3576040516312d6323b60e11b81526004810192909252602482015260440161072e565b50505f845f01518560200151604051602001611cc9929190918252602082015260400190565b60408051601f1981840301815291815281516020928301205f8181526004909352912054909150819060ff1615611d1657604051636ab4baeb60e11b815260040161072e91815260200190565b505f818152600460205260409020805460ff19166001179055611d3a858585612701565b6117cf5760405163df4ff27b60e01b815260040160405180910390fd5b801561079a576001600160a01b038084165f9081526020868152604080832093861683529083905281208054849290611d91908490613aac565b90915550506001600160a01b038084165f90815260208390526040812060010154611dc0928892911685612370565b611dcd6001820183612877565b50611ddd90506002860183612877565b50505050505050565b81545f9081611df7858583856128f1565b90508015611e3157611e1b85611e0e600184613abf565b5f91825260209091200190565b54600160201b90046001600160e01b0316610a12565b505f949350505050565b5f6001600160a01b03821115611adc576040516306dfcc6560e41b815260a060048201526024810183905260440161072e565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60605f835167ffffffffffffffff811115611eda57611eda6134d1565b604051908082528060200260200182016040528015611f03578160200160208202803683370190505b506001600160a01b0386165f818152600260205260408120739064fb41156d300196d5eb95e0b3c1f08ebc39a882529293507f45cd5d767d29724415e078f0a4044a337b39cef8f25b5496e43151dbca56c51791611f6087611169565b6001600160a01b03161490505f611f7687611aac565b90505f611f83858361213f565b90505f83611f91575f611f9b565b611f9b858461213f565b90505f611fa88284613aac565b90505f5b8b518110156120ae575f8c8281518110611fc857611fc8613a84565b6020026020010151905082811081849091611fff57604051635d4bf88360e01b81526004810192909252602482015260440161072e565b50508481101561204b5761201489828861294c565b8a838151811061202657612026613a84565b60200260200101906001600160a01b031690816001600160a01b0316815250506120a5565b86156120665761201461205e8683613abf565b89908861294c565b604051633d6a4a3b60e21b815260206004820152601360248201527229a427aaa622102722ab22a9102420a82822a760691b604482015260640161072e565b50600101611fac565b50969b9a5050505050505050505050565b80545f9080156120ee576120d883611e0e600184613abf565b54600160201b90046001600160e01b0316611850565b5f9392505050565b6001600160a01b0381165f9081526001808401602052604082206106b49101612357565b6001600160a01b0382165f9081526001808501602052604082206111af91018361297b565b5f61214a8383611de6565b6001600160e01b03169392505050565b6001600160a01b0381165f908152600283016020908152604080832081518083019092525460ff811615158083526101009091046001600160e01b031692820192909252906121ac575f9150506106b7565b6111af848260200151856129b5565b610c9d8383835f611864565b801561079a576001600160a01b038084165f9081526020868152604080832093861683529083905281208054849290612201908490613abf565b90915550506001600160a01b038084165f9081526020839052604081206001015461223192889291169085612370565b61223e6001820183612bd9565b50611ddd90506002860183612bd9565b604080518082019091525f80825260208201525f8383604051602001612275929190613c25565b60408051601f19818403018152919052805160209091012090505f6122a75f516020613cbb5f395f51905f5283613c75565b90505f805b5f516020613cbb5f395f51905f5283840991505f516020613cbb5f395f51905f5283830991505f516020613cbb5f395f51905f526003830891506122ef82612c86565b9092509050801561231657604051806040016040528084815260200183815250945061232f565b5f516020613cbb5f395f51905f526001840892506122ac565b8061234d57604051633d7f3d1d60e21b815260040160405180910390fd5b5050505092915050565b5f612361826120bf565b6001600160e01b031692915050565b816001600160a01b0316836001600160a01b0316148061238e575080155b61079a576001600160a01b0383161561241b576001600160a01b0383165f90815260018086016020526040822082916123c8910184612bd9565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612410929190918252602082015260400190565b60405180910390a250505b6001600160a01b0382161561079a576001600160a01b0382165f9081526001808601602052604082208291612451910184612877565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612499929190918252602082015260400190565b60405180910390a2505050505050565b5f6106b78260800151835f015160200151612d29565b5f6124cb86868561211a565b6001600160a01b0386165f90815260018801602090815260408083208884529091529020549091506124fd8382613aac565b821015868361250c8685613aac565b9091926125455760405163dd99c2ab60e01b81526001600160a01b0390931660048401526024830191909152604482015260640161072e565b5050506001600160a01b0386165f90815260018801602090815260408083208884529091528120805485929061257c908490613aac565b909155505050505050505050565b82545f9081908015612676575f6125a687611e0e600185613abf565b805490915063ffffffff80821691600160201b90046001600160e01b03169088168211156125e757604051632520601d60e01b815260040160405180910390fd5b8763ffffffff168263ffffffff160361261a57825463ffffffff16600160201b6001600160e01b03891602178355612668565b6040805180820190915263ffffffff808a1682526001600160e01b03808a1660208085019182528d54600181018f555f8f81529190912094519151909216600160201b029216919091179101555b9450859350611af292505050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a555f8a815291822095519251909316600160201b029190931617920191909155905081611af2565b5f6001600160e01b03821115611adc576040516306dfcc6560e41b815260e060048201526024810183905260440161072e565b5f61270b84612d34565b84516020860151909161273a57604051634a7e912d60e01b81526004810192909252602482015260440161072e565b505061274583612d8e565b835f01518460200151856040015186606001519091929361278f5760405163cd79c2ab60e01b8152600481019490945260248401929092526044830152606482015260840161072e565b5050505061279c82612d34565b8251602084015190916127cb57604051634a7e912d60e01b81526004810192909252602482015260440161072e565b50505f6127d7856117e5565b90505f6127e5868686612ee4565b9050805f0361280757604051631262b41360e01b815260040160405180910390fd5b5f61281b856128168985612f84565b612feb565b90505f612856846128166128506040805180820182525f80825260209182015281518083019092526001825260029082015290565b86612f84565b905061286b82612864613056565b838a613123565b98975050505050505050565b5f5f5f612883856120bf565b9050835f0361289f576001600160e01b031691508190506128ea565b5f6128a9856126ce565b90506128c96128b742611aac565b6128c18385613c06565b889190611ae0565b508290506128d78282613c06565b6001600160e01b03918216955016925050505b9250929050565b5f5b81831015612944575f61290684846131e0565b5f8781526020902090915063ffffffff86169082015463ffffffff1611156129305780925061293e565b61293b816001613aac565b93505b506128f3565b509392505050565b5f8281526001840160205260408120819061296790846131fa565b9050610a12816001600160e01b0316611e3b565b5f61298582421190565b6129a2576040516334dcb7d760e21b815260040160405180910390fd5b61214a6129ae83611aac565b84906131fa565b5f806129c0856120bf565b9050806001600160e01b0316846001600160e01b031610612a0757604051636bc4db8d60e11b81526001600160e01b0380861660048301528216602482015260440161072e565b6040805180820182525f80825260208083018281526001600160a01b038816835260028a019091529281209151825493516001600160e81b0319909416901515610100600160e81b031916176101006001600160e01b0390941693909302929092179055612a76600183613c88565b90505f612aa0611181886001015f856001600160e01b031681526020019081526020015f206120bf565b90505f612aac42611aac565b9050866001600160e01b0316836001600160e01b031603612af2576001600160e01b0387165f9081526001890160205260408120612aeb918390611ae0565b5050612bab565b6040518060400160405280600115158152602001612b18896001600160e01b03166126ce565b6001600160e01b039081169091526001600160a01b0384165f81815260028c016020908152604090912084518154959092015190931661010002610100600160e81b0319911515919091166001600160e81b031990941693909317929092179055612ba8908290612b88906126ce565b6001600160e01b038a165f90815260018c01602052604090209190611ae0565b50505b612bc981612bc1856001600160e01b03166126ce565b8a9190611ae0565b5060019998505050505050505050565b5f5f5f612be5856120bf565b9050835f03612c01576001600160e01b031691508190506128ea565b5f612c0b856126ce565b90503382826001600160e01b038082169083161015612c5f5760405163b3d9568f60e01b81526001600160a01b0390931660048401526001600160e01b03918216602484015216604482015260640161072e565b505050612c78612c6e42611aac565b6128c18385613c88565b508290506128d78282613c88565b5f5f5f60405160208152602080820152602060408201528460608201527f0c19139cb84c680a6e14116da060561765e05aa45a1c72a34f082305b61f3f5260808201525f516020613cbb5f395f51905f5260a082015260208160c08360056107d05a03fa9051935090505f516020613cbb5f395f51905f528380098414915080612d2357604051634ccc085960e11b815260040160405180910390fd5b50915091565b5f6106b48284613aac565b5f815160208301515f516020613cbb5f395f51905f528283095f516020613cbb5f395f51905f5283820990505f516020613cbb5f395f51905f526003820890505f516020613cbb5f395f51905f5282830914949350505050565b5f815160208301515f516020613cbb5f395f51905f528283095f516020613cbb5f395f51905f5282830981828301015f516020613cbb5f395f51905f5282838401085f516020613cbb5f395f51905f5286825f516020613cbb5f395f51905f52038601099550505f516020613cbb5f395f51905f5284835f516020613cbb5f395f51905f520383010993505050505f516020613cbb5f395f51905f527f2b149d40ceb8aaae81be18991be06ac3b5b4c5e559dbefa33267e6dc24a138e5830891505f516020613cbb5f395f51905f527e9713b03af0fed4cd2cafadeed8fdf4a74fa084e52d1852e4a2bd0685c315d282089050604084015160608501515f516020613cbb5f395f51905f5280825f516020613cbb5f395f51905f520384085f516020613cbb5f395f51905f52838508095f516020613cbb5f395f51905f52828460011b0994149290931491909116949350505050565b82516020808501518451858301516040808801516060808a015189518a8901518551808b019b909b528a86019890985291890195909552608088019390935260a087015260c086019290925260e0850152610100808501929092528051808503909201825261012090930190925281519101205f906111af907f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000190613c75565b604080518082019091525f8082526020820152612f9f6133f2565b835181526020808501519082015260408082018490525f908360608460076107d05a03fa905080612fe357604051635d90883360e11b815260040160405180910390fd5b505092915050565b604080518082019091525f8082526020820152613006613410565b835181526020808501518183015283516040808401919091529084015160608301525f908360808460066107d05a03fa905080612fe357604051635d3761b560e11b815260040160405180910390fd5b61307d60405180608001604052805f81526020015f81526020015f81526020015f81525090565b60405180608001604052807f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed81526020017f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c281526020017f1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d81526020017f275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec815250905090565b5f61312c61342e565b85518152602080870151818301528581015160408084019190915286516060808501919091528088015160808501528188015160a0850152865160c08501528683015160e0850152918501516101008401528451610120840152908401516101408301528301516101608201526131a161344d565b5f6020826101808560086107d05a03fa9050806131d15760405163a158f26960e01b815260040160405180910390fd5b50516001149695505050505050565b5f6131ee6002848418613ca7565b6106b490848416613aac565b81545f9081816005811115613254575f6132138461329b565b61321d9085613abf565b5f8881526020902090915081015463ffffffff908116908716101561324457809150613252565b61324f816001613aac565b92505b505b5f613261878785856128f1565b9050801561328e5761327887611e0e600184613abf565b54600160201b90046001600160e01b0316613290565b5f5b979650505050505050565b5f600182116132a8575090565b816001600160801b82106132c15760809190911c9060401b5b6801000000000000000082106132dc5760409190911c9060201b5b600160201b82106132f25760209190911c9060101b5b6201000082106133075760109190911c9060081b5b610100821061331b5760089190911c9060041b5b6010821061332e5760049190911c9060021b5b6004821061333a5760011b5b600302600190811c9081858161335257613352613c61565b048201901c9050600181858161336a5761336a613c61565b048201901c9050600181858161338257613382613c61565b048201901c9050600181858161339a5761339a613c61565b048201901c905060018185816133b2576133b2613c61565b048201901c905060018185816133ca576133ca613c61565b048201901c90506133e98185816133e3576133e3613c61565b04821190565b90039392505050565b60405180606001604052806003906020820280368337509192915050565b60405180608001604052806004906020820280368337509192915050565b604051806101800160405280600c906020820280368337509192915050565b60405180602001604052806001906020820280368337509192915050565b6001600160a01b038116811461144a575f5ffd5b5f5f60408385031215613490575f5ffd5b823561349b8161346b565b915060208301356134ab8161346b565b809150509250929050565b5f602082840312156134c6575f5ffd5b81356106b48161346b565b634e487b7160e01b5f52604160045260245ffd5b6040805190810167ffffffffffffffff81118282101715613508576135086134d1565b60405290565b6040516080810167ffffffffffffffff81118282101715613508576135086134d1565b604051610100810167ffffffffffffffff81118282101715613508576135086134d1565b604051601f8201601f1916810167ffffffffffffffff8111828210171561357e5761357e6134d1565b604052919050565b5f60408284031215613596575f5ffd5b61359e6134e5565b823581526020928301359281019290925250919050565b5f604082840312156135c5575f5ffd5b6106b48383613586565b8151815260208083015190820152604081016106b7565b5f5f5f606084860312156135f8575f5ffd5b83356136038161346b565b925060208401356136138161346b565b915060408401356136238161346b565b809150509250925092565b5f67ffffffffffffffff821115613647576136476134d1565b5060051b60200190565b5f60208284031215613661575f5ffd5b813567ffffffffffffffff811115613677575f5ffd5b8201601f81018413613687575f5ffd5b803561369a6136958261362e565b613555565b8082825260208201915060208360051b8501019250868311156136bb575f5ffd5b6020840193505b828410156114065783356136d58161346b565b8252602093840193909101906136c2565b602080825282518282018190525f918401906040840190835b818110156137325761371c83855180518252602090810151910152565b60209390930192604092909201916001016136ff565b509095945050505050565b801515811461144a575f5ffd5b80356137558161373d565b919050565b5f5f5f6060848603121561376c575f5ffd5b833592506020840135915060408401356136238161373d565b5f5f60408385031215613796575f5ffd5b82356137a18161346b565b946020939093013593505050565b5f5f5f5f5f5f8688036101608112156137c6575f5ffd5b87356137d18161346b565b965060208801356137e18161346b565b95506137f08960408a01613586565b94506080607f1982011215613803575f5ffd5b5061380c61350e565b6080880135815260a0880135602082015260c0880135604082015260e088013560608201529250613841886101008901613586565b9150613850610140880161374a565b90509295509295509295565b5f6020828403121561386c575f5ffd5b5035919050565b5f5f5f60608486031215613885575f5ffd5b83356138908161346b565b925060208401359150604084013567ffffffffffffffff8111156138b2575f5ffd5b8401601f810186136138c2575f5ffd5b80356138d06136958261362e565b8082825260208201915060208360051b8501019250888311156138f1575f5ffd5b6020840193505b828410156139135783358252602093840193909101906138f8565b809450505050509250925092565b602080825282518282018190525f918401906040840190835b818110156137325783516001600160a01b031683526020938401939092019160010161393a565b5f5f5f60608486031215613973575f5ffd5b833561397e8161346b565b95602085013595506040909401359392505050565b5f8183036101208112156139a5575f5ffd5b6139ad613531565b915060408112156139bc575f5ffd5b506139c56134e5565b825181526020808401518183015290825260408084015191830191909152606080840151918301919091526080808401519183019190915260a0808401519183019190915260c0808401519183019190915260e080840151918301919091526101009092015191810191909152919050565b5f6101208284031215613a48575f5ffd5b6106b48383613993565b5f60208284031215613a62575f5ffd5b81516106b48161373d565b5f60208284031215613a7d575f5ffd5b5051919050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156106b7576106b7613a98565b818103818111156106b7576106b7613a98565b80516137558161346b565b5f6080828403128015613aee575f5ffd5b50613af761350e565b82518152602080840151908201526040830151613b138161346b565b60408201526060830151613b268161373d565b60608201529392505050565b5f60408284031215613b42575f5ffd5b613b4a6134e5565b825181526020928301519281019290925250919050565b5f6101e0828403128015613b73575f5ffd5b5060405160c0810167ffffffffffffffff81118282101715613b9757613b976134d1565b604052613ba48484613993565b815261012083015160098110613bb8575f5ffd5b6020820152613bca6101408401613ad2565b6040820152613bdc6101608401613ad2565b60608201526101808301516080820152613bfa846101a08501613b32565b60a08201529392505050565b6001600160e01b0381811683821601908111156106b7576106b7613a98565b828152604060208201525f82518060408401528060208501606085015e5f606082850101526060601f19601f8301168401019150509392505050565b634e487b7160e01b5f52601260045260245ffd5b5f82613c8357613c83613c61565b500690565b6001600160e01b0382811682821603908111156106b7576106b7613a98565b5f82613cb557613cb5613c61565b50049056fe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47213a5ea1b59775ba625834509064fb41156d300196d5eb95e0b3c1f08ebc39a8a2646970667358221220530946ff4642a36a627bb0310ac8d9a53cab1a5cac8859440fa4af70c81bbb0764736f6c634300081b0033";
4
4
  /**
5
5
  * GSE link references.
6
6
  */ export const GSELinkReferences = {};