@towns-protocol/generated 0.0.191

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 (282) hide show
  1. package/.turbo/turbo-build.log +2 -0
  2. package/LICENSE.txt +21 -0
  3. package/README.md +23 -0
  4. package/config/deployments.json +95 -0
  5. package/deployments/alpha/base/addresses/baseRegistry.json +1 -0
  6. package/deployments/alpha/base/addresses/riverAirdrop.json +3 -0
  7. package/deployments/alpha/base/addresses/space.json +1 -0
  8. package/deployments/alpha/base/addresses/spaceFactory.json +1 -0
  9. package/deployments/alpha/base/addresses/spaceOwner.json +1 -0
  10. package/deployments/alpha/base/chainId.json +1 -0
  11. package/deployments/alpha/river/addresses/riverRegistry.json +1 -0
  12. package/deployments/alpha/river/chainId.json +1 -0
  13. package/deployments/delta/base/addresses/baseRegistry.json +3 -0
  14. package/deployments/delta/base/addresses/riverAirdrop.json +3 -0
  15. package/deployments/delta/base/addresses/space.json +3 -0
  16. package/deployments/delta/base/addresses/spaceFactory.json +3 -0
  17. package/deployments/delta/base/addresses/spaceOwner.json +3 -0
  18. package/deployments/delta/base/chainId.json +3 -0
  19. package/deployments/delta/river/addresses/riverRegistry.json +3 -0
  20. package/deployments/delta/river/chainId.json +3 -0
  21. package/deployments/gamma/base/addresses/baseRegistry.json +1 -0
  22. package/deployments/gamma/base/addresses/riverAirdrop.json +3 -0
  23. package/deployments/gamma/base/addresses/space.json +1 -0
  24. package/deployments/gamma/base/addresses/spaceFactory.json +1 -0
  25. package/deployments/gamma/base/addresses/spaceOwner.json +1 -0
  26. package/deployments/gamma/base/addresses/towns.json +3 -0
  27. package/deployments/gamma/base/chainId.json +1 -0
  28. package/deployments/gamma/river/addresses/riverRegistry.json +1 -0
  29. package/deployments/gamma/river/chainId.json +1 -0
  30. package/deployments/gamma/sepolia/addresses/towns.json +3 -0
  31. package/deployments/gamma/sepolia/chainId.json +3 -0
  32. package/deployments/omega/base/addresses/baseRegistry.json +1 -0
  33. package/deployments/omega/base/addresses/riverAirdrop.json +3 -0
  34. package/deployments/omega/base/addresses/space.json +1 -0
  35. package/deployments/omega/base/addresses/spaceFactory.json +1 -0
  36. package/deployments/omega/base/addresses/spaceOwner.json +1 -0
  37. package/deployments/omega/base/addresses/towns.json +3 -0
  38. package/deployments/omega/base/chainId.json +1 -0
  39. package/deployments/omega/gnosis/addresses/poapEntitlement.json +3 -0
  40. package/deployments/omega/gnosis/chainId.json +3 -0
  41. package/deployments/omega/mainnet/addresses/townsMainnet.json +3 -0
  42. package/deployments/omega/mainnet/chainId.json +3 -0
  43. package/deployments/omega/mainnet/river.json +3 -0
  44. package/deployments/omega/river/addresses/riverRegistry.json +1 -0
  45. package/deployments/omega/river/chainId.json +1 -0
  46. package/dev/abis/Architect.abi.json +348 -0
  47. package/dev/abis/Architect.abi.ts +348 -0
  48. package/dev/abis/Channels.abi.json +979 -0
  49. package/dev/abis/Channels.abi.ts +979 -0
  50. package/dev/abis/Diamond.abi.json +244 -0
  51. package/dev/abis/Diamond.abi.ts +244 -0
  52. package/dev/abis/DiamondCutFacet.abi.json +314 -0
  53. package/dev/abis/DiamondCutFacet.abi.ts +314 -0
  54. package/dev/abis/DropFacet.abi.json +722 -0
  55. package/dev/abis/DropFacet.abi.ts +722 -0
  56. package/dev/abis/ERC721A__IERC721ReceiverUpgradeable.abi.json +36 -0
  57. package/dev/abis/ERC721A__IERC721ReceiverUpgradeable.abi.ts +36 -0
  58. package/dev/abis/EntitlementsManager.abi.json +627 -0
  59. package/dev/abis/EntitlementsManager.abi.ts +627 -0
  60. package/dev/abis/IBanning.abi.json +141 -0
  61. package/dev/abis/IBanning.abi.ts +141 -0
  62. package/dev/abis/IBanningBase.abi.json +83 -0
  63. package/dev/abis/IBanningBase.abi.ts +83 -0
  64. package/dev/abis/ICreateSpace.abi.json +705 -0
  65. package/dev/abis/ICreateSpace.abi.ts +705 -0
  66. package/dev/abis/ICrossChainEntitlement.abi.json +56 -0
  67. package/dev/abis/ICrossChainEntitlement.abi.ts +56 -0
  68. package/dev/abis/IERC5267.abi.json +51 -0
  69. package/dev/abis/IERC5267.abi.ts +51 -0
  70. package/dev/abis/IERC721A.abi.json +422 -0
  71. package/dev/abis/IERC721A.abi.ts +422 -0
  72. package/dev/abis/IERC721ABase.abi.json +173 -0
  73. package/dev/abis/IERC721ABase.abi.ts +173 -0
  74. package/dev/abis/IERC721AQueryable.abi.json +308 -0
  75. package/dev/abis/IERC721AQueryable.abi.ts +308 -0
  76. package/dev/abis/IEntitlementChecker.abi.json +324 -0
  77. package/dev/abis/IEntitlementChecker.abi.ts +324 -0
  78. package/dev/abis/IEntitlementCheckerBase.abi.json +153 -0
  79. package/dev/abis/IEntitlementCheckerBase.abi.ts +153 -0
  80. package/dev/abis/IEntitlementDataQueryable.abi.json +105 -0
  81. package/dev/abis/IEntitlementDataQueryable.abi.ts +105 -0
  82. package/dev/abis/IEntitlementDataQueryableBase.abi.json +1 -0
  83. package/dev/abis/IEntitlementDataQueryableBase.abi.ts +1 -0
  84. package/dev/abis/IEntitlementGated.abi.json +181 -0
  85. package/dev/abis/IEntitlementGated.abi.ts +181 -0
  86. package/dev/abis/IEntitlementGatedBase.abi.json +66 -0
  87. package/dev/abis/IEntitlementGatedBase.abi.ts +66 -0
  88. package/dev/abis/IMembershipMetadata.abi.json +28 -0
  89. package/dev/abis/IMembershipMetadata.abi.ts +28 -0
  90. package/dev/abis/IMulticall.abi.json +21 -0
  91. package/dev/abis/IMulticall.abi.ts +21 -0
  92. package/dev/abis/INodeOperator.abi.json +299 -0
  93. package/dev/abis/INodeOperator.abi.ts +299 -0
  94. package/dev/abis/INodeOperatorBase.abi.json +148 -0
  95. package/dev/abis/INodeOperatorBase.abi.ts +148 -0
  96. package/dev/abis/IPausable.abi.json +65 -0
  97. package/dev/abis/IPausable.abi.ts +65 -0
  98. package/dev/abis/IPausableBase.abi.json +38 -0
  99. package/dev/abis/IPausableBase.abi.ts +38 -0
  100. package/dev/abis/IPricingModules.abi.json +127 -0
  101. package/dev/abis/IPricingModules.abi.ts +127 -0
  102. package/dev/abis/IPricingModulesBase.abi.json +52 -0
  103. package/dev/abis/IPricingModulesBase.abi.ts +52 -0
  104. package/dev/abis/IReview.abi.json +184 -0
  105. package/dev/abis/IReview.abi.ts +184 -0
  106. package/dev/abis/IReviewBase.abi.json +85 -0
  107. package/dev/abis/IReviewBase.abi.ts +85 -0
  108. package/dev/abis/IRuleEntitlement.abi.json +448 -0
  109. package/dev/abis/IRuleEntitlement.abi.ts +448 -0
  110. package/dev/abis/IRuleEntitlementBase.abi.json +110 -0
  111. package/dev/abis/IRuleEntitlementBase.abi.ts +110 -0
  112. package/dev/abis/IRuleEntitlementV2.abi.json +448 -0
  113. package/dev/abis/IRuleEntitlementV2.abi.ts +448 -0
  114. package/dev/abis/ISpaceDelegation.abi.json +326 -0
  115. package/dev/abis/ISpaceDelegation.abi.ts +326 -0
  116. package/dev/abis/ISpaceDelegationBase.abi.json +134 -0
  117. package/dev/abis/ISpaceDelegationBase.abi.ts +134 -0
  118. package/dev/abis/ITipping.abi.json +196 -0
  119. package/dev/abis/ITipping.abi.ts +196 -0
  120. package/dev/abis/ITippingBase.abi.json +76 -0
  121. package/dev/abis/ITippingBase.abi.ts +76 -0
  122. package/dev/abis/ITownsPoints.abi.json +153 -0
  123. package/dev/abis/ITownsPoints.abi.ts +153 -0
  124. package/dev/abis/ITownsPointsBase.abi.json +53 -0
  125. package/dev/abis/ITownsPointsBase.abi.ts +53 -0
  126. package/dev/abis/ITreasury.abi.json +127 -0
  127. package/dev/abis/ITreasury.abi.ts +127 -0
  128. package/dev/abis/Member.abi.json +795 -0
  129. package/dev/abis/Member.abi.ts +795 -0
  130. package/dev/abis/MembershipFacet.abi.json +1479 -0
  131. package/dev/abis/MembershipFacet.abi.ts +1479 -0
  132. package/dev/abis/MockCrossChainEntitlement.abi.json +98 -0
  133. package/dev/abis/MockCrossChainEntitlement.abi.ts +98 -0
  134. package/dev/abis/MockERC721A.abi.json +554 -0
  135. package/dev/abis/MockERC721A.abi.ts +554 -0
  136. package/dev/abis/MockEntitlementGated.abi.json +870 -0
  137. package/dev/abis/MockEntitlementGated.abi.ts +870 -0
  138. package/dev/abis/MockLegacyArchitect.abi.json +371 -0
  139. package/dev/abis/MockLegacyArchitect.abi.ts +371 -0
  140. package/dev/abis/MockRiverRegistry.abi.json +1413 -0
  141. package/dev/abis/MockRiverRegistry.abi.ts +1413 -0
  142. package/dev/abis/MockWalletLink.abi.json +472 -0
  143. package/dev/abis/MockWalletLink.abi.ts +472 -0
  144. package/dev/abis/MockWalletLinkStorage.abi.json +1 -0
  145. package/dev/abis/MockWalletLinkStorage.abi.ts +1 -0
  146. package/dev/abis/NodeRegistry.abi.json +277 -0
  147. package/dev/abis/NodeRegistry.abi.ts +277 -0
  148. package/dev/abis/OperatorRegistry.abi.json +193 -0
  149. package/dev/abis/OperatorRegistry.abi.ts +193 -0
  150. package/dev/abis/OwnableFacet.abi.json +135 -0
  151. package/dev/abis/OwnableFacet.abi.ts +135 -0
  152. package/dev/abis/PlatformRequirementsFacet.abi.json +522 -0
  153. package/dev/abis/PlatformRequirementsFacet.abi.ts +522 -0
  154. package/dev/abis/PrepayFacet.abi.json +545 -0
  155. package/dev/abis/PrepayFacet.abi.ts +545 -0
  156. package/dev/abis/ProxyManager.abi.json +165 -0
  157. package/dev/abis/ProxyManager.abi.ts +165 -0
  158. package/dev/abis/Roles.abi.json +963 -0
  159. package/dev/abis/Roles.abi.ts +963 -0
  160. package/dev/abis/SpaceOwner.abi.json +1146 -0
  161. package/dev/abis/SpaceOwner.abi.ts +1146 -0
  162. package/dev/abis/StreamFlags.abi.json +1 -0
  163. package/dev/abis/StreamFlags.abi.ts +1 -0
  164. package/dev/abis/StreamRegistry.abi.json +682 -0
  165. package/dev/abis/StreamRegistry.abi.ts +682 -0
  166. package/dev/abis/TokenPausableFacet.abi.json +166 -0
  167. package/dev/abis/TokenPausableFacet.abi.ts +166 -0
  168. package/dev/abis/UserEntitlement.abi.json +331 -0
  169. package/dev/abis/UserEntitlement.abi.ts +331 -0
  170. package/dev/abis/WalletLink.abi.json +877 -0
  171. package/dev/abis/WalletLink.abi.ts +877 -0
  172. package/dev/typings/IArchitect.ts +360 -0
  173. package/dev/typings/IBanning.ts +227 -0
  174. package/dev/typings/IChannel.ts +587 -0
  175. package/dev/typings/ICreateSpace.ts +466 -0
  176. package/dev/typings/ICrossChainEntitlement.ts +143 -0
  177. package/dev/typings/IDiamond.ts +56 -0
  178. package/dev/typings/IDiamondCut.ts +162 -0
  179. package/dev/typings/IDropFacet.ts +566 -0
  180. package/dev/typings/IERC5267.ts +144 -0
  181. package/dev/typings/IERC721A.ts +634 -0
  182. package/dev/typings/IERC721AQueryable.ts +357 -0
  183. package/dev/typings/IEntitlementChecker.ts +529 -0
  184. package/dev/typings/IEntitlementDataQueryable.ts +199 -0
  185. package/dev/typings/IEntitlementsManager.ts +404 -0
  186. package/dev/typings/IMembershipMetadata.ts +132 -0
  187. package/dev/typings/IMockLegacyArchitect.sol/ILegacyArchitect.ts +298 -0
  188. package/dev/typings/IMockLegacyArchitect.sol/index.ts +4 -0
  189. package/dev/typings/IMulticall.ts +102 -0
  190. package/dev/typings/INodeOperator.ts +478 -0
  191. package/dev/typings/INodeRegistry.ts +470 -0
  192. package/dev/typings/IOperatorRegistry.ts +236 -0
  193. package/dev/typings/IPausable.ts +158 -0
  194. package/dev/typings/IPricingModules.ts +286 -0
  195. package/dev/typings/IProxyManager.ts +169 -0
  196. package/dev/typings/IReview.ts +269 -0
  197. package/dev/typings/IRoles.ts +773 -0
  198. package/dev/typings/IRuleEntitlement.sol/IRuleEntitlement.ts +466 -0
  199. package/dev/typings/IRuleEntitlement.sol/IRuleEntitlementV2.ts +466 -0
  200. package/dev/typings/IRuleEntitlement.sol/index.ts +5 -0
  201. package/dev/typings/ISpaceDelegation.ts +580 -0
  202. package/dev/typings/ISpaceOwner.ts +476 -0
  203. package/dev/typings/IStreamRegistry.ts +839 -0
  204. package/dev/typings/ITipping.ts +306 -0
  205. package/dev/typings/ITownsPoints.ts +309 -0
  206. package/dev/typings/ITreasury.ts +283 -0
  207. package/dev/typings/IWalletLink.ts +914 -0
  208. package/dev/typings/Member.ts +1081 -0
  209. package/dev/typings/MembershipFacet.ts +1469 -0
  210. package/dev/typings/MockERC721A.ts +826 -0
  211. package/dev/typings/MockEntitlementGated.ts +715 -0
  212. package/dev/typings/OwnableFacet.ts +234 -0
  213. package/dev/typings/PlatformRequirementsFacet.ts +886 -0
  214. package/dev/typings/PrepayFacet.ts +482 -0
  215. package/dev/typings/TokenPausableFacet.ts +259 -0
  216. package/dev/typings/UserEntitlement.ts +505 -0
  217. package/dev/typings/common.ts +46 -0
  218. package/dev/typings/factories/IArchitect__factory.ts +206 -0
  219. package/dev/typings/factories/IBanning__factory.ts +162 -0
  220. package/dev/typings/factories/IChannel__factory.ts +355 -0
  221. package/dev/typings/factories/ICreateSpace__factory.ts +726 -0
  222. package/dev/typings/factories/ICrossChainEntitlement__factory.ts +84 -0
  223. package/dev/typings/factories/IDiamondCut__factory.ts +207 -0
  224. package/dev/typings/factories/IDiamond__factory.ts +28 -0
  225. package/dev/typings/factories/IDropFacet__factory.ts +636 -0
  226. package/dev/typings/factories/IERC5267__factory.ts +72 -0
  227. package/dev/typings/factories/IERC721AQueryable__factory.ts +332 -0
  228. package/dev/typings/factories/IERC721A__factory.ts +443 -0
  229. package/dev/typings/factories/IEntitlementChecker__factory.ts +348 -0
  230. package/dev/typings/factories/IEntitlementDataQueryable__factory.ts +133 -0
  231. package/dev/typings/factories/IEntitlementsManager__factory.ts +236 -0
  232. package/dev/typings/factories/IMembershipMetadata__factory.ts +52 -0
  233. package/dev/typings/factories/IMockLegacyArchitect.sol/ILegacyArchitect__factory.ts +289 -0
  234. package/dev/typings/factories/IMockLegacyArchitect.sol/index.ts +4 -0
  235. package/dev/typings/factories/IMulticall__factory.ts +42 -0
  236. package/dev/typings/factories/INodeOperator__factory.ts +320 -0
  237. package/dev/typings/factories/INodeRegistry__factory.ts +298 -0
  238. package/dev/typings/factories/IOperatorRegistry__factory.ts +110 -0
  239. package/dev/typings/factories/IPausable__factory.ts +86 -0
  240. package/dev/typings/factories/IPricingModules__factory.ts +151 -0
  241. package/dev/typings/factories/IProxyManager__factory.ts +79 -0
  242. package/dev/typings/factories/IReview__factory.ts +205 -0
  243. package/dev/typings/factories/IRoles__factory.ts +547 -0
  244. package/dev/typings/factories/IRuleEntitlement.sol/IRuleEntitlementV2__factory.ts +472 -0
  245. package/dev/typings/factories/IRuleEntitlement.sol/IRuleEntitlement__factory.ts +472 -0
  246. package/dev/typings/factories/IRuleEntitlement.sol/index.ts +5 -0
  247. package/dev/typings/factories/ISpaceDelegation__factory.ts +350 -0
  248. package/dev/typings/factories/ISpaceOwner__factory.ts +289 -0
  249. package/dev/typings/factories/IStreamRegistry__factory.ts +706 -0
  250. package/dev/typings/factories/ITipping__factory.ts +217 -0
  251. package/dev/typings/factories/ITownsPoints__factory.ts +174 -0
  252. package/dev/typings/factories/ITreasury__factory.ts +148 -0
  253. package/dev/typings/factories/IWalletLink__factory.ts +770 -0
  254. package/dev/typings/factories/Member__factory.ts +877 -0
  255. package/dev/typings/factories/MembershipFacet__factory.ts +1540 -0
  256. package/dev/typings/factories/MockERC721A__factory.ts +612 -0
  257. package/dev/typings/factories/MockEntitlementGated__factory.ts +940 -0
  258. package/dev/typings/factories/OwnableFacet__factory.ts +193 -0
  259. package/dev/typings/factories/PlatformRequirementsFacet__factory.ts +587 -0
  260. package/dev/typings/factories/PrepayFacet__factory.ts +603 -0
  261. package/dev/typings/factories/TokenPausableFacet__factory.ts +227 -0
  262. package/dev/typings/factories/UserEntitlement__factory.ts +392 -0
  263. package/dev/typings/factories/index.ts +45 -0
  264. package/dev/typings/index.ts +94 -0
  265. package/package.json +14 -0
  266. package/scripts/copy-addresses.sh +7 -0
  267. package/scripts/make-config.js +43 -0
  268. package/scripts/make-config.sh +6 -0
  269. package/v3/abis/IERC5267.abi.json +51 -0
  270. package/v3/abis/IERC5267.abi.ts +51 -0
  271. package/v3/abis/WalletLink.abi.json +446 -0
  272. package/v3/abis/WalletLink.abi.ts +446 -0
  273. package/v3/typings/IERC5267.ts +144 -0
  274. package/v3/typings/IWalletLink.ts +419 -0
  275. package/v3/typings/cryptography/IERC5267.ts +144 -0
  276. package/v3/typings/cryptography/index.ts +4 -0
  277. package/v3/typings/factories/IERC5267__factory.ts +72 -0
  278. package/v3/typings/factories/IWalletLink__factory.ts +358 -0
  279. package/v3/typings/factories/cryptography/IERC5267__factory.ts +72 -0
  280. package/v3/typings/factories/cryptography/index.ts +4 -0
  281. package/v3/typings/factories/index.ts +35 -0
  282. package/v3/typings/index.ts +69 -0
@@ -0,0 +1,940 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
5
+ import type { Provider, TransactionRequest } from "@ethersproject/providers";
6
+ import type { PromiseOrValue } from "../common";
7
+ import type {
8
+ MockEntitlementGated,
9
+ MockEntitlementGatedInterface,
10
+ } from "../MockEntitlementGated";
11
+
12
+ const _abi = [
13
+ {
14
+ type: "constructor",
15
+ inputs: [
16
+ {
17
+ name: "checker",
18
+ type: "address",
19
+ internalType: "contract IEntitlementChecker",
20
+ },
21
+ ],
22
+ stateMutability: "nonpayable",
23
+ },
24
+ {
25
+ type: "function",
26
+ name: "__EntitlementGated_init",
27
+ inputs: [
28
+ {
29
+ name: "entitlementChecker",
30
+ type: "address",
31
+ internalType: "contract IEntitlementChecker",
32
+ },
33
+ ],
34
+ outputs: [],
35
+ stateMutability: "nonpayable",
36
+ },
37
+ {
38
+ type: "function",
39
+ name: "getCrossChainEntitlementData",
40
+ inputs: [
41
+ {
42
+ name: "",
43
+ type: "bytes32",
44
+ internalType: "bytes32",
45
+ },
46
+ {
47
+ name: "roleId",
48
+ type: "uint256",
49
+ internalType: "uint256",
50
+ },
51
+ ],
52
+ outputs: [
53
+ {
54
+ name: "",
55
+ type: "tuple",
56
+ internalType: "struct IEntitlementDataQueryableBase.EntitlementData",
57
+ components: [
58
+ {
59
+ name: "entitlementType",
60
+ type: "string",
61
+ internalType: "string",
62
+ },
63
+ {
64
+ name: "entitlementData",
65
+ type: "bytes",
66
+ internalType: "bytes",
67
+ },
68
+ ],
69
+ },
70
+ ],
71
+ stateMutability: "view",
72
+ },
73
+ {
74
+ type: "function",
75
+ name: "getRuleData",
76
+ inputs: [
77
+ {
78
+ name: "roleId",
79
+ type: "uint256",
80
+ internalType: "uint256",
81
+ },
82
+ ],
83
+ outputs: [
84
+ {
85
+ name: "",
86
+ type: "tuple",
87
+ internalType: "struct IRuleEntitlementBase.RuleData",
88
+ components: [
89
+ {
90
+ name: "operations",
91
+ type: "tuple[]",
92
+ internalType: "struct IRuleEntitlementBase.Operation[]",
93
+ components: [
94
+ {
95
+ name: "opType",
96
+ type: "uint8",
97
+ internalType: "enum IRuleEntitlementBase.CombinedOperationType",
98
+ },
99
+ {
100
+ name: "index",
101
+ type: "uint8",
102
+ internalType: "uint8",
103
+ },
104
+ ],
105
+ },
106
+ {
107
+ name: "checkOperations",
108
+ type: "tuple[]",
109
+ internalType: "struct IRuleEntitlementBase.CheckOperation[]",
110
+ components: [
111
+ {
112
+ name: "opType",
113
+ type: "uint8",
114
+ internalType: "enum IRuleEntitlementBase.CheckOperationType",
115
+ },
116
+ {
117
+ name: "chainId",
118
+ type: "uint256",
119
+ internalType: "uint256",
120
+ },
121
+ {
122
+ name: "contractAddress",
123
+ type: "address",
124
+ internalType: "address",
125
+ },
126
+ {
127
+ name: "threshold",
128
+ type: "uint256",
129
+ internalType: "uint256",
130
+ },
131
+ ],
132
+ },
133
+ {
134
+ name: "logicalOperations",
135
+ type: "tuple[]",
136
+ internalType: "struct IRuleEntitlementBase.LogicalOperation[]",
137
+ components: [
138
+ {
139
+ name: "logOpType",
140
+ type: "uint8",
141
+ internalType: "enum IRuleEntitlementBase.LogicalOperationType",
142
+ },
143
+ {
144
+ name: "leftOperationIndex",
145
+ type: "uint8",
146
+ internalType: "uint8",
147
+ },
148
+ {
149
+ name: "rightOperationIndex",
150
+ type: "uint8",
151
+ internalType: "uint8",
152
+ },
153
+ ],
154
+ },
155
+ ],
156
+ },
157
+ ],
158
+ stateMutability: "view",
159
+ },
160
+ {
161
+ type: "function",
162
+ name: "getRuleData",
163
+ inputs: [
164
+ {
165
+ name: "transactionId",
166
+ type: "bytes32",
167
+ internalType: "bytes32",
168
+ },
169
+ {
170
+ name: "roleId",
171
+ type: "uint256",
172
+ internalType: "uint256",
173
+ },
174
+ ],
175
+ outputs: [
176
+ {
177
+ name: "",
178
+ type: "tuple",
179
+ internalType: "struct IRuleEntitlementBase.RuleData",
180
+ components: [
181
+ {
182
+ name: "operations",
183
+ type: "tuple[]",
184
+ internalType: "struct IRuleEntitlementBase.Operation[]",
185
+ components: [
186
+ {
187
+ name: "opType",
188
+ type: "uint8",
189
+ internalType: "enum IRuleEntitlementBase.CombinedOperationType",
190
+ },
191
+ {
192
+ name: "index",
193
+ type: "uint8",
194
+ internalType: "uint8",
195
+ },
196
+ ],
197
+ },
198
+ {
199
+ name: "checkOperations",
200
+ type: "tuple[]",
201
+ internalType: "struct IRuleEntitlementBase.CheckOperation[]",
202
+ components: [
203
+ {
204
+ name: "opType",
205
+ type: "uint8",
206
+ internalType: "enum IRuleEntitlementBase.CheckOperationType",
207
+ },
208
+ {
209
+ name: "chainId",
210
+ type: "uint256",
211
+ internalType: "uint256",
212
+ },
213
+ {
214
+ name: "contractAddress",
215
+ type: "address",
216
+ internalType: "address",
217
+ },
218
+ {
219
+ name: "threshold",
220
+ type: "uint256",
221
+ internalType: "uint256",
222
+ },
223
+ ],
224
+ },
225
+ {
226
+ name: "logicalOperations",
227
+ type: "tuple[]",
228
+ internalType: "struct IRuleEntitlementBase.LogicalOperation[]",
229
+ components: [
230
+ {
231
+ name: "logOpType",
232
+ type: "uint8",
233
+ internalType: "enum IRuleEntitlementBase.LogicalOperationType",
234
+ },
235
+ {
236
+ name: "leftOperationIndex",
237
+ type: "uint8",
238
+ internalType: "uint8",
239
+ },
240
+ {
241
+ name: "rightOperationIndex",
242
+ type: "uint8",
243
+ internalType: "uint8",
244
+ },
245
+ ],
246
+ },
247
+ ],
248
+ },
249
+ ],
250
+ stateMutability: "view",
251
+ },
252
+ {
253
+ type: "function",
254
+ name: "getRuleDataV2",
255
+ inputs: [
256
+ {
257
+ name: "roleId",
258
+ type: "uint256",
259
+ internalType: "uint256",
260
+ },
261
+ ],
262
+ outputs: [
263
+ {
264
+ name: "",
265
+ type: "tuple",
266
+ internalType: "struct IRuleEntitlementBase.RuleDataV2",
267
+ components: [
268
+ {
269
+ name: "operations",
270
+ type: "tuple[]",
271
+ internalType: "struct IRuleEntitlementBase.Operation[]",
272
+ components: [
273
+ {
274
+ name: "opType",
275
+ type: "uint8",
276
+ internalType: "enum IRuleEntitlementBase.CombinedOperationType",
277
+ },
278
+ {
279
+ name: "index",
280
+ type: "uint8",
281
+ internalType: "uint8",
282
+ },
283
+ ],
284
+ },
285
+ {
286
+ name: "checkOperations",
287
+ type: "tuple[]",
288
+ internalType: "struct IRuleEntitlementBase.CheckOperationV2[]",
289
+ components: [
290
+ {
291
+ name: "opType",
292
+ type: "uint8",
293
+ internalType: "enum IRuleEntitlementBase.CheckOperationType",
294
+ },
295
+ {
296
+ name: "chainId",
297
+ type: "uint256",
298
+ internalType: "uint256",
299
+ },
300
+ {
301
+ name: "contractAddress",
302
+ type: "address",
303
+ internalType: "address",
304
+ },
305
+ {
306
+ name: "params",
307
+ type: "bytes",
308
+ internalType: "bytes",
309
+ },
310
+ ],
311
+ },
312
+ {
313
+ name: "logicalOperations",
314
+ type: "tuple[]",
315
+ internalType: "struct IRuleEntitlementBase.LogicalOperation[]",
316
+ components: [
317
+ {
318
+ name: "logOpType",
319
+ type: "uint8",
320
+ internalType: "enum IRuleEntitlementBase.LogicalOperationType",
321
+ },
322
+ {
323
+ name: "leftOperationIndex",
324
+ type: "uint8",
325
+ internalType: "uint8",
326
+ },
327
+ {
328
+ name: "rightOperationIndex",
329
+ type: "uint8",
330
+ internalType: "uint8",
331
+ },
332
+ ],
333
+ },
334
+ ],
335
+ },
336
+ ],
337
+ stateMutability: "view",
338
+ },
339
+ {
340
+ type: "function",
341
+ name: "postEntitlementCheckResult",
342
+ inputs: [
343
+ {
344
+ name: "transactionId",
345
+ type: "bytes32",
346
+ internalType: "bytes32",
347
+ },
348
+ {
349
+ name: "roleId",
350
+ type: "uint256",
351
+ internalType: "uint256",
352
+ },
353
+ {
354
+ name: "result",
355
+ type: "uint8",
356
+ internalType: "enum IEntitlementGatedBase.NodeVoteStatus",
357
+ },
358
+ ],
359
+ outputs: [],
360
+ stateMutability: "nonpayable",
361
+ },
362
+ {
363
+ type: "function",
364
+ name: "postEntitlementCheckResultV2",
365
+ inputs: [
366
+ {
367
+ name: "transactionId",
368
+ type: "bytes32",
369
+ internalType: "bytes32",
370
+ },
371
+ {
372
+ name: "roleId",
373
+ type: "uint256",
374
+ internalType: "uint256",
375
+ },
376
+ {
377
+ name: "result",
378
+ type: "uint8",
379
+ internalType: "enum IEntitlementGatedBase.NodeVoteStatus",
380
+ },
381
+ ],
382
+ outputs: [],
383
+ stateMutability: "payable",
384
+ },
385
+ {
386
+ type: "function",
387
+ name: "requestEntitlementCheckV1RuleDataV1",
388
+ inputs: [
389
+ {
390
+ name: "roleId",
391
+ type: "uint256",
392
+ internalType: "uint256",
393
+ },
394
+ {
395
+ name: "ruleData",
396
+ type: "tuple",
397
+ internalType: "struct IRuleEntitlementBase.RuleData",
398
+ components: [
399
+ {
400
+ name: "operations",
401
+ type: "tuple[]",
402
+ internalType: "struct IRuleEntitlementBase.Operation[]",
403
+ components: [
404
+ {
405
+ name: "opType",
406
+ type: "uint8",
407
+ internalType: "enum IRuleEntitlementBase.CombinedOperationType",
408
+ },
409
+ {
410
+ name: "index",
411
+ type: "uint8",
412
+ internalType: "uint8",
413
+ },
414
+ ],
415
+ },
416
+ {
417
+ name: "checkOperations",
418
+ type: "tuple[]",
419
+ internalType: "struct IRuleEntitlementBase.CheckOperation[]",
420
+ components: [
421
+ {
422
+ name: "opType",
423
+ type: "uint8",
424
+ internalType: "enum IRuleEntitlementBase.CheckOperationType",
425
+ },
426
+ {
427
+ name: "chainId",
428
+ type: "uint256",
429
+ internalType: "uint256",
430
+ },
431
+ {
432
+ name: "contractAddress",
433
+ type: "address",
434
+ internalType: "address",
435
+ },
436
+ {
437
+ name: "threshold",
438
+ type: "uint256",
439
+ internalType: "uint256",
440
+ },
441
+ ],
442
+ },
443
+ {
444
+ name: "logicalOperations",
445
+ type: "tuple[]",
446
+ internalType: "struct IRuleEntitlementBase.LogicalOperation[]",
447
+ components: [
448
+ {
449
+ name: "logOpType",
450
+ type: "uint8",
451
+ internalType: "enum IRuleEntitlementBase.LogicalOperationType",
452
+ },
453
+ {
454
+ name: "leftOperationIndex",
455
+ type: "uint8",
456
+ internalType: "uint8",
457
+ },
458
+ {
459
+ name: "rightOperationIndex",
460
+ type: "uint8",
461
+ internalType: "uint8",
462
+ },
463
+ ],
464
+ },
465
+ ],
466
+ },
467
+ ],
468
+ outputs: [
469
+ {
470
+ name: "",
471
+ type: "bytes32",
472
+ internalType: "bytes32",
473
+ },
474
+ ],
475
+ stateMutability: "nonpayable",
476
+ },
477
+ {
478
+ type: "function",
479
+ name: "requestEntitlementCheckV1RuleDataV2",
480
+ inputs: [
481
+ {
482
+ name: "roleIds",
483
+ type: "uint256[]",
484
+ internalType: "uint256[]",
485
+ },
486
+ {
487
+ name: "ruleData",
488
+ type: "tuple",
489
+ internalType: "struct IRuleEntitlementBase.RuleDataV2",
490
+ components: [
491
+ {
492
+ name: "operations",
493
+ type: "tuple[]",
494
+ internalType: "struct IRuleEntitlementBase.Operation[]",
495
+ components: [
496
+ {
497
+ name: "opType",
498
+ type: "uint8",
499
+ internalType: "enum IRuleEntitlementBase.CombinedOperationType",
500
+ },
501
+ {
502
+ name: "index",
503
+ type: "uint8",
504
+ internalType: "uint8",
505
+ },
506
+ ],
507
+ },
508
+ {
509
+ name: "checkOperations",
510
+ type: "tuple[]",
511
+ internalType: "struct IRuleEntitlementBase.CheckOperationV2[]",
512
+ components: [
513
+ {
514
+ name: "opType",
515
+ type: "uint8",
516
+ internalType: "enum IRuleEntitlementBase.CheckOperationType",
517
+ },
518
+ {
519
+ name: "chainId",
520
+ type: "uint256",
521
+ internalType: "uint256",
522
+ },
523
+ {
524
+ name: "contractAddress",
525
+ type: "address",
526
+ internalType: "address",
527
+ },
528
+ {
529
+ name: "params",
530
+ type: "bytes",
531
+ internalType: "bytes",
532
+ },
533
+ ],
534
+ },
535
+ {
536
+ name: "logicalOperations",
537
+ type: "tuple[]",
538
+ internalType: "struct IRuleEntitlementBase.LogicalOperation[]",
539
+ components: [
540
+ {
541
+ name: "logOpType",
542
+ type: "uint8",
543
+ internalType: "enum IRuleEntitlementBase.LogicalOperationType",
544
+ },
545
+ {
546
+ name: "leftOperationIndex",
547
+ type: "uint8",
548
+ internalType: "uint8",
549
+ },
550
+ {
551
+ name: "rightOperationIndex",
552
+ type: "uint8",
553
+ internalType: "uint8",
554
+ },
555
+ ],
556
+ },
557
+ ],
558
+ },
559
+ ],
560
+ outputs: [
561
+ {
562
+ name: "",
563
+ type: "bytes32",
564
+ internalType: "bytes32",
565
+ },
566
+ ],
567
+ stateMutability: "nonpayable",
568
+ },
569
+ {
570
+ type: "function",
571
+ name: "requestEntitlementCheckV2RuleDataV1",
572
+ inputs: [
573
+ {
574
+ name: "roleIds",
575
+ type: "uint256[]",
576
+ internalType: "uint256[]",
577
+ },
578
+ {
579
+ name: "ruleData",
580
+ type: "tuple",
581
+ internalType: "struct IRuleEntitlementBase.RuleData",
582
+ components: [
583
+ {
584
+ name: "operations",
585
+ type: "tuple[]",
586
+ internalType: "struct IRuleEntitlementBase.Operation[]",
587
+ components: [
588
+ {
589
+ name: "opType",
590
+ type: "uint8",
591
+ internalType: "enum IRuleEntitlementBase.CombinedOperationType",
592
+ },
593
+ {
594
+ name: "index",
595
+ type: "uint8",
596
+ internalType: "uint8",
597
+ },
598
+ ],
599
+ },
600
+ {
601
+ name: "checkOperations",
602
+ type: "tuple[]",
603
+ internalType: "struct IRuleEntitlementBase.CheckOperation[]",
604
+ components: [
605
+ {
606
+ name: "opType",
607
+ type: "uint8",
608
+ internalType: "enum IRuleEntitlementBase.CheckOperationType",
609
+ },
610
+ {
611
+ name: "chainId",
612
+ type: "uint256",
613
+ internalType: "uint256",
614
+ },
615
+ {
616
+ name: "contractAddress",
617
+ type: "address",
618
+ internalType: "address",
619
+ },
620
+ {
621
+ name: "threshold",
622
+ type: "uint256",
623
+ internalType: "uint256",
624
+ },
625
+ ],
626
+ },
627
+ {
628
+ name: "logicalOperations",
629
+ type: "tuple[]",
630
+ internalType: "struct IRuleEntitlementBase.LogicalOperation[]",
631
+ components: [
632
+ {
633
+ name: "logOpType",
634
+ type: "uint8",
635
+ internalType: "enum IRuleEntitlementBase.LogicalOperationType",
636
+ },
637
+ {
638
+ name: "leftOperationIndex",
639
+ type: "uint8",
640
+ internalType: "uint8",
641
+ },
642
+ {
643
+ name: "rightOperationIndex",
644
+ type: "uint8",
645
+ internalType: "uint8",
646
+ },
647
+ ],
648
+ },
649
+ ],
650
+ },
651
+ ],
652
+ outputs: [
653
+ {
654
+ name: "",
655
+ type: "bytes32",
656
+ internalType: "bytes32",
657
+ },
658
+ ],
659
+ stateMutability: "payable",
660
+ },
661
+ {
662
+ type: "function",
663
+ name: "requestEntitlementCheckV2RuleDataV2",
664
+ inputs: [
665
+ {
666
+ name: "roleIds",
667
+ type: "uint256[]",
668
+ internalType: "uint256[]",
669
+ },
670
+ {
671
+ name: "ruleData",
672
+ type: "tuple",
673
+ internalType: "struct IRuleEntitlementBase.RuleDataV2",
674
+ components: [
675
+ {
676
+ name: "operations",
677
+ type: "tuple[]",
678
+ internalType: "struct IRuleEntitlementBase.Operation[]",
679
+ components: [
680
+ {
681
+ name: "opType",
682
+ type: "uint8",
683
+ internalType: "enum IRuleEntitlementBase.CombinedOperationType",
684
+ },
685
+ {
686
+ name: "index",
687
+ type: "uint8",
688
+ internalType: "uint8",
689
+ },
690
+ ],
691
+ },
692
+ {
693
+ name: "checkOperations",
694
+ type: "tuple[]",
695
+ internalType: "struct IRuleEntitlementBase.CheckOperationV2[]",
696
+ components: [
697
+ {
698
+ name: "opType",
699
+ type: "uint8",
700
+ internalType: "enum IRuleEntitlementBase.CheckOperationType",
701
+ },
702
+ {
703
+ name: "chainId",
704
+ type: "uint256",
705
+ internalType: "uint256",
706
+ },
707
+ {
708
+ name: "contractAddress",
709
+ type: "address",
710
+ internalType: "address",
711
+ },
712
+ {
713
+ name: "params",
714
+ type: "bytes",
715
+ internalType: "bytes",
716
+ },
717
+ ],
718
+ },
719
+ {
720
+ name: "logicalOperations",
721
+ type: "tuple[]",
722
+ internalType: "struct IRuleEntitlementBase.LogicalOperation[]",
723
+ components: [
724
+ {
725
+ name: "logOpType",
726
+ type: "uint8",
727
+ internalType: "enum IRuleEntitlementBase.LogicalOperationType",
728
+ },
729
+ {
730
+ name: "leftOperationIndex",
731
+ type: "uint8",
732
+ internalType: "uint8",
733
+ },
734
+ {
735
+ name: "rightOperationIndex",
736
+ type: "uint8",
737
+ internalType: "uint8",
738
+ },
739
+ ],
740
+ },
741
+ ],
742
+ },
743
+ ],
744
+ outputs: [
745
+ {
746
+ name: "",
747
+ type: "bytes32",
748
+ internalType: "bytes32",
749
+ },
750
+ ],
751
+ stateMutability: "payable",
752
+ },
753
+ {
754
+ type: "event",
755
+ name: "EntitlementCheckResultPosted",
756
+ inputs: [
757
+ {
758
+ name: "transactionId",
759
+ type: "bytes32",
760
+ indexed: true,
761
+ internalType: "bytes32",
762
+ },
763
+ {
764
+ name: "result",
765
+ type: "uint8",
766
+ indexed: false,
767
+ internalType: "enum IEntitlementGatedBase.NodeVoteStatus",
768
+ },
769
+ ],
770
+ anonymous: false,
771
+ },
772
+ {
773
+ type: "event",
774
+ name: "Initialized",
775
+ inputs: [
776
+ {
777
+ name: "version",
778
+ type: "uint32",
779
+ indexed: false,
780
+ internalType: "uint32",
781
+ },
782
+ ],
783
+ anonymous: false,
784
+ },
785
+ {
786
+ type: "event",
787
+ name: "InterfaceAdded",
788
+ inputs: [
789
+ {
790
+ name: "interfaceId",
791
+ type: "bytes4",
792
+ indexed: true,
793
+ internalType: "bytes4",
794
+ },
795
+ ],
796
+ anonymous: false,
797
+ },
798
+ {
799
+ type: "event",
800
+ name: "InterfaceRemoved",
801
+ inputs: [
802
+ {
803
+ name: "interfaceId",
804
+ type: "bytes4",
805
+ indexed: true,
806
+ internalType: "bytes4",
807
+ },
808
+ ],
809
+ anonymous: false,
810
+ },
811
+ {
812
+ type: "error",
813
+ name: "EntitlementGated_InvalidAddress",
814
+ inputs: [],
815
+ },
816
+ {
817
+ type: "error",
818
+ name: "EntitlementGated_InvalidEntitlement",
819
+ inputs: [],
820
+ },
821
+ {
822
+ type: "error",
823
+ name: "EntitlementGated_NodeAlreadyVoted",
824
+ inputs: [],
825
+ },
826
+ {
827
+ type: "error",
828
+ name: "EntitlementGated_NodeNotFound",
829
+ inputs: [],
830
+ },
831
+ {
832
+ type: "error",
833
+ name: "EntitlementGated_OnlyEntitlementChecker",
834
+ inputs: [],
835
+ },
836
+ {
837
+ type: "error",
838
+ name: "EntitlementGated_RequestIdNotFound",
839
+ inputs: [],
840
+ },
841
+ {
842
+ type: "error",
843
+ name: "EntitlementGated_TransactionCheckAlreadyCompleted",
844
+ inputs: [],
845
+ },
846
+ {
847
+ type: "error",
848
+ name: "EntitlementGated_TransactionCheckAlreadyRegistered",
849
+ inputs: [],
850
+ },
851
+ {
852
+ type: "error",
853
+ name: "EntitlementGated_TransactionNotRegistered",
854
+ inputs: [],
855
+ },
856
+ {
857
+ type: "error",
858
+ name: "Initializable_InInitializingState",
859
+ inputs: [],
860
+ },
861
+ {
862
+ type: "error",
863
+ name: "Initializable_NotInInitializingState",
864
+ inputs: [],
865
+ },
866
+ {
867
+ type: "error",
868
+ name: "Introspection_AlreadySupported",
869
+ inputs: [],
870
+ },
871
+ {
872
+ type: "error",
873
+ name: "Introspection_NotSupported",
874
+ inputs: [],
875
+ },
876
+ {
877
+ type: "error",
878
+ name: "Reentrancy",
879
+ inputs: [],
880
+ },
881
+ ] as const;
882
+
883
+ const _bytecode =
884
+ "0x608060405234801561000f575f5ffd5b506040516138fa3803806138fa83398101604081905261002e9161011c565b610036610076565b7f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e0080546001600160a01b0319166001600160a01b03831617905550610149565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156100c2576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff908116101561011957805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b5f6020828403121561012c575f5ffd5b81516001600160a01b0381168114610142575f5ffd5b9392505050565b6137a4806101565f395ff3fe6080604052600436106100b8575f3560e01c80637adc9cbe11610071578063caeb80881161004c578063caeb8088146101e8578063e58690f2146101fb578063ffbfd74d1461020e575f5ffd5b80637adc9cbe1461019757806392c399ff146101b6578063c1066f18146101d5575f5ffd5b80634739e805116100a15780634739e8051461011d5780635bf0fec71461013e57806368ab7dd61461016b575f5ffd5b8063069a3ee9146100bc5780630fe44a21146100f1575b5f5ffd5b3480156100c7575f5ffd5b506100db6100d6366004611e9b565b61022d565b6040516100e89190611fb3565b60405180910390f35b3480156100fc575f5ffd5b5061011061010b3660046120ac565b610467565b6040516100e89190612118565b348015610128575f5ffd5b5061013c610137366004612183565b610561565b005b348015610149575f5ffd5b5061015d6101583660046121cf565b6105a7565b6040519081526020016100e8565b348015610176575f5ffd5b5061018a610185366004611e9b565b610626565b6040516100e89190612213565b3480156101a2575f5ffd5b5061013c6101b1366004612377565b6108d8565b3480156101c1575f5ffd5b506100db6101d03660046120ac565b610947565b61015d6101e33660046123da565b610975565b61015d6101f63660046123da565b610a71565b61013c610209366004612183565b610b59565b348015610219575f5ffd5b5061015d6102283660046123da565b610bf5565b61025160405180606001604052806060815260200160608152602001606081525090565b5f828152602081815260408083208151815460809481028201850190935260608101838152909491938593919285929185015b828210156102ec575f84815260209020604080518082019091529083018054829060ff1660028111156102b9576102b9611eb2565b60028111156102ca576102ca611eb2565b81529054610100900460ff166020918201529082526001929092019101610284565b50505050815260200160018201805480602002602001604051908101604052809291908181526020015f905b828210156103af575f848152602090206040805160808101909152600484029091018054829060ff16600681111561035257610352611eb2565b600681111561036357610363611eb2565b8152600182810154602080840191909152600284015473ffffffffffffffffffffffffffffffffffffffff16604084015260039093015460609092019190915291835292019101610318565b50505050815260200160028201805480602002602001604051908101604052809291908181526020015f905b82821015610459575f8481526020902060408051606081019091529083018054829060ff16600281111561041157610411611eb2565b600281111561042257610422611eb2565b8152905460ff61010082048116602080850191909152620100009092041660409092019190915290825260019290920191016103db565b505050915250909392505050565b60408051808201909152606080825260208201525f82815260208190526040902054156105005760408051608081018252600f8183019081527f52756c65456e7469746c656d656e740000000000000000000000000000000000606083015281525f84815260208181529083902092519192818401926104e792016124e8565b604051602081830303815290604052815250905061055b565b6040805160808101825260118183019081527f52756c65456e7469746c656d656e745632000000000000000000000000000000606083015281525f848152600160209081529083902092519192818401926104e79201612625565b92915050565b3068929eee149b4bd21268540361057f5763ab143c065f526004601cfd5b3068929eee149b4bd2126855610596838383610ce8565b3868929eee149b4bd2126855505050565b5f82815260208190526040812082906105c08282612ceb565b50506040517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003260601b1660208201524360348201525f9060540160405160208183030381529060405280519060200120905061061f3382308761109b565b9392505050565b61064a60405180606001604052806060815260200160608152602001606081525090565b5f8281526001602090815260408083208151815460809481028201850190935260608101838152909491938593919285929185015b828210156106e7575f84815260209020604080518082019091529083018054829060ff1660028111156106b4576106b4611eb2565b60028111156106c5576106c5611eb2565b81529054610100900460ff16602091820152908252600192909201910161067f565b50505050815260200160018201805480602002602001604051908101604052809291908181526020015f905b8282101561082e575f848152602090206040805160808101909152600484029091018054829060ff16600681111561074d5761074d611eb2565b600681111561075e5761075e611eb2565b815260018201546020820152600282015473ffffffffffffffffffffffffffffffffffffffff16604082015260038201805460609092019161079f906125da565b80601f01602080910402602001604051908101604052809291908181526020018280546107cb906125da565b80156108165780601f106107ed57610100808354040283529160200191610816565b820191905f5260205f20905b8154815290600101906020018083116107f957829003601f168201915b50505050508152505081526020019060010190610713565b50505050815260200160028201805480602002602001604051908101604052809291908181526020015f905b82821015610459575f8481526020902060408051606081019091529083018054829060ff16600281111561089057610890611eb2565b60028111156108a1576108a1611eb2565b8152905460ff610100820481166020808501919091526201000090920416604090920191909152908252600192909201910161085a565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff1661093b576040517f77a399b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610944816114e3565b50565b61096b60405180606001604052806060815260200160608152602001606081525090565b61061f838361156e565b5f805b838110156109bf57825f5f87878581811061099557610995612db5565b9050602002013581526020019081526020015f2081816109b59190612ceb565b5050600101610978565b506040517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003260601b1660208201524360348201525f90605401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052805160209091012090505f5b84811015610a6857610a60333084308a8a87818110610a5457610a54612db5565b905060200201356116db565b600101610a33565b50949350505050565b5f805b83811015610abc578260015f878785818110610a9257610a92612db5565b9050602002013581526020019081526020015f208181610ab291906131b7565b5050600101610a74565b506040517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003260601b1660208201524360348201525f90605401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052805160209091012090505f5b84811015610a6857610b51333084308a8a87818110610a5457610a54612db5565b600101610b30565b7f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e005473ffffffffffffffffffffffffffffffffffffffff163314610bc057610bc07fb2395d70000000000000000000000000000000000000000000000000000000006118d6565b3068929eee149b4bd212685403610bde5763ab143c065f526004601cfd5b3068929eee149b4bd21268556105968383836118de565b5f805b83811015610c40578260015f878785818110610c1657610c16612db5565b9050602002013581526020019081526020015f208181610c3691906131b7565b5050600101610bf8565b506040517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003260601b1660208201524360348201525f90605401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052805160209091012090505f5b84811015610a6857610ce0338330898986818110610cd457610cd4612db5565b9050602002013561109b565b600101610cb4565b5f8381527f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e016020526040902080547f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e009190610100900473ffffffffffffffffffffffffffffffffffffffff161580610d625750805460ff16155b15610d99576040517ff5ab487200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f84815260028201602052604090205460ff1615610de3576040517f7912b73900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8481526001820160205260408120805482918291825b81811015610f6d575f838281548110610e1557610e15612db5565b5f91825260209091200180549091503373ffffffffffffffffffffffffffffffffffffffff90911603610f02575f815474010000000000000000000000000000000000000000900460ff166002811115610e7157610e71611eb2565b14610ea8576040517f47592a4d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80548a9082907fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000836002811115610ef857610ef8611eb2565b0217905550600196505b805474010000000000000000000000000000000000000000900460ff166001816002811115610f3357610f33611eb2565b03610f4357866001019650610f63565b6002816002811115610f5757610f57611eb2565b03610f63578560010195505b5050600101610dfa565b5084610fa5576040517f8223a7e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610fb060028261325e565b841180610fc65750610fc360028261325e565b83115b1561108f575f898152600287016020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055838511611011576002611014565b60015b90505f6110208c6119a7565b9050600182600281111561103657611036611eb2565b148061103f5750805b1561107d578b7fb9d6ce397e562841871d119aaf77469c60a3b5bf8b99a5d9851656015015c633836040516110749190613296565b60405180910390a25b801561108c5761108c8c611a64565b50505b50505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff84166110df576110df7f99ef0388000000000000000000000000000000000000000000000000000000006118d6565b5f8381527f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e016020526040902080547f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e00919060ff16156111a85760048101545f5b818110156111a5578483600401828154811061115d5761115d612db5565b905f5260205f2001540361119d576040517f0d5a9ef800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60010161113f565b50505b815473ffffffffffffffffffffffffffffffffffffffff166111cc576111cc611b86565b81546040517f4f845445000000000000000000000000000000000000000000000000000000008152600560048201525f9173ffffffffffffffffffffffffffffffffffffffff1690634f845445906024015f60405180830381865afa158015611237573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261127c919081019061338a565b825490915060ff1661130457815460038301805473ffffffffffffffffffffffffffffffffffffffff8089167fffffffffffffffffffffffff0000000000000000000000000000000000000000909216919091179091558816610100027fffffffffffffffffffffff0000000000000000000000000000000000000000009091161760011782555b600482018054600181810183555f928352602080842090920187905583518784529085019091526040822090915b8281101561144f5781604051806040016040528086848151811061135857611358612db5565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1681526020015f600281111561138d5761138d611eb2565b905281546001810183555f9283526020928390208251910180547fffffffffffffffffffffffff0000000000000000000000000000000000000000811673ffffffffffffffffffffffffffffffffffffffff909316928317825593830151929390929183917fffffffffffffffffffffff00000000000000000000000000000000000000000016177401000000000000000000000000000000000000000083600281111561143d5761143d611eb2565b02179055505050806001019050611332565b5084546040517f541da4e500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063541da4e5906114ab908c908c908b90899060040161341f565b5f604051808303815f87803b1580156114c2575f5ffd5b505af11580156114d4573d5f5f3e3d5ffd5b50505050505050505050505050565b61150c7fd5fa71fa00000000000000000000000000000000000000000000000000000000611cc1565b7f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e0080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905550565b61159260405180606001604052806060815260200160608152602001606081525090565b5f8381527f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e016020526040902080547f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e00919060ff1661161c576040517ff5ab487200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038101546040517f069a3ee90000000000000000000000000000000000000000000000000000000081526004810186905273ffffffffffffffffffffffffffffffffffffffff90911690819063069a3ee9906024015f60405180830381865afa15801561168c573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526116d191908101906135fb565b9695505050505050565b73ffffffffffffffffffffffffffffffffffffffff851661171f5761171f7f99ef0388000000000000000000000000000000000000000000000000000000006118d6565b73ffffffffffffffffffffffffffffffffffffffff8216611763576117637f4bb7c205000000000000000000000000000000000000000000000000000000006118d6565b5f8381527f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e016020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011781556003810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff888116919091179091558251908916938101939093527f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e00939092909101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905284547f21be050a00000000000000000000000000000000000000000000000000000000835290925073ffffffffffffffffffffffffffffffffffffffff16906321be050a9034906118bf908c908b908a90889060040161374f565b5f604051808303818588803b1580156114c2575f5ffd5b805f5260045ffd5b5f8381527f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e016020526040902080547f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e00919060ff1661195f5761195f7ff5ab4872000000000000000000000000000000000000000000000000000000006118d6565b847fb9d6ce397e562841871d119aaf77469c60a3b5bf8b99a5d9851656015015c6338460405161198f9190613296565b60405180910390a26119a085611a64565b5050505050565b5f8181527f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e016020526040812060048101547f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e009190835b81811015611a5457826002015f846004018381548110611a1f57611a1f612db5565b5f918252602080832090910154835282019290925260400190205460ff16611a4c57505f95945050505050565b6001016119fd565b50600195945050505050565b5050565b5f8181527f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e016020526040812060048101547f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e00925b81811015611b0357826001015f846004018381548110611ada57611ada612db5565b905f5260205f20015481526020019081526020015f205f611afb9190611e16565b600101611ab8565b50611b11600483015f611e31565b5f848152600184016020526040812080547fffffffffffffffffffffff0000000000000000000000000000000000000000001681556003810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905590611b7e6004830182611e31565b505050505050565b5f7f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e0090505f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600600601546040517f44ab66800000000000000000000000000000000000000000000000000000000081527f53706163654f70657261746f7200000000000000000000000000000000000000600482015273ffffffffffffffffffffffffffffffffffffffff909116906344ab668090602401602060405180830381865afa158015611c59573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c7d9190613789565b82547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff919091161790915550565b7fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604090205460ff16611d95577fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b006020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055611dc7565b6040517ff2cfeefa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fffffffff000000000000000000000000000000000000000000000000000000008216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f22905f90a250565b5080545f8255905f5260205f20908101906109449190611e4c565b5080545f8255905f5260205f20908101906109449190611e87565b5b80821115611e835780547fffffffffffffffffffffff000000000000000000000000000000000000000000168155600101611e4d565b5090565b5b80821115611e83575f8155600101611e88565b5f60208284031215611eab575f5ffd5b5035919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b6003811061094457610944611eb2565b5f8151808452602084019350602083015f5b82811015611f385781518051611f1681611edf565b875260209081015160ff16818801526040909601959190910190600101611f01565b5093949350505050565b60078110611f5257611f52611eb2565b9052565b5f8151808452602084019350602083015f5b82811015611f385781518051611f7d81611edf565b8088525060ff602082015116602088015260ff604082015116604088015250606086019550602082019150600181019050611f68565b602081525f825160606020840152611fce6080840182611eef565b6020858101517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0868403016040870152805180845290820193505f92909101905b80831015612070578351612024838251611f42565b6020810151602084015273ffffffffffffffffffffffffffffffffffffffff6040820151166040840152606081015160608401525060808201915060208401935060018301925061200f565b50604086015192507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08582030160608601526116d18184611f56565b5f5f604083850312156120bd575f5ffd5b50508035926020909101359150565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f82516040602084015261213360608401826120cc565b905060208401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084830301604085015261216e82826120cc565b95945050505050565b60038110610944575f5ffd5b5f5f5f60608486031215612195575f5ffd5b833592506020840135915060408401356121ae81612177565b809150509250925092565b5f606082840312156121c9575f5ffd5b50919050565b5f5f604083850312156121e0575f5ffd5b82359150602083013567ffffffffffffffff8111156121fd575f5ffd5b612209858286016121b9565b9150509250929050565b602081525f82516060602084015261222e6080840182611eef565b6020858101518583037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016040870152805180845292935081019181840191600582901b8501015f5b8281101561230e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe086830301845284516122b3838251611f42565b6020810151602084015273ffffffffffffffffffffffffffffffffffffffff604082015116604084015260608101519050608060608401526122f860808401826120cc565b6020968701969590950194925050600101612277565b50604088015194507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe087820301606088015261234a8186611f56565b98975050505050505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610944575f5ffd5b5f60208284031215612387575f5ffd5b813561061f81612356565b5f5f83601f8401126123a2575f5ffd5b50813567ffffffffffffffff8111156123b9575f5ffd5b6020830191508360208260051b85010111156123d3575f5ffd5b9250929050565b5f5f5f604084860312156123ec575f5ffd5b833567ffffffffffffffff811115612402575f5ffd5b61240e86828701612392565b909450925050602084013567ffffffffffffffff81111561242d575f5ffd5b612439868287016121b9565b9150509250925092565b5f8154808452602084019350825f5260205f205f5b82811015611f3857815460ff811661246f81611edf565b875260081c60ff16602087015260409095019460019182019101612458565b5f8154808452602084019350825f5260205f205f5b82811015611f3857815460ff81166124ba81611edf565b875260ff600882901c8116602089015260109190911c166040870152606090950194600191820191016124a3565b60208152606060208201525f6125016080830184612443565b8281037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00160408401526001840180548083525f91825260208083209301905b808310156125a2576125578260ff865416611f42565b6001840154602083015273ffffffffffffffffffffffffffffffffffffffff600285015416604083015260038401546060830152608082019150600484019350600183019250612541565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08582030160608601526116d1816002880161248e565b600181811c908216806125ee57607f821691505b6020821081036121c9577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b60208152606060208201525f61263e6080830184612443565b600184017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084830301604085015281815480845260208401915060208160051b850101835f5260205f2093505f5b828110156127af577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08683030184526126c98260ff875416611f42565b6001850154602083015273ffffffffffffffffffffffffffffffffffffffff600286015416604083015260038501608060608401525f815461270a816125da565b806080870152600182165f8114612728576001811461276257612793565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00831660a088015260a082151560051b8801019350612793565b845f5260205f205f5b8381101561278a57815489820160a0015260019091019060200161276b565b880160a0019450505b505050600496909601956020959095019492505060010161268c565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe087820301606088015261234a8160028a0161248e565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261281a575f5ffd5b83018035915067ffffffffffffffff821115612834575f5ffd5b6020019150600681901b36038213156123d3575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b600281901b7f3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821682146128d3577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919050565b60ff81168114610944575f5ffd5b81356128f181612177565b6128fa81611edf565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541660ff82168117835550506020820135612936816128d8565b81547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16600882901b61ff0016178255505050565b505050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126129a3575f5ffd5b83018035915067ffffffffffffffff8211156129bd575f5ffd5b6020019150600781901b36038213156123d3575f5ffd5b60078110610944575f5ffd5b600782106129f0576129f0611eb2565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541660ff831681178255505050565b8135612a2c816129d4565b612a3681836129e0565b50602082013560018201556040820135612a4f81612356565b6002820180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555060609190910135600390910155565b68010000000000000000831115612aba57612aba61284b565b805483825580841015612b1157612ad081612878565b612ad985612878565b5f8481526020902091820191015b81811015612b0e575f80825560018201819055600282018190556003820155600401612ae7565b50505b505f8181526020812083915b85811015611b7e57612b2f8383612a21565b6080929092019160049190910190600101612b1d565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612b78575f5ffd5b83018035915067ffffffffffffffff821115612b92575f5ffd5b60200191506060810236038213156123d3575f5ffd5b8135612bb381612177565b612bbc81611edf565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541660ff82168117835550506020820135612bf8816128d8565b81547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16600882901b61ff0016178255506040820135612c37816128d8565b81547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff1660109190911b62ff00001617905550565b68010000000000000000831115612c8557612c8561284b565b805483825580841015612cba575f828152602090208481019082015b80821015612cb7575f8255600182019150612ca1565b50505b505f8181526020812083915b85811015611b7e57612cd88383612ba8565b6060929092019160019182019101612cc6565b612cf582836127e7565b68010000000000000000811115612d0e57612d0e61284b565b825481845580821015612d43575f848152602090208281019082015b80821015612d40575f8255600182019150612d2a565b50505b505f838152602090205f5b82811015612d7357612d6084836128e6565b6040939093019260019182019101612d4e565b50505050612d846020830183612970565b612d92818360018601612aa1565b5050612da16040830183612b45565b612daf818360028601612c6c565b50505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612e15575f5ffd5b83018035915067ffffffffffffffff821115612e2f575f5ffd5b6020019150600581901b36038213156123d3575f5ffd5b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112612e78575f5ffd5b9190910192915050565b5b81811015611a60575f8155600101612e83565b601f82111561296b57805f5260205f20601f840160051c81016020851015612ebb5750805b6119a0601f850160051c830182612e82565b8135612ed8816129d4565b612ee281836129e0565b50602082013560018201556040820135612efb81612356565b6002820180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555060608201357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1833603018112612f72575f5ffd5b8201803567ffffffffffffffff811115612f8a575f5ffd5b602082019150803603821315612f9e575f5ffd5b6003830167ffffffffffffffff821115612fba57612fba61284b565b612fce82612fc883546125da565b83612e96565b5f601f83116001811461301e575f8415612fe85750848201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1783556130b2565b5f838152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561306b578785013582556020948501946001909201910161304b565b50858210156130a6577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88760031b161c19848801351681555b505060018460011b0183555b50505050505050565b680100000000000000008311156130d4576130d461284b565b80548382558084101561317a576130ea81612878565b6130f385612878565b5f8481526020902091820191015b81811015613177575f81555f60018201555f60028201556003810161312681546125da565b801561316d57601f811160018114613140575f835561316b565b5f8381526020902061315d601f840160051c820160018301612e82565b505f83815260208120818555555b505b5050600401613101565b50505b505f8181526020812083915b85811015611b7e576131a161319b8487612e46565b83612ecd565b6020929092019160049190910190600101613186565b6131c182836127e7565b680100000000000000008111156131da576131da61284b565b82548184558082101561320f575f848152602090208281019082015b8082101561320c575f82556001820191506131f6565b50505b505f838152602090205f5b8281101561323f5761322c84836128e6565b604093909301926001918201910161321a565b505050506132506020830183612de2565b612d928183600186016130bb565b5f82613291577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b602081016132a383611edf565b91905290565b6040516080810167ffffffffffffffff811182821017156132cc576132cc61284b565b60405290565b6040516060810167ffffffffffffffff811182821017156132cc576132cc61284b565b6040805190810167ffffffffffffffff811182821017156132cc576132cc61284b565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561335f5761335f61284b565b604052919050565b5f67ffffffffffffffff8211156133805761338061284b565b5060051b60200190565b5f6020828403121561339a575f5ffd5b815167ffffffffffffffff8111156133b0575f5ffd5b8201601f810184136133c0575f5ffd5b80516133d36133ce82613367565b613318565b8082825260208201915060208360051b8501019250868311156133f4575f5ffd5b6020840193505b828410156116d157835161340e81612356565b8252602093840193909101906133fb565b5f6080820173ffffffffffffffffffffffffffffffffffffffff871683528560208401528460408401526080606084015280845180835260a0850191506020860192505f5b8181101561349857835173ffffffffffffffffffffffffffffffffffffffff16835260209384019390920191600101613464565b509098975050505050505050565b5f82601f8301126134b5575f5ffd5b81516134c36133ce82613367565b8082825260208201915060208360071b8601019250858311156134e4575f5ffd5b602085015b8381101561354c5760808188031215613500575f5ffd5b6135086132a9565b8151613513816129d4565b815260208281015190820152604082015161352d81612356565b60408201526060828101519082015283526020909201916080016134e9565b5095945050505050565b5f82601f830112613565575f5ffd5b81516135736133ce82613367565b80828252602082019150602060608402860101925085831115613594575f5ffd5b602085015b8381101561354c57606081880312156135b0575f5ffd5b6135b86132d2565b81516135c381612177565b815260208201516135d3816128d8565b602082015260408201516135e6816128d8565b60408201528352602090920191606001613599565b5f6020828403121561360b575f5ffd5b815167ffffffffffffffff811115613621575f5ffd5b820160608185031215613632575f5ffd5b61363a6132d2565b815167ffffffffffffffff811115613650575f5ffd5b8201601f81018613613660575f5ffd5b805161366e6133ce82613367565b8082825260208201915060208360061b85010192508883111561368f575f5ffd5b6020840193505b828410156136ec576040848a0312156136ad575f5ffd5b6136b56132f5565b84516136c081612177565b815260208501516136d0816128d8565b8060208301525080835250602082019150604084019350613696565b8452505050602082015167ffffffffffffffff81111561370a575f5ffd5b613716868285016134a6565b602083015250604082015167ffffffffffffffff811115613735575f5ffd5b61374186828501613556565b604083015250949350505050565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152826040820152608060608201525f6116d160808301846120cc565b5f60208284031215613799575f5ffd5b815161061f8161235656";
885
+
886
+ type MockEntitlementGatedConstructorParams =
887
+ | [signer?: Signer]
888
+ | ConstructorParameters<typeof ContractFactory>;
889
+
890
+ const isSuperArgs = (
891
+ xs: MockEntitlementGatedConstructorParams
892
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
893
+
894
+ export class MockEntitlementGated__factory extends ContractFactory {
895
+ constructor(...args: MockEntitlementGatedConstructorParams) {
896
+ if (isSuperArgs(args)) {
897
+ super(...args);
898
+ } else {
899
+ super(_abi, _bytecode, args[0]);
900
+ }
901
+ }
902
+
903
+ override deploy(
904
+ checker: PromiseOrValue<string>,
905
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
906
+ ): Promise<MockEntitlementGated> {
907
+ return super.deploy(
908
+ checker,
909
+ overrides || {}
910
+ ) as Promise<MockEntitlementGated>;
911
+ }
912
+ override getDeployTransaction(
913
+ checker: PromiseOrValue<string>,
914
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
915
+ ): TransactionRequest {
916
+ return super.getDeployTransaction(checker, overrides || {});
917
+ }
918
+ override attach(address: string): MockEntitlementGated {
919
+ return super.attach(address) as MockEntitlementGated;
920
+ }
921
+ override connect(signer: Signer): MockEntitlementGated__factory {
922
+ return super.connect(signer) as MockEntitlementGated__factory;
923
+ }
924
+
925
+ static readonly bytecode = _bytecode;
926
+ static readonly abi = _abi;
927
+ static createInterface(): MockEntitlementGatedInterface {
928
+ return new utils.Interface(_abi) as MockEntitlementGatedInterface;
929
+ }
930
+ static connect(
931
+ address: string,
932
+ signerOrProvider: Signer | Provider
933
+ ): MockEntitlementGated {
934
+ return new Contract(
935
+ address,
936
+ _abi,
937
+ signerOrProvider
938
+ ) as MockEntitlementGated;
939
+ }
940
+ }