gn-contracts 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. package/README.md +14 -0
  2. package/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.dbg.json +4 -0
  3. package/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.json +63 -0
  4. package/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.dbg.json +4 -0
  5. package/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.json +297 -0
  6. package/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json +4 -0
  7. package/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.json +194 -0
  8. package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol/ERC20Burnable.dbg.json +4 -0
  9. package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol/ERC20Burnable.json +312 -0
  10. package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.dbg.json +4 -0
  11. package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.json +233 -0
  12. package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json +4 -0
  13. package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.json +10 -0
  14. package/artifacts/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol/AccessControlUpgradeable.dbg.json +4 -0
  15. package/artifacts/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol/AccessControlUpgradeable.json +228 -0
  16. package/artifacts/@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol/IAccessControlUpgradeable.dbg.json +4 -0
  17. package/artifacts/@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol/IAccessControlUpgradeable.json +183 -0
  18. package/artifacts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.dbg.json +4 -0
  19. package/artifacts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.json +76 -0
  20. package/artifacts/@openzeppelin/contracts-upgradeable/interfaces/IERC1967Upgradeable.sol/IERC1967Upgradeable.dbg.json +4 -0
  21. package/artifacts/@openzeppelin/contracts-upgradeable/interfaces/IERC1967Upgradeable.sol/IERC1967Upgradeable.json +56 -0
  22. package/artifacts/@openzeppelin/contracts-upgradeable/interfaces/IERC4906Upgradeable.sol/IERC4906Upgradeable.dbg.json +4 -0
  23. package/artifacts/@openzeppelin/contracts-upgradeable/interfaces/IERC4906Upgradeable.sol/IERC4906Upgradeable.json +328 -0
  24. package/artifacts/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable.dbg.json +4 -0
  25. package/artifacts/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable.json +24 -0
  26. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol/ERC1967UpgradeUpgradeable.dbg.json +4 -0
  27. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol/ERC1967UpgradeUpgradeable.json +69 -0
  28. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable.sol/IBeaconUpgradeable.dbg.json +4 -0
  29. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable.sol/IBeaconUpgradeable.json +24 -0
  30. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.dbg.json +4 -0
  31. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.json +24 -0
  32. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol/UUPSUpgradeable.dbg.json +4 -0
  33. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol/UUPSUpgradeable.json +113 -0
  34. package/artifacts/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol/ReentrancyGuardUpgradeable.dbg.json +4 -0
  35. package/artifacts/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol/ReentrancyGuardUpgradeable.json +24 -0
  36. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol/ERC721Upgradeable.dbg.json +4 -0
  37. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol/ERC721Upgradeable.json +354 -0
  38. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721ReceiverUpgradeable.sol/IERC721ReceiverUpgradeable.dbg.json +4 -0
  39. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721ReceiverUpgradeable.sol/IERC721ReceiverUpgradeable.json +45 -0
  40. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable.sol/IERC721Upgradeable.dbg.json +4 -0
  41. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable.sol/IERC721Upgradeable.json +296 -0
  42. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol/ERC721EnumerableUpgradeable.dbg.json +4 -0
  43. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol/ERC721EnumerableUpgradeable.json +410 -0
  44. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol/ERC721URIStorageUpgradeable.dbg.json +4 -0
  45. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol/ERC721URIStorageUpgradeable.json +386 -0
  46. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721EnumerableUpgradeable.sol/IERC721EnumerableUpgradeable.dbg.json +4 -0
  47. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721EnumerableUpgradeable.sol/IERC721EnumerableUpgradeable.json +352 -0
  48. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721MetadataUpgradeable.sol/IERC721MetadataUpgradeable.dbg.json +4 -0
  49. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721MetadataUpgradeable.sol/IERC721MetadataUpgradeable.json +341 -0
  50. package/artifacts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.dbg.json +4 -0
  51. package/artifacts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.json +10 -0
  52. package/artifacts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.dbg.json +4 -0
  53. package/artifacts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.json +24 -0
  54. package/artifacts/@openzeppelin/contracts-upgradeable/utils/CountersUpgradeable.sol/CountersUpgradeable.dbg.json +4 -0
  55. package/artifacts/@openzeppelin/contracts-upgradeable/utils/CountersUpgradeable.sol/CountersUpgradeable.json +10 -0
  56. package/artifacts/@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol/StorageSlotUpgradeable.dbg.json +4 -0
  57. package/artifacts/@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol/StorageSlotUpgradeable.json +10 -0
  58. package/artifacts/@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol/StringsUpgradeable.dbg.json +4 -0
  59. package/artifacts/@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol/StringsUpgradeable.json +10 -0
  60. package/artifacts/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol/ERC165Upgradeable.dbg.json +4 -0
  61. package/artifacts/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol/ERC165Upgradeable.json +43 -0
  62. package/artifacts/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol/IERC165Upgradeable.dbg.json +4 -0
  63. package/artifacts/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol/IERC165Upgradeable.json +30 -0
  64. package/artifacts/@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol/MathUpgradeable.dbg.json +4 -0
  65. package/artifacts/@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol/MathUpgradeable.json +10 -0
  66. package/artifacts/@openzeppelin/contracts-upgradeable/utils/math/SignedMathUpgradeable.sol/SignedMathUpgradeable.dbg.json +4 -0
  67. package/artifacts/@openzeppelin/contracts-upgradeable/utils/math/SignedMathUpgradeable.sol/SignedMathUpgradeable.json +10 -0
  68. package/artifacts/build-info/3b73b26b5bedaeb08a2c2823a85a9eb7.json +1 -0
  69. package/artifacts/build-info/5c571e0d4e969428dca2c8e1dbdb7c69.json +1 -0
  70. package/artifacts/build-info/b6798c83bba51d6a98d799cc7723db38.json +1 -0
  71. package/artifacts/contracts/CROWD.sol/CROWD.dbg.json +4 -0
  72. package/artifacts/contracts/CROWD.sol/CROWD.json +413 -0
  73. package/artifacts/contracts/CUSDT.sol/CUSDT.dbg.json +4 -0
  74. package/artifacts/contracts/CUSDT.sol/CUSDT.json +413 -0
  75. package/artifacts/contracts/NFT.sol/NFT.dbg.json +4 -0
  76. package/artifacts/contracts/NFT.sol/NFT.json +1158 -0
  77. package/artifacts/contracts/NFTFounder.sol/NFTFounder.dbg.json +4 -0
  78. package/artifacts/contracts/NFTFounder.sol/NFTFounder.json +889 -0
  79. package/artifacts/contracts/NFTGenesis.sol/NFTGenesis.dbg.json +4 -0
  80. package/artifacts/contracts/NFTGenesis.sol/NFTGenesis.json +1111 -0
  81. package/artifacts/contracts/Network.sol/Network.dbg.json +4 -0
  82. package/artifacts/contracts/Network.sol/Network.json +1218 -0
  83. package/artifacts/contracts/Swap.sol/Swap.dbg.json +4 -0
  84. package/artifacts/contracts/Swap.sol/Swap.json +370 -0
  85. package/artifacts/contracts/USDT.sol/USDT.dbg.json +4 -0
  86. package/artifacts/contracts/USDT.sol/USDT.json +413 -0
  87. package/artifacts/contracts/lib/AccessControl.sol/AccessControl.dbg.json +4 -0
  88. package/artifacts/contracts/lib/AccessControl.sol/AccessControl.json +254 -0
  89. package/artifacts/contracts/lib/NFTGetter.sol/NFTGetter.dbg.json +4 -0
  90. package/artifacts/contracts/lib/NFTGetter.sol/NFTGetter.json +186 -0
  91. package/artifacts/contracts/lib/NFTHelpers.sol/NFTHelpers.dbg.json +4 -0
  92. package/artifacts/contracts/lib/NFTHelpers.sol/NFTHelpers.json +10 -0
  93. package/artifacts/contracts/lib/ValhallaBlackList.sol/ValhallaBlackList.dbg.json +4 -0
  94. package/artifacts/contracts/lib/ValhallaBlackList.sol/ValhallaBlackList.json +30 -0
  95. package/artifacts/contracts/lib/ValhallaPool.sol/ValhallaPool.dbg.json +4 -0
  96. package/artifacts/contracts/lib/ValhallaPool.sol/ValhallaPool.json +162 -0
  97. package/contracts/CROWD.sol +32 -0
  98. package/contracts/CUSDT.sol +32 -0
  99. package/contracts/NFT.sol +499 -0
  100. package/contracts/NFTFounder.sol +254 -0
  101. package/contracts/NFTGenesis.sol +337 -0
  102. package/contracts/Network.sol +503 -0
  103. package/contracts/Swap.sol +86 -0
  104. package/contracts/USDT.sol +32 -0
  105. package/contracts/lib/AccessControl.sol +35 -0
  106. package/contracts/lib/NFTGetter.sol +60 -0
  107. package/contracts/lib/NFTHelpers.sol +111 -0
  108. package/contracts/lib/ValhallaBlackList.sol +18 -0
  109. package/contracts/lib/ValhallaPool.sol +44 -0
  110. package/package.json +64 -0
  111. package/typechain-types/@openzeppelin/contracts/access/Ownable.ts +176 -0
  112. package/typechain-types/@openzeppelin/contracts/access/index.ts +4 -0
  113. package/typechain-types/@openzeppelin/contracts/index.ts +7 -0
  114. package/typechain-types/@openzeppelin/contracts/token/ERC20/ERC20.ts +464 -0
  115. package/typechain-types/@openzeppelin/contracts/token/ERC20/IERC20.ts +342 -0
  116. package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.ts +533 -0
  117. package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.ts +384 -0
  118. package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/index.ts +5 -0
  119. package/typechain-types/@openzeppelin/contracts/token/ERC20/index.ts +7 -0
  120. package/typechain-types/@openzeppelin/contracts/token/index.ts +5 -0
  121. package/typechain-types/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.ts +410 -0
  122. package/typechain-types/@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.ts +341 -0
  123. package/typechain-types/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.ts +188 -0
  124. package/typechain-types/@openzeppelin/contracts-upgradeable/access/index.ts +6 -0
  125. package/typechain-types/@openzeppelin/contracts-upgradeable/index.ts +15 -0
  126. package/typechain-types/@openzeppelin/contracts-upgradeable/interfaces/IERC1967Upgradeable.ts +115 -0
  127. package/typechain-types/@openzeppelin/contracts-upgradeable/interfaces/IERC4906Upgradeable.ts +597 -0
  128. package/typechain-types/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable.ts +87 -0
  129. package/typechain-types/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/index.ts +4 -0
  130. package/typechain-types/@openzeppelin/contracts-upgradeable/interfaces/index.ts +7 -0
  131. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.ts +127 -0
  132. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/ERC1967/index.ts +4 -0
  133. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable.ts +87 -0
  134. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/beacon/index.ts +4 -0
  135. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/index.ts +9 -0
  136. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.ts +69 -0
  137. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.ts +238 -0
  138. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts +5 -0
  139. package/typechain-types/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.ts +69 -0
  140. package/typechain-types/@openzeppelin/contracts-upgradeable/security/index.ts +4 -0
  141. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.ts +631 -0
  142. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721ReceiverUpgradeable.ts +126 -0
  143. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable.ts +559 -0
  144. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.ts +726 -0
  145. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.ts +669 -0
  146. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721EnumerableUpgradeable.ts +654 -0
  147. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721MetadataUpgradeable.ts +619 -0
  148. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/index.ts +7 -0
  149. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/index.ts +8 -0
  150. package/typechain-types/@openzeppelin/contracts-upgradeable/token/index.ts +5 -0
  151. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.ts +69 -0
  152. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/index.ts +6 -0
  153. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.ts +121 -0
  154. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.ts +103 -0
  155. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/introspection/index.ts +5 -0
  156. package/typechain-types/@openzeppelin/index.ts +7 -0
  157. package/typechain-types/common.ts +46 -0
  158. package/typechain-types/contracts/CROWD.ts +728 -0
  159. package/typechain-types/contracts/CUSDT.ts +728 -0
  160. package/typechain-types/contracts/NFT.ts +1979 -0
  161. package/typechain-types/contracts/NFTFounder.ts +1562 -0
  162. package/typechain-types/contracts/NFTGenesis.ts +1847 -0
  163. package/typechain-types/contracts/Network.ts +2094 -0
  164. package/typechain-types/contracts/Swap.ts +688 -0
  165. package/typechain-types/contracts/USDT.ts +728 -0
  166. package/typechain-types/contracts/index.ts +13 -0
  167. package/typechain-types/contracts/lib/AccessControl.ts +447 -0
  168. package/typechain-types/contracts/lib/NFTGetter.ts +404 -0
  169. package/typechain-types/contracts/lib/ValhallaBlackList.ts +105 -0
  170. package/typechain-types/contracts/lib/ValhallaPool.ts +257 -0
  171. package/typechain-types/contracts/lib/index.ts +7 -0
  172. package/typechain-types/factories/@openzeppelin/contracts/access/Ownable__factory.ts +78 -0
  173. package/typechain-types/factories/@openzeppelin/contracts/access/index.ts +4 -0
  174. package/typechain-types/factories/@openzeppelin/contracts/index.ts +5 -0
  175. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.ts +350 -0
  176. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.ts +206 -0
  177. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable__factory.ts +327 -0
  178. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts +248 -0
  179. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/index.ts +5 -0
  180. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/index.ts +6 -0
  181. package/typechain-types/factories/@openzeppelin/contracts/token/index.ts +4 -0
  182. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable__factory.ts +247 -0
  183. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable__factory.ts +202 -0
  184. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable__factory.ts +91 -0
  185. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/index.ts +6 -0
  186. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/index.ts +9 -0
  187. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/interfaces/IERC1967Upgradeable__factory.ts +71 -0
  188. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/interfaces/IERC4906Upgradeable__factory.ts +343 -0
  189. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable__factory.ts +43 -0
  190. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/index.ts +4 -0
  191. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/interfaces/index.ts +6 -0
  192. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable__factory.ts +88 -0
  193. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/ERC1967/index.ts +4 -0
  194. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable__factory.ts +39 -0
  195. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/beacon/index.ts +4 -0
  196. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/index.ts +6 -0
  197. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.ts +39 -0
  198. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable__factory.ts +128 -0
  199. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts +5 -0
  200. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable__factory.ts +43 -0
  201. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/security/index.ts +4 -0
  202. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable__factory.ts +406 -0
  203. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721ReceiverUpgradeable__factory.ts +64 -0
  204. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable__factory.ts +311 -0
  205. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable__factory.ts +429 -0
  206. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable__factory.ts +405 -0
  207. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721EnumerableUpgradeable__factory.ts +371 -0
  208. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721MetadataUpgradeable__factory.ts +360 -0
  209. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/index.ts +7 -0
  210. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/index.ts +7 -0
  211. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/index.ts +4 -0
  212. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable__factory.ts +39 -0
  213. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/index.ts +5 -0
  214. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable__factory.ts +58 -0
  215. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable__factory.ts +45 -0
  216. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/introspection/index.ts +5 -0
  217. package/typechain-types/factories/@openzeppelin/index.ts +5 -0
  218. package/typechain-types/factories/contracts/CROWD__factory.ts +459 -0
  219. package/typechain-types/factories/contracts/CUSDT__factory.ts +459 -0
  220. package/typechain-types/factories/contracts/NFTFounder__factory.ts +941 -0
  221. package/typechain-types/factories/contracts/NFTGenesis__factory.ts +1163 -0
  222. package/typechain-types/factories/contracts/NFT__factory.ts +1204 -0
  223. package/typechain-types/factories/contracts/Network__factory.ts +1267 -0
  224. package/typechain-types/factories/contracts/Swap__factory.ts +416 -0
  225. package/typechain-types/factories/contracts/USDT__factory.ts +459 -0
  226. package/typechain-types/factories/contracts/index.ts +12 -0
  227. package/typechain-types/factories/contracts/lib/AccessControl__factory.ts +269 -0
  228. package/typechain-types/factories/contracts/lib/NFTGetter__factory.ts +238 -0
  229. package/typechain-types/factories/contracts/lib/ValhallaBlackList__factory.ts +45 -0
  230. package/typechain-types/factories/contracts/lib/ValhallaPool__factory.ts +177 -0
  231. package/typechain-types/factories/contracts/lib/index.ts +7 -0
  232. package/typechain-types/factories/index.ts +5 -0
  233. package/typechain-types/hardhat.d.ts +375 -0
  234. package/typechain-types/index.ts +84 -0
@@ -0,0 +1,1218 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "Network",
4
+ "sourceName": "contracts/Network.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "stateMutability": "nonpayable",
9
+ "type": "constructor"
10
+ },
11
+ {
12
+ "anonymous": false,
13
+ "inputs": [
14
+ {
15
+ "indexed": false,
16
+ "internalType": "address",
17
+ "name": "previousAdmin",
18
+ "type": "address"
19
+ },
20
+ {
21
+ "indexed": false,
22
+ "internalType": "address",
23
+ "name": "newAdmin",
24
+ "type": "address"
25
+ }
26
+ ],
27
+ "name": "AdminChanged",
28
+ "type": "event"
29
+ },
30
+ {
31
+ "anonymous": false,
32
+ "inputs": [
33
+ {
34
+ "indexed": true,
35
+ "internalType": "address",
36
+ "name": "beacon",
37
+ "type": "address"
38
+ }
39
+ ],
40
+ "name": "BeaconUpgraded",
41
+ "type": "event"
42
+ },
43
+ {
44
+ "anonymous": false,
45
+ "inputs": [
46
+ {
47
+ "indexed": true,
48
+ "internalType": "address",
49
+ "name": "_target",
50
+ "type": "address"
51
+ }
52
+ ],
53
+ "name": "Blacklisted",
54
+ "type": "event"
55
+ },
56
+ {
57
+ "anonymous": false,
58
+ "inputs": [
59
+ {
60
+ "indexed": true,
61
+ "internalType": "address",
62
+ "name": "_from",
63
+ "type": "address"
64
+ },
65
+ {
66
+ "indexed": false,
67
+ "internalType": "uint256",
68
+ "name": "value",
69
+ "type": "uint256"
70
+ }
71
+ ],
72
+ "name": "ClaimRankReward",
73
+ "type": "event"
74
+ },
75
+ {
76
+ "anonymous": false,
77
+ "inputs": [
78
+ {
79
+ "indexed": true,
80
+ "internalType": "address",
81
+ "name": "_from",
82
+ "type": "address"
83
+ },
84
+ {
85
+ "indexed": false,
86
+ "internalType": "uint256",
87
+ "name": "value",
88
+ "type": "uint256"
89
+ }
90
+ ],
91
+ "name": "ClaimReward",
92
+ "type": "event"
93
+ },
94
+ {
95
+ "anonymous": false,
96
+ "inputs": [
97
+ {
98
+ "indexed": false,
99
+ "internalType": "uint8",
100
+ "name": "version",
101
+ "type": "uint8"
102
+ }
103
+ ],
104
+ "name": "Initialized",
105
+ "type": "event"
106
+ },
107
+ {
108
+ "anonymous": false,
109
+ "inputs": [
110
+ {
111
+ "indexed": true,
112
+ "internalType": "uint256",
113
+ "name": "_timestamp",
114
+ "type": "uint256"
115
+ }
116
+ ],
117
+ "name": "RankRewardClosed",
118
+ "type": "event"
119
+ },
120
+ {
121
+ "anonymous": false,
122
+ "inputs": [
123
+ {
124
+ "indexed": true,
125
+ "internalType": "uint256",
126
+ "name": "_timestamp",
127
+ "type": "uint256"
128
+ }
129
+ ],
130
+ "name": "RankRewardOpened",
131
+ "type": "event"
132
+ },
133
+ {
134
+ "anonymous": false,
135
+ "inputs": [
136
+ {
137
+ "indexed": true,
138
+ "internalType": "address",
139
+ "name": "_from",
140
+ "type": "address"
141
+ },
142
+ {
143
+ "indexed": false,
144
+ "internalType": "enum Rank",
145
+ "name": "rank",
146
+ "type": "uint8"
147
+ }
148
+ ],
149
+ "name": "RankUpgraded",
150
+ "type": "event"
151
+ },
152
+ {
153
+ "anonymous": false,
154
+ "inputs": [
155
+ {
156
+ "indexed": true,
157
+ "internalType": "address",
158
+ "name": "_from",
159
+ "type": "address"
160
+ },
161
+ {
162
+ "indexed": true,
163
+ "internalType": "address",
164
+ "name": "referrer",
165
+ "type": "address"
166
+ }
167
+ ],
168
+ "name": "Registration",
169
+ "type": "event"
170
+ },
171
+ {
172
+ "anonymous": false,
173
+ "inputs": [
174
+ {
175
+ "indexed": true,
176
+ "internalType": "bytes32",
177
+ "name": "role",
178
+ "type": "bytes32"
179
+ },
180
+ {
181
+ "indexed": true,
182
+ "internalType": "bytes32",
183
+ "name": "previousAdminRole",
184
+ "type": "bytes32"
185
+ },
186
+ {
187
+ "indexed": true,
188
+ "internalType": "bytes32",
189
+ "name": "newAdminRole",
190
+ "type": "bytes32"
191
+ }
192
+ ],
193
+ "name": "RoleAdminChanged",
194
+ "type": "event"
195
+ },
196
+ {
197
+ "anonymous": false,
198
+ "inputs": [
199
+ {
200
+ "indexed": true,
201
+ "internalType": "bytes32",
202
+ "name": "role",
203
+ "type": "bytes32"
204
+ },
205
+ {
206
+ "indexed": true,
207
+ "internalType": "address",
208
+ "name": "account",
209
+ "type": "address"
210
+ },
211
+ {
212
+ "indexed": true,
213
+ "internalType": "address",
214
+ "name": "sender",
215
+ "type": "address"
216
+ }
217
+ ],
218
+ "name": "RoleGranted",
219
+ "type": "event"
220
+ },
221
+ {
222
+ "anonymous": false,
223
+ "inputs": [
224
+ {
225
+ "indexed": true,
226
+ "internalType": "bytes32",
227
+ "name": "role",
228
+ "type": "bytes32"
229
+ },
230
+ {
231
+ "indexed": true,
232
+ "internalType": "address",
233
+ "name": "account",
234
+ "type": "address"
235
+ },
236
+ {
237
+ "indexed": true,
238
+ "internalType": "address",
239
+ "name": "sender",
240
+ "type": "address"
241
+ }
242
+ ],
243
+ "name": "RoleRevoked",
244
+ "type": "event"
245
+ },
246
+ {
247
+ "anonymous": false,
248
+ "inputs": [
249
+ {
250
+ "indexed": true,
251
+ "internalType": "address",
252
+ "name": "implementation",
253
+ "type": "address"
254
+ }
255
+ ],
256
+ "name": "Upgraded",
257
+ "type": "event"
258
+ },
259
+ {
260
+ "inputs": [],
261
+ "name": "DEFAULT_ADMIN_ROLE",
262
+ "outputs": [
263
+ {
264
+ "internalType": "bytes32",
265
+ "name": "",
266
+ "type": "bytes32"
267
+ }
268
+ ],
269
+ "stateMutability": "view",
270
+ "type": "function"
271
+ },
272
+ {
273
+ "inputs": [],
274
+ "name": "GENESIS_POOL_KEY",
275
+ "outputs": [
276
+ {
277
+ "internalType": "bytes32",
278
+ "name": "",
279
+ "type": "bytes32"
280
+ }
281
+ ],
282
+ "stateMutability": "view",
283
+ "type": "function"
284
+ },
285
+ {
286
+ "inputs": [],
287
+ "name": "GLOBAL_POOL_KEY",
288
+ "outputs": [
289
+ {
290
+ "internalType": "bytes32",
291
+ "name": "",
292
+ "type": "bytes32"
293
+ }
294
+ ],
295
+ "stateMutability": "view",
296
+ "type": "function"
297
+ },
298
+ {
299
+ "inputs": [],
300
+ "name": "IPO_POOL_KEY",
301
+ "outputs": [
302
+ {
303
+ "internalType": "bytes32",
304
+ "name": "",
305
+ "type": "bytes32"
306
+ }
307
+ ],
308
+ "stateMutability": "view",
309
+ "type": "function"
310
+ },
311
+ {
312
+ "inputs": [],
313
+ "name": "RESERVED_POOL_KEY",
314
+ "outputs": [
315
+ {
316
+ "internalType": "bytes32",
317
+ "name": "",
318
+ "type": "bytes32"
319
+ }
320
+ ],
321
+ "stateMutability": "view",
322
+ "type": "function"
323
+ },
324
+ {
325
+ "inputs": [],
326
+ "name": "STAFF_ROLE",
327
+ "outputs": [
328
+ {
329
+ "internalType": "bytes32",
330
+ "name": "",
331
+ "type": "bytes32"
332
+ }
333
+ ],
334
+ "stateMutability": "view",
335
+ "type": "function"
336
+ },
337
+ {
338
+ "inputs": [],
339
+ "name": "UPGRADER_ROLE",
340
+ "outputs": [
341
+ {
342
+ "internalType": "bytes32",
343
+ "name": "",
344
+ "type": "bytes32"
345
+ }
346
+ ],
347
+ "stateMutability": "view",
348
+ "type": "function"
349
+ },
350
+ {
351
+ "inputs": [
352
+ {
353
+ "internalType": "address",
354
+ "name": "",
355
+ "type": "address"
356
+ }
357
+ ],
358
+ "name": "accountMap",
359
+ "outputs": [
360
+ {
361
+ "internalType": "bool",
362
+ "name": "isRegistered",
363
+ "type": "bool"
364
+ },
365
+ {
366
+ "internalType": "bool",
367
+ "name": "isImported",
368
+ "type": "bool"
369
+ },
370
+ {
371
+ "internalType": "enum Rank",
372
+ "name": "rank",
373
+ "type": "uint8"
374
+ },
375
+ {
376
+ "internalType": "address",
377
+ "name": "referrer",
378
+ "type": "address"
379
+ },
380
+ {
381
+ "internalType": "uint256",
382
+ "name": "downlineCount",
383
+ "type": "uint256"
384
+ },
385
+ {
386
+ "internalType": "uint256",
387
+ "name": "directDownlineCount",
388
+ "type": "uint256"
389
+ },
390
+ {
391
+ "internalType": "uint256",
392
+ "name": "rankUpdatedAt",
393
+ "type": "uint256"
394
+ },
395
+ {
396
+ "internalType": "uint256",
397
+ "name": "rankRewardClaimedAt",
398
+ "type": "uint256"
399
+ }
400
+ ],
401
+ "stateMutability": "view",
402
+ "type": "function"
403
+ },
404
+ {
405
+ "inputs": [
406
+ {
407
+ "internalType": "address",
408
+ "name": "addr",
409
+ "type": "address"
410
+ }
411
+ ],
412
+ "name": "blackListAddress",
413
+ "outputs": [],
414
+ "stateMutability": "nonpayable",
415
+ "type": "function"
416
+ },
417
+ {
418
+ "inputs": [
419
+ {
420
+ "internalType": "address",
421
+ "name": "",
422
+ "type": "address"
423
+ }
424
+ ],
425
+ "name": "blacklistedAddressMap",
426
+ "outputs": [
427
+ {
428
+ "internalType": "bool",
429
+ "name": "",
430
+ "type": "bool"
431
+ }
432
+ ],
433
+ "stateMutability": "view",
434
+ "type": "function"
435
+ },
436
+ {
437
+ "inputs": [
438
+ {
439
+ "internalType": "uint256",
440
+ "name": "_ipoPol",
441
+ "type": "uint256"
442
+ },
443
+ {
444
+ "internalType": "uint256",
445
+ "name": "_referalPol",
446
+ "type": "uint256"
447
+ }
448
+ ],
449
+ "name": "changeFeeRegister",
450
+ "outputs": [],
451
+ "stateMutability": "nonpayable",
452
+ "type": "function"
453
+ },
454
+ {
455
+ "inputs": [],
456
+ "name": "claimRankReward",
457
+ "outputs": [],
458
+ "stateMutability": "nonpayable",
459
+ "type": "function"
460
+ },
461
+ {
462
+ "inputs": [],
463
+ "name": "claimReward",
464
+ "outputs": [],
465
+ "stateMutability": "nonpayable",
466
+ "type": "function"
467
+ },
468
+ {
469
+ "inputs": [],
470
+ "name": "deployedAtBlock",
471
+ "outputs": [
472
+ {
473
+ "internalType": "uint256",
474
+ "name": "",
475
+ "type": "uint256"
476
+ }
477
+ ],
478
+ "stateMutability": "view",
479
+ "type": "function"
480
+ },
481
+ {
482
+ "inputs": [
483
+ {
484
+ "internalType": "address",
485
+ "name": "",
486
+ "type": "address"
487
+ }
488
+ ],
489
+ "name": "directCommonRankMap",
490
+ "outputs": [
491
+ {
492
+ "internalType": "uint256",
493
+ "name": "",
494
+ "type": "uint256"
495
+ }
496
+ ],
497
+ "stateMutability": "view",
498
+ "type": "function"
499
+ },
500
+ {
501
+ "inputs": [
502
+ {
503
+ "internalType": "address",
504
+ "name": "",
505
+ "type": "address"
506
+ }
507
+ ],
508
+ "name": "directEpicRankMap",
509
+ "outputs": [
510
+ {
511
+ "internalType": "uint256",
512
+ "name": "",
513
+ "type": "uint256"
514
+ }
515
+ ],
516
+ "stateMutability": "view",
517
+ "type": "function"
518
+ },
519
+ {
520
+ "inputs": [
521
+ {
522
+ "internalType": "address",
523
+ "name": "",
524
+ "type": "address"
525
+ }
526
+ ],
527
+ "name": "directLegendRankMap",
528
+ "outputs": [
529
+ {
530
+ "internalType": "uint256",
531
+ "name": "",
532
+ "type": "uint256"
533
+ }
534
+ ],
535
+ "stateMutability": "view",
536
+ "type": "function"
537
+ },
538
+ {
539
+ "inputs": [
540
+ {
541
+ "internalType": "address",
542
+ "name": "",
543
+ "type": "address"
544
+ }
545
+ ],
546
+ "name": "directRareRankMap",
547
+ "outputs": [
548
+ {
549
+ "internalType": "uint256",
550
+ "name": "",
551
+ "type": "uint256"
552
+ }
553
+ ],
554
+ "stateMutability": "view",
555
+ "type": "function"
556
+ },
557
+ {
558
+ "inputs": [
559
+ {
560
+ "internalType": "address",
561
+ "name": "",
562
+ "type": "address"
563
+ }
564
+ ],
565
+ "name": "directSuperLegendRankMap",
566
+ "outputs": [
567
+ {
568
+ "internalType": "uint256",
569
+ "name": "",
570
+ "type": "uint256"
571
+ }
572
+ ],
573
+ "stateMutability": "view",
574
+ "type": "function"
575
+ },
576
+ {
577
+ "inputs": [
578
+ {
579
+ "internalType": "address",
580
+ "name": "",
581
+ "type": "address"
582
+ }
583
+ ],
584
+ "name": "directSuperRareRankMap",
585
+ "outputs": [
586
+ {
587
+ "internalType": "uint256",
588
+ "name": "",
589
+ "type": "uint256"
590
+ }
591
+ ],
592
+ "stateMutability": "view",
593
+ "type": "function"
594
+ },
595
+ {
596
+ "inputs": [],
597
+ "name": "feeReceiverAddress",
598
+ "outputs": [
599
+ {
600
+ "internalType": "address",
601
+ "name": "",
602
+ "type": "address"
603
+ }
604
+ ],
605
+ "stateMutability": "view",
606
+ "type": "function"
607
+ },
608
+ {
609
+ "inputs": [],
610
+ "name": "feeReceiverAddress2",
611
+ "outputs": [
612
+ {
613
+ "internalType": "address",
614
+ "name": "",
615
+ "type": "address"
616
+ }
617
+ ],
618
+ "stateMutability": "view",
619
+ "type": "function"
620
+ },
621
+ {
622
+ "inputs": [],
623
+ "name": "getGenesisPool",
624
+ "outputs": [
625
+ {
626
+ "components": [
627
+ {
628
+ "internalType": "uint256",
629
+ "name": "claimable",
630
+ "type": "uint256"
631
+ },
632
+ {
633
+ "internalType": "uint256",
634
+ "name": "valueLeft",
635
+ "type": "uint256"
636
+ }
637
+ ],
638
+ "internalType": "struct PoolType",
639
+ "name": "",
640
+ "type": "tuple"
641
+ }
642
+ ],
643
+ "stateMutability": "view",
644
+ "type": "function"
645
+ },
646
+ {
647
+ "inputs": [],
648
+ "name": "getGlobalPool",
649
+ "outputs": [
650
+ {
651
+ "components": [
652
+ {
653
+ "internalType": "uint256",
654
+ "name": "claimable",
655
+ "type": "uint256"
656
+ },
657
+ {
658
+ "internalType": "uint256",
659
+ "name": "valueLeft",
660
+ "type": "uint256"
661
+ }
662
+ ],
663
+ "internalType": "struct PoolType",
664
+ "name": "",
665
+ "type": "tuple"
666
+ }
667
+ ],
668
+ "stateMutability": "view",
669
+ "type": "function"
670
+ },
671
+ {
672
+ "inputs": [],
673
+ "name": "getIpoPool",
674
+ "outputs": [
675
+ {
676
+ "components": [
677
+ {
678
+ "internalType": "uint256",
679
+ "name": "claimable",
680
+ "type": "uint256"
681
+ },
682
+ {
683
+ "internalType": "uint256",
684
+ "name": "valueLeft",
685
+ "type": "uint256"
686
+ }
687
+ ],
688
+ "internalType": "struct PoolType",
689
+ "name": "",
690
+ "type": "tuple"
691
+ }
692
+ ],
693
+ "stateMutability": "view",
694
+ "type": "function"
695
+ },
696
+ {
697
+ "inputs": [
698
+ {
699
+ "internalType": "address",
700
+ "name": "_address",
701
+ "type": "address"
702
+ }
703
+ ],
704
+ "name": "getMyRankReward",
705
+ "outputs": [
706
+ {
707
+ "internalType": "uint256",
708
+ "name": "",
709
+ "type": "uint256"
710
+ }
711
+ ],
712
+ "stateMutability": "view",
713
+ "type": "function"
714
+ },
715
+ {
716
+ "inputs": [],
717
+ "name": "getRegistrationFee",
718
+ "outputs": [
719
+ {
720
+ "internalType": "uint256",
721
+ "name": "",
722
+ "type": "uint256"
723
+ }
724
+ ],
725
+ "stateMutability": "view",
726
+ "type": "function"
727
+ },
728
+ {
729
+ "inputs": [
730
+ {
731
+ "internalType": "bytes32",
732
+ "name": "role",
733
+ "type": "bytes32"
734
+ }
735
+ ],
736
+ "name": "getRoleAdmin",
737
+ "outputs": [
738
+ {
739
+ "internalType": "bytes32",
740
+ "name": "",
741
+ "type": "bytes32"
742
+ }
743
+ ],
744
+ "stateMutability": "view",
745
+ "type": "function"
746
+ },
747
+ {
748
+ "inputs": [],
749
+ "name": "gnetERC20",
750
+ "outputs": [
751
+ {
752
+ "internalType": "contract CROWD",
753
+ "name": "",
754
+ "type": "address"
755
+ }
756
+ ],
757
+ "stateMutability": "view",
758
+ "type": "function"
759
+ },
760
+ {
761
+ "inputs": [
762
+ {
763
+ "internalType": "bytes32",
764
+ "name": "role",
765
+ "type": "bytes32"
766
+ },
767
+ {
768
+ "internalType": "address",
769
+ "name": "account",
770
+ "type": "address"
771
+ }
772
+ ],
773
+ "name": "grantRole",
774
+ "outputs": [],
775
+ "stateMutability": "nonpayable",
776
+ "type": "function"
777
+ },
778
+ {
779
+ "inputs": [
780
+ {
781
+ "internalType": "bytes32",
782
+ "name": "role",
783
+ "type": "bytes32"
784
+ },
785
+ {
786
+ "internalType": "address",
787
+ "name": "account",
788
+ "type": "address"
789
+ }
790
+ ],
791
+ "name": "hasRole",
792
+ "outputs": [
793
+ {
794
+ "internalType": "bool",
795
+ "name": "",
796
+ "type": "bool"
797
+ }
798
+ ],
799
+ "stateMutability": "view",
800
+ "type": "function"
801
+ },
802
+ {
803
+ "inputs": [
804
+ {
805
+ "internalType": "address",
806
+ "name": "_address",
807
+ "type": "address"
808
+ },
809
+ {
810
+ "internalType": "address",
811
+ "name": "_referrer",
812
+ "type": "address"
813
+ }
814
+ ],
815
+ "name": "importAccount",
816
+ "outputs": [],
817
+ "stateMutability": "nonpayable",
818
+ "type": "function"
819
+ },
820
+ {
821
+ "inputs": [
822
+ {
823
+ "internalType": "address",
824
+ "name": "_admin",
825
+ "type": "address"
826
+ },
827
+ {
828
+ "internalType": "address[]",
829
+ "name": "root_address",
830
+ "type": "address[]"
831
+ },
832
+ {
833
+ "internalType": "address",
834
+ "name": "_feeReceiverAddress",
835
+ "type": "address"
836
+ },
837
+ {
838
+ "internalType": "address",
839
+ "name": "_feeReceiverAddress2",
840
+ "type": "address"
841
+ },
842
+ {
843
+ "internalType": "address",
844
+ "name": "_reserveAddress",
845
+ "type": "address"
846
+ },
847
+ {
848
+ "internalType": "uint256",
849
+ "name": "_ipoPoolDistribution",
850
+ "type": "uint256"
851
+ },
852
+ {
853
+ "internalType": "uint256",
854
+ "name": "_referrerPoolDistribution",
855
+ "type": "uint256"
856
+ }
857
+ ],
858
+ "name": "initialize",
859
+ "outputs": [],
860
+ "stateMutability": "nonpayable",
861
+ "type": "function"
862
+ },
863
+ {
864
+ "inputs": [],
865
+ "name": "isRankRewardClaimable",
866
+ "outputs": [
867
+ {
868
+ "internalType": "bool",
869
+ "name": "",
870
+ "type": "bool"
871
+ }
872
+ ],
873
+ "stateMutability": "view",
874
+ "type": "function"
875
+ },
876
+ {
877
+ "inputs": [],
878
+ "name": "nftFounder",
879
+ "outputs": [
880
+ {
881
+ "internalType": "contract NFTFounder",
882
+ "name": "",
883
+ "type": "address"
884
+ }
885
+ ],
886
+ "stateMutability": "view",
887
+ "type": "function"
888
+ },
889
+ {
890
+ "inputs": [],
891
+ "name": "nftGetter",
892
+ "outputs": [
893
+ {
894
+ "internalType": "contract NFTGetter",
895
+ "name": "",
896
+ "type": "address"
897
+ }
898
+ ],
899
+ "stateMutability": "view",
900
+ "type": "function"
901
+ },
902
+ {
903
+ "inputs": [
904
+ {
905
+ "internalType": "bytes32",
906
+ "name": "",
907
+ "type": "bytes32"
908
+ }
909
+ ],
910
+ "name": "poolMap",
911
+ "outputs": [
912
+ {
913
+ "internalType": "uint256",
914
+ "name": "claimable",
915
+ "type": "uint256"
916
+ },
917
+ {
918
+ "internalType": "uint256",
919
+ "name": "valueLeft",
920
+ "type": "uint256"
921
+ }
922
+ ],
923
+ "stateMutability": "view",
924
+ "type": "function"
925
+ },
926
+ {
927
+ "inputs": [],
928
+ "name": "proxiableUUID",
929
+ "outputs": [
930
+ {
931
+ "internalType": "bytes32",
932
+ "name": "",
933
+ "type": "bytes32"
934
+ }
935
+ ],
936
+ "stateMutability": "view",
937
+ "type": "function"
938
+ },
939
+ {
940
+ "inputs": [],
941
+ "name": "rankDistribution",
942
+ "outputs": [
943
+ {
944
+ "internalType": "uint256",
945
+ "name": "common",
946
+ "type": "uint256"
947
+ },
948
+ {
949
+ "internalType": "uint256",
950
+ "name": "rare",
951
+ "type": "uint256"
952
+ },
953
+ {
954
+ "internalType": "uint256",
955
+ "name": "superRare",
956
+ "type": "uint256"
957
+ },
958
+ {
959
+ "internalType": "uint256",
960
+ "name": "epic",
961
+ "type": "uint256"
962
+ },
963
+ {
964
+ "internalType": "uint256",
965
+ "name": "legend",
966
+ "type": "uint256"
967
+ },
968
+ {
969
+ "internalType": "uint256",
970
+ "name": "superLegend",
971
+ "type": "uint256"
972
+ }
973
+ ],
974
+ "stateMutability": "view",
975
+ "type": "function"
976
+ },
977
+ {
978
+ "inputs": [],
979
+ "name": "rankRewardClaimableAt",
980
+ "outputs": [
981
+ {
982
+ "internalType": "uint256",
983
+ "name": "",
984
+ "type": "uint256"
985
+ }
986
+ ],
987
+ "stateMutability": "view",
988
+ "type": "function"
989
+ },
990
+ {
991
+ "inputs": [
992
+ {
993
+ "internalType": "address",
994
+ "name": "referrer",
995
+ "type": "address"
996
+ }
997
+ ],
998
+ "name": "register",
999
+ "outputs": [],
1000
+ "stateMutability": "nonpayable",
1001
+ "type": "function"
1002
+ },
1003
+ {
1004
+ "inputs": [
1005
+ {
1006
+ "internalType": "bytes32",
1007
+ "name": "role",
1008
+ "type": "bytes32"
1009
+ },
1010
+ {
1011
+ "internalType": "address",
1012
+ "name": "account",
1013
+ "type": "address"
1014
+ }
1015
+ ],
1016
+ "name": "renounceRole",
1017
+ "outputs": [],
1018
+ "stateMutability": "nonpayable",
1019
+ "type": "function"
1020
+ },
1021
+ {
1022
+ "inputs": [],
1023
+ "name": "reserveAddress",
1024
+ "outputs": [
1025
+ {
1026
+ "internalType": "address",
1027
+ "name": "",
1028
+ "type": "address"
1029
+ }
1030
+ ],
1031
+ "stateMutability": "view",
1032
+ "type": "function"
1033
+ },
1034
+ {
1035
+ "inputs": [
1036
+ {
1037
+ "internalType": "bytes32",
1038
+ "name": "role",
1039
+ "type": "bytes32"
1040
+ },
1041
+ {
1042
+ "internalType": "address",
1043
+ "name": "account",
1044
+ "type": "address"
1045
+ }
1046
+ ],
1047
+ "name": "revokeRole",
1048
+ "outputs": [],
1049
+ "stateMutability": "nonpayable",
1050
+ "type": "function"
1051
+ },
1052
+ {
1053
+ "inputs": [
1054
+ {
1055
+ "internalType": "address",
1056
+ "name": "",
1057
+ "type": "address"
1058
+ }
1059
+ ],
1060
+ "name": "rewardMap",
1061
+ "outputs": [
1062
+ {
1063
+ "internalType": "uint256",
1064
+ "name": "",
1065
+ "type": "uint256"
1066
+ }
1067
+ ],
1068
+ "stateMutability": "view",
1069
+ "type": "function"
1070
+ },
1071
+ {
1072
+ "inputs": [
1073
+ {
1074
+ "internalType": "contract CROWD",
1075
+ "name": "_gnetERC20",
1076
+ "type": "address"
1077
+ }
1078
+ ],
1079
+ "name": "setCRWDAddress",
1080
+ "outputs": [],
1081
+ "stateMutability": "nonpayable",
1082
+ "type": "function"
1083
+ },
1084
+ {
1085
+ "inputs": [
1086
+ {
1087
+ "internalType": "contract ERC20",
1088
+ "name": "_usdtERC20",
1089
+ "type": "address"
1090
+ }
1091
+ ],
1092
+ "name": "setCUSDAddress",
1093
+ "outputs": [],
1094
+ "stateMutability": "nonpayable",
1095
+ "type": "function"
1096
+ },
1097
+ {
1098
+ "inputs": [
1099
+ {
1100
+ "internalType": "contract NFTFounder",
1101
+ "name": "_nftFounder",
1102
+ "type": "address"
1103
+ }
1104
+ ],
1105
+ "name": "setNFTFounderAddress",
1106
+ "outputs": [],
1107
+ "stateMutability": "nonpayable",
1108
+ "type": "function"
1109
+ },
1110
+ {
1111
+ "inputs": [
1112
+ {
1113
+ "internalType": "contract NFTGetter",
1114
+ "name": "_nftGetter",
1115
+ "type": "address"
1116
+ }
1117
+ ],
1118
+ "name": "setNftAddress",
1119
+ "outputs": [],
1120
+ "stateMutability": "nonpayable",
1121
+ "type": "function"
1122
+ },
1123
+ {
1124
+ "inputs": [],
1125
+ "name": "startClaimingRankReward",
1126
+ "outputs": [],
1127
+ "stateMutability": "nonpayable",
1128
+ "type": "function"
1129
+ },
1130
+ {
1131
+ "inputs": [],
1132
+ "name": "stopClaimingRankReward",
1133
+ "outputs": [],
1134
+ "stateMutability": "nonpayable",
1135
+ "type": "function"
1136
+ },
1137
+ {
1138
+ "inputs": [
1139
+ {
1140
+ "internalType": "bytes4",
1141
+ "name": "interfaceId",
1142
+ "type": "bytes4"
1143
+ }
1144
+ ],
1145
+ "name": "supportsInterface",
1146
+ "outputs": [
1147
+ {
1148
+ "internalType": "bool",
1149
+ "name": "",
1150
+ "type": "bool"
1151
+ }
1152
+ ],
1153
+ "stateMutability": "view",
1154
+ "type": "function"
1155
+ },
1156
+ {
1157
+ "inputs": [
1158
+ {
1159
+ "internalType": "address",
1160
+ "name": "newImplementation",
1161
+ "type": "address"
1162
+ }
1163
+ ],
1164
+ "name": "upgradeTo",
1165
+ "outputs": [],
1166
+ "stateMutability": "nonpayable",
1167
+ "type": "function"
1168
+ },
1169
+ {
1170
+ "inputs": [
1171
+ {
1172
+ "internalType": "address",
1173
+ "name": "newImplementation",
1174
+ "type": "address"
1175
+ },
1176
+ {
1177
+ "internalType": "bytes",
1178
+ "name": "data",
1179
+ "type": "bytes"
1180
+ }
1181
+ ],
1182
+ "name": "upgradeToAndCall",
1183
+ "outputs": [],
1184
+ "stateMutability": "payable",
1185
+ "type": "function"
1186
+ },
1187
+ {
1188
+ "inputs": [],
1189
+ "name": "usdtERC20",
1190
+ "outputs": [
1191
+ {
1192
+ "internalType": "contract ERC20",
1193
+ "name": "",
1194
+ "type": "address"
1195
+ }
1196
+ ],
1197
+ "stateMutability": "view",
1198
+ "type": "function"
1199
+ },
1200
+ {
1201
+ "inputs": [
1202
+ {
1203
+ "internalType": "uint256",
1204
+ "name": "amount",
1205
+ "type": "uint256"
1206
+ }
1207
+ ],
1208
+ "name": "wdUSDT",
1209
+ "outputs": [],
1210
+ "stateMutability": "nonpayable",
1211
+ "type": "function"
1212
+ }
1213
+ ],
1214
+ "bytecode": "0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000e7565b600254610100900460ff1615620000935760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60025460ff90811614620000e5576002805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051614ce36200011f600039600081816114b6015281816114f60152818161205c0152818161209c015261212b0152614ce36000f3fe60806040526004361061036a5760003560e01c80637ca55ec4116101c6578063ba2d5095116100f7578063d547741f11610095578063f481e8631161006f578063f481e86314610c5e578063f72c0d8b14610c7f578063f79ed94b14610cb3578063fa2d9ff014610cd457600080fd5b8063d547741f14610bfc578063e961e1ff14610c1c578063ed65af7414610c3d57600080fd5b8063cb98f68e116100d1578063cb98f68e14610b2e578063cf1169e214610b5c578063d35cb1ad14610b7c578063d3f46b8b14610bda57600080fd5b8063ba2d509514610ab7578063c33e108f14610aeb578063c415bf3d14610b1957600080fd5b806398d41efb11610164578063a00d77401161013e578063a00d774014610a4d578063a217fddf14610a6d578063b25dd52914610a82578063b88a802f14610aa257600080fd5b806398d41efb14610a015780639a454b9914610a165780639db0f9e414610a2d57600080fd5b8063908fae0c116101a0578063908fae0c1461090157806391d1485414610921578063936d39d714610941578063951053a61461096257600080fd5b80637ca55ec41461087f57806383d44339146108a057806385290fa1146108cd57600080fd5b80633b0e0133116102a05780634f1ef2861161023e5780636ae994a7116102185780636ae994a7146107ce5780636c76716c146107f05780636dfab78e1461081e57806373c2fd231461085257600080fd5b80634f1ef2861461070757806352d1902d1461071a578063602674821461072f57600080fd5b80634420e4861161027a5780634420e4861461062257806344712a6c1461064257806344c94201146106c2578063471ac84e146106f057600080fd5b80633b0e0133146105cd5780633b477ed0146105ed5780634237ea8d1461060d57600080fd5b8063249a22e41161030d5780632f2ff15d116102e75780632f2ff15d1461053957806330cf4dc51461055957806336568abe1461058d5780633659cfe6146105ad57600080fd5b8063249a22e4146104bb57806326606fdf146104e9578063286e66bc1461050957600080fd5b80630b102d1a116103495780630b102d1a146104005780630defebeb146104225780631d069f181461046b578063248a9ca31461048b57600080fd5b8062d30e2f1461036f57806301ffc9a7146103ad5780630946e807146103dd575b600080fd5b34801561037b57600080fd5b5061011554610390906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156103b957600080fd5b506103cd6103c836600461441f565b610d57565b60405190151581526020016103a4565b3480156103e957600080fd5b506103f2610d8e565b6040519081526020016103a4565b34801561040c57600080fd5b5061042061041b36600461445e565b610da7565b005b34801561042e57600080fd5b5061045661043d36600461447b565b6000602081905290815260409020805460019091015482565b604080519283526020830191909152016103a4565b34801561047757600080fd5b506104206104863660046144a4565b610dfa565b34801561049757600080fd5b506103f26104a636600461447b565b60009081526067602052604090206001015490565b3480156104c757600080fd5b506103f26104d636600461445e565b6101046020526000908152604090205481565b3480156104f557600080fd5b50610420610504366004614524565b6110d9565b34801561051557600080fd5b506103cd61052436600461445e565b60016020526000908152604090205460ff1681565b34801561054557600080fd5b50610420610554366004614630565b611404565b34801561056557600080fd5b506103f27f07b941733a7a0fb95acb53f7ec363f2e58bcfffba15469eb7d5ade1ddbb3447481565b34801561059957600080fd5b506104206105a8366004614630565b61142e565b3480156105b957600080fd5b506104206105c836600461445e565b6114ac565b3480156105d957600080fd5b506104206105e836600461445e565b61158b565b3480156105f957600080fd5b5061042061060836600461447b565b6116cc565b34801561061957600080fd5b50610420611825565b34801561062e57600080fd5b5061042061063d36600461445e565b6119b5565b34801561064e57600080fd5b5060408051808201825260008082526020918201819052600080516020614c4e833981519152815281528151808301909252600080516020614be7833981519152548252600080516020614c8e83398151915254908201525b604080518251815260209283015192810192909252016103a4565b3480156106ce57600080fd5b506103f26106dd36600461445e565b6101006020526000908152604090205481565b3480156106fc57600080fd5b506103f26101085481565b610420610715366004614655565b612052565b34801561072657600080fd5b506103f261211e565b34801561073b57600080fd5b50604080518082018252600080825260209182018190527f791b07db9f5ba47b7333684f8aab1753657d4cf52dbb1ca2e58c7c7643deb25c8152815281518083019092527f7ae3c50dab2a4efefa12dcfbd46eb63dd82ec1805ae28aeb47fe2451bfc1cda95482527f7ae3c50dab2a4efefa12dcfbd46eb63dd82ec1805ae28aeb47fe2451bfc1cdaa54908201526106a7565b3480156107da57600080fd5b50610107546103cd90600160a01b900460ff1681565b3480156107fc57600080fd5b506103f261080b36600461445e565b6101036020526000908152604090205481565b34801561082a57600080fd5b506103f27fef78ff2707f55cf683ecba27f753a1f73d88a2972299daeedcdcce2c52b7821d81565b34801561085e57600080fd5b506103f261086d36600461445e565b60ff6020526000908152604090205481565b34801561088b57600080fd5b5061010654610390906001600160a01b031681565b3480156108ac57600080fd5b506103f26108bb36600461445e565b60fe6020526000908152604090205481565b3480156108d957600080fd5b506103f27f5620a1113a72b02a617976b3f6b15600dd7a8b3a916a9ca01e23119d989a054381565b34801561090d57600080fd5b5061042061091c36600461445e565b6121d1565b34801561092d57600080fd5b506103cd61093c366004614630565b61221b565b34801561094d57600080fd5b5061011254610390906001600160a01b031681565b34801561096e57600080fd5b50604080518082018252600080825260209182018190527fef78ff2707f55cf683ecba27f753a1f73d88a2972299daeedcdcce2c52b7821d8152815281518083019092527fe48cbce158a88b2ae025b935f2c891db41fa49d66e958301265adefc644e90755482527fe48cbce158a88b2ae025b935f2c891db41fa49d66e958301265adefc644e907654908201526106a7565b348015610a0d57600080fd5b50610420612246565b348015610a2257600080fd5b506103f26101095481565b348015610a3957600080fd5b506103f2610a4836600461445e565b6123e3565b348015610a5957600080fd5b50610420610a6836600461445e565b6126f2565b348015610a7957600080fd5b506103f2600081565b348015610a8e57600080fd5b50610420610a9d3660046146fd565b61273c565b348015610aae57600080fd5b50610420612770565b348015610ac357600080fd5b506103f27f791b07db9f5ba47b7333684f8aab1753657d4cf52dbb1ca2e58c7c7643deb25c81565b348015610af757600080fd5b506103f2610b0636600461445e565b6101016020526000908152604090205481565b348015610b2557600080fd5b506104206129f4565b348015610b3a57600080fd5b506103f2610b4936600461445e565b6101026020526000908152604090205481565b348015610b6857600080fd5b50610420610b7736600461445e565b613224565b348015610b8857600080fd5b5061010c5461010d5461010e5461010f546101105461011154610bad95949392919086565b604080519687526020870195909552938501929092526060840152608083015260a082015260c0016103a4565b348015610be657600080fd5b506103f2600080516020614c4e83398151915281565b348015610c0857600080fd5b50610420610c17366004614630565b61326e565b348015610c2857600080fd5b5061011354610390906001600160a01b031681565b348015610c4957600080fd5b5061011454610390906001600160a01b031681565b348015610c6a57600080fd5b5061010554610390906001600160a01b031681565b348015610c8b57600080fd5b506103f27f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e381565b348015610cbf57600080fd5b5061010754610390906001600160a01b031681565b348015610ce057600080fd5b50610d43610cef36600461445e565b60fd602052600090815260409020805460018201546002830154600384015460049094015460ff8085169561010086048216956201000081049092169463010000009092046001600160a01b031693919288565b6040516103a4989796959493929190614757565b60006001600160e01b03198216637965db0b60e01b1480610d8857506301ffc9a760e01b6001600160e01b03198316145b92915050565b600061010b5461010a54610da291906147bf565b905090565b610db260003361221b565b610dd75760405162461bcd60e51b8152600401610dce906147d2565b60405180910390fd5b61011280546001600160a01b0319166001600160a01b0392909216919091179055565b610e0560003361221b565b610e215760405162461bcd60e51b8152600401610dce906147d2565b6001600160a01b038216600090815260fd60205260409020805460ff1615610e8b5760405162461bcd60e51b815260206004820152601a60248201527f4164647265737320616c726561647920726567697374657265640000000000006044820152606401610dce565b6001600160a01b038216610ed45760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b2103932b332b93932b960811b6044820152606401610dce565b6001600160a01b038216600090815260fd602052604090205460ff16610f3c5760405162461bcd60e51b815260206004820152601d60248201527f52656665727265722073686f756c6420626520726567697374657265640000006044820152606401610dce565b6001600160a01b03821660009081526001602052604090205460ff1615610f9c5760405162461bcd60e51b8152602060048201526014602482015273149959995c9c995c88189b1858dadb1a5cdd195960621b6044820152606401610dce565b61010754600160a01b900460ff1615610fed5760405162461bcd60e51b8152602060048201526013602482015272149959da5cdd1c985d1a5bdb8818db1bdcd959606a1b6044820152606401610dce565b80546000600280840182905560ff196001600160a01b038616630100000081029190911662ffff01600160b81b031990941693909317600190811762ffff00191661010017855592825260fd602052604082200180549091906110519084906147bf565b9091555082905060005b600f8110156110a45761106d82613293565b6001600160a01b03918216600090815260fd602052604090205463010000009004909116908061109c81614809565b91505061105b565b50826001600160a01b0316846001600160a01b0316600080516020614c6e83398151915260405160405180910390a350505050565b600254610100900460ff16158080156110f95750600254600160ff909116105b806111135750303b158015611113575060025460ff166001145b6111765760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610dce565b6002805460ff191660011790558015611199576002805461ff0019166101001790555b6111a1613a58565b6111a9613a58565b6111b4600033613ac5565b6111de7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e333613ac5565b6111e9600089613ac5565b436101095561010a83905561010b82905561010580546001600160a01b03199081166001600160a01b0389811691821790935561010680548316898516908117909155610107805490931693881693909317909155600091825260fd6020526040808320805462ffff01600160b81b031990811660019081179092558385528285208054909116909117905551600080516020614c6e833981519152908390a36001600160a01b03808516600090815260fd6020526040808220805462ffff01600160b81b0319166001179055519091881690600080516020614c6e833981519152908390a36000805b88518110156113b25760008982815181106112f0576112f0614822565b6020908102919091018101516001600160a01b038116600090815260fd9092526040909120805460ff191660019081179091558b5191925090611334908490614838565b61133e9190614838565b6001600160a01b03828116600081815260fd60205260408082206001808201969096556002810195909555845462010000600160b81b031916630100000094891694850217909455925191929091600080516020614c6e8339815191529190a39150806113aa81614809565b9150506112d3565b505080156113fa576002805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b60008281526067602052604090206001015461141f81613b4b565b6114298383613ac5565b505050565b6001600160a01b038116331461149e5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610dce565b6114a88282613b55565b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036114f45760405162461bcd60e51b8152600401610dce9061484b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661153d600080516020614c07833981519152546001600160a01b031690565b6001600160a01b0316146115635760405162461bcd60e51b8152600401610dce90614897565b61156c81613bbc565b6040805160008082526020820190925261158891839190613c32565b50565b61159660003361221b565b6115b25760405162461bcd60e51b8152600401610dce906147d2565b336001600160a01b0382160361160a5760405162461bcd60e51b815260206004820152601d60248201527f596f752063616e6e6f7420626c61636b6c69737420796f757273656c660000006044820152606401610dce565b6001600160a01b03811661166a5760405162461bcd60e51b815260206004820152602160248201527f596f752063616e6e6f7420626c61636b6c6973742061646472657373207a65726044820152606f60f81b6064820152608401610dce565b611695816001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6040516001600160a01b038216907fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b85590600090a250565b6116d760003361221b565b6116f35760405162461bcd60e51b8152600401610dce906147d2565b610114546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa15801561173c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061176091906148e3565b8111156117af5760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e7420435553442062616c616e6365000000000000006044820152606401610dce565b6101145460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb906117e290339085906004016148fc565b6020604051808303816000875af1158015611801573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a89190614915565b61183060003361221b565b8061186057506118607f5620a1113a72b02a617976b3f6b15600dd7a8b3a916a9ca01e23119d989a05433361221b565b61187c5760405162461bcd60e51b8152600401610dce906147d2565b61010754600160a01b900460ff16156118c95760405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e481cdd185c9d1959608a1b6044820152606401610dce565b610107805460ff60a01b1916600160a01b1790554261010855600080516020614c4e8339815191526000908152602052600080516020614be78339815191528054600080516020614c8e8339815191528190556119269080614838565b81556101125460408051634237ea8d60e01b815290516001600160a01b0390921691634237ea8d9160048082019260009290919082900301818387803b15801561196f57600080fd5b505af1158015611983573d6000803e3d6000fd5b50506040514292507fe937b2648ad52d1aaf4f7765235791fc9a2fbe11dae61f84bc9f4f2dca491ee89150600090a250565b3360009081526001602081905260409091205460ff16151590036119eb5760405162461bcd60e51b8152600401610dce90614937565b60006119f5610d8e565b33600081815260fd60205260408082206101145491516370a0823160e01b8152600481019490945293945090916001600160a01b03909116906370a0823190602401602060405180830381865afa158015611a54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a7891906148e3565b610114549091506001600160a01b0316611ad45760405162461bcd60e51b815260206004820152601a60248201527f61646d696e206469646e27742073657420746f6b656e204552430000000000006044820152606401610dce565b82811015611b245760405162461bcd60e51b815260206004820152601860248201527f556e6d6174636820526567697374726174696f6e2046656500000000000000006044820152606401610dce565b815460ff1615611b765760405162461bcd60e51b815260206004820152601a60248201527f4164647265737320616c726561647920726567697374657265640000000000006044820152606401610dce565b6001600160a01b038416611bbf5760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b2103932b332b93932b960811b6044820152606401610dce565b6001600160a01b038416600090815260fd602052604090205460ff16611c275760405162461bcd60e51b815260206004820152601d60248201527f52656665727265722073686f756c6420626520726567697374657265640000006044820152606401610dce565b6001600160a01b03841660009081526001602052604090205460ff1615611c875760405162461bcd60e51b8152602060048201526014602482015273149959995c9c995c88189b1858dadb1a5cdd195960621b6044820152606401610dce565b61010754600160a01b900460ff1615611cd85760405162461bcd60e51b8152602060048201526013602482015272149959da5cdd1c985d1a5bdb8818db1bdcd959606a1b6044820152606401610dce565b815462ff000019600162ffff01600160b81b031990921663010000006001600160a01b03881690810260ff19169190911783179190911684556000600280860182905591815260fd602052604081209091018054909190611d3a9084906147bf565b909155505061010a54611d4c90613d9d565b6000611d5a61010b54613e06565b90506000606461010b546011611d709190614964565b611d7a919061497b565b9050611d8581613f9a565b611d8f8183614838565b91506000606461010b546003611da59190614964565b611daf919061497b565b610114546040516323b872dd60e01b8152336004820152306024820152604481018990529192506001600160a01b0316906323b872dd906064016020604051808303816000875af1158015611e08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e2c9190614915565b50610114546101155460405163a9059cbb60e01b81526001600160a01b039283169263a9059cbb92611e659291169085906004016148fc565b6020604051808303816000875af1158015611e84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea89190614915565b506101155460405163b25cc51b60e01b8152600481018390526001600160a01b039091169063b25cc51b90602401600060405180830381600087803b158015611ef057600080fd5b505af1158015611f04573d6000803e3d6000fd5b505050508083611f149190614838565b61011454610105549194506001600160a01b039081169163a9059cbb9116611f3d60028761497b565b6040518363ffffffff1660e01b8152600401611f5a9291906148fc565b6020604051808303816000875af1158015611f79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f9d9190614915565b5061011454610106546001600160a01b039182169163a9059cbb9116611fc460028761497b565b6040518363ffffffff1660e01b8152600401611fe19291906148fc565b6020604051808303816000875af1158015612000573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120249190614915565b506040516001600160a01b038816903390600080516020614c6e83398151915290600090a350505050505050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361209a5760405162461bcd60e51b8152600401610dce9061484b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166120e3600080516020614c07833981519152546001600160a01b031690565b6001600160a01b0316146121095760405162461bcd60e51b8152600401610dce90614897565b61211282613bbc565b6114a882826001613c32565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146121be5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610dce565b50600080516020614c0783398151915290565b6121dc60003361221b565b6121f85760405162461bcd60e51b8152600401610dce906147d2565b61011580546001600160a01b0319166001600160a01b0392909216919091179055565b60009182526067602090815260408084206001600160a01b0393909316845291905290205460ff1690565b61225160003361221b565b8061228157506122817f5620a1113a72b02a617976b3f6b15600dd7a8b3a916a9ca01e23119d989a05433361221b565b61229d5760405162461bcd60e51b8152600401610dce906147d2565b61010754600160a01b900460ff166122f75760405162461bcd60e51b815260206004820152601760248201527f52616e6b20726577617264206e6f7420737461727465640000000000000000006044820152606401610dce565b610107805460ff60a01b19169055600080516020614c4e83398151915260009081526020819052600080516020614c8e83398151915254600080516020614be783398151915280549092839161234e9084906147bf565b909155505060006001820181905561011254604080516398d41efb60e01b815290516001600160a01b03909216926398d41efb9260048084019382900301818387803b15801561239d57600080fd5b505af11580156123b1573d6000803e3d6000fd5b50506040514292507fa5ea49deceab9e6efacd9ebadc91dfd0d3eb98a2aeb02da350b84dd58c1b3b689150600090a250565b6001600160a01b038116600090815260fd6020908152604080832081516101008082018452825460ff808216151584529181048216151595830195909552859491938401916201000090041660068111156124405761244061471f565b60068111156124515761245161471f565b81528154630100000090046001600160a01b031660208083019190915260018301546040830152600283015460608301526003830154608083015260049092015460a090910152600080516020614c4e833981519152600090815290819052600080516020614c8e83398151915254919250600080516020614be78339815191529190036124e3575060009392505050565b61010754600160a01b900460ff161515600003612504575060009392505050565b610108548260e001511061251c575060009392505050565b6000826040015160068111156125345761253461471f565b03612543575060009392505050565b60008060018460400151600681111561255e5761255e61471f565b0361258a5761010c54600184015490925060649061257d906003614964565b612587919061497b565b90505b6002846040015160068111156125a2576125a261471f565b036125ce5761010d5460018401549092506064906125c1906007614964565b6125cb919061497b565b90505b6003846040015160068111156125e6576125e661471f565b036126125761010e54600184015490925060649061260590600c614964565b61260f919061497b565b90505b60048460400151600681111561262a5761262a61471f565b036126565761010f546001840154909250606490612649906012614964565b612653919061497b565b90505b60058460400151600681111561266e5761266e61471f565b0361269a5761011054600184015490925060649061268d90601a614964565b612697919061497b565b90505b6006846040015160068111156126b2576126b261471f565b036126de576101115460018401549092506064906126d1906022614964565b6126db919061497b565b90505b6126e8828261497b565b9695505050505050565b6126fd60003361221b565b6127195760405162461bcd60e51b8152600401610dce906147d2565b61011480546001600160a01b0319166001600160a01b0392909216919091179055565b61274760003361221b565b6127635760405162461bcd60e51b8152600401610dce906147d2565b61010a9190915561010b55565b3360009081526001602081905260409091205460ff16151590036127a65760405162461bcd60e51b8152600401610dce90614937565b33600090815260fe6020526040902054806128035760405162461bcd60e51b815260206004820152601760248201527f4e6f2072657761726420746f20626520636c61696d65640000000000000000006044820152606401610dce565b6000606461281283600a614964565b61281c919061497b565b9050600061282b60028361497b565b610114546101055460405163a9059cbb60e01b81529293506001600160a01b039182169263a9059cbb9261286592169085906004016148fc565b6020604051808303816000875af1158015612884573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128a89190614915565b50610114546101065460405163a9059cbb60e01b81526001600160a01b039283169263a9059cbb926128e19291169085906004016148fc565b6020604051808303816000875af1158015612900573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129249190614915565b50610114546001600160a01b031663a9059cbb336129428587614838565b6040518363ffffffff1660e01b815260040161295f9291906148fc565b6020604051808303816000875af115801561297e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129a29190614915565b5033600081815260fe60205260408120557fba8de60c3403ec381d1d484652ea1980e3c3e56359195c92525bff4ce47ad98e6129de8486614838565b60405190815260200160405180910390a2505050565b3360009081526001602081905260409091205460ff1615159003612a2a5760405162461bcd60e51b8152600401610dce90614937565b6000612a35336123e3565b610112546040516383aea64560e01b81523360048201529192506000916001600160a01b03909116906383aea64590602401602060405180830381865afa158015612a84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612aa891906148e3565b33600090815260fd6020526040902090915082612b075760405162461bcd60e51b815260206004820152601860248201527f4e6f205265776172642063616e20626520636c61696d656400000000000000006044820152606401610dce565b6001815462010000900460ff166006811115612b2557612b2561471f565b03612bd85761011360009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ba2919061499d565b612bad90600a614aa4565b612bb99061c350614964565b821015612bd85760405162461bcd60e51b8152600401610dce90614ab3565b6002815462010000900460ff166006811115612bf657612bf661471f565b03612caa5761011360009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612c4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c73919061499d565b612c7e90600a614aa4565b612c8b9062030d40614964565b821015612caa5760405162461bcd60e51b8152600401610dce90614ab3565b6003815462010000900460ff166006811115612cc857612cc861471f565b03612d7c5761011360009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d45919061499d565b612d5090600a614aa4565b612d5d90620f4240614964565b821015612d7c5760405162461bcd60e51b8152600401610dce90614ab3565b6004815462010000900460ff166006811115612d9a57612d9a61471f565b03612e4e5761011360009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612df3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e17919061499d565b612e2290600a614aa4565b612e2f90624c4b40614964565b821015612e4e5760405162461bcd60e51b8152600401610dce90614ab3565b6005815462010000900460ff166006811115612e6c57612e6c61471f565b03612f215761011360009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ec5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ee9919061499d565b612ef490600a614aa4565b612f029063017d7840614964565b821015612f215760405162461bcd60e51b8152600401610dce90614ab3565b6006815462010000900460ff166006811115612f3f57612f3f61471f565b03612ff45761011360009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fbc919061499d565b612fc790600a614aa4565b612fd5906305f5e100614964565b821015612ff45760405162461bcd60e51b8152600401610dce90614ab3565b6000606461300385600a614964565b61300d919061497b565b9050600061301c60028361497b565b610114546101055460405163a9059cbb60e01b81529293506001600160a01b039182169263a9059cbb9261305692169085906004016148fc565b6020604051808303816000875af1158015613075573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130999190614915565b50610114546101065460405163a9059cbb60e01b81526001600160a01b039283169263a9059cbb926130d29291169085906004016148fc565b6020604051808303816000875af11580156130f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131159190614915565b50610114546001600160a01b031663a9059cbb336131338589614838565b6040518363ffffffff1660e01b81526004016131509291906148fc565b6020604051808303816000875af115801561316f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131939190614915565b50426004840155600080516020614c4e83398151915260009081526020819052600080516020614c8e8339815191528054600080516020614be7833981519152928892916131e2908490614838565b909155505060405186815233907feff26bb1aaac7ce27452afaf8402dbd160686540ece1c14d857cf0c272b5cba49060200160405180910390a2505050505050565b61322f60003361221b565b61324b5760405162461bcd60e51b8152600401610dce906147d2565b61011380546001600160a01b0319166001600160a01b0392909216919091179055565b60008281526067602052604090206001015461328981613b4b565b6114298383613b55565b6001600160a01b038116600090815260fd6020526040812060018082018054929391929091906132c49084906147bf565b9091555060069050815462010000900460ff1660068111156132e8576132e861471f565b036132f1575050565b61fa0081600101541015801561332257506005815462010000900460ff1660068111156133205761332061471f565b145b1561341d576001600160a01b0382166000908152610104602090815260408083205461010390925282205461335791906147bf565b90506002811061341757815462ff0000191662060000178255610110805460019190600090613387908490614838565b90915550506101118054600191906000906133a39084906147bf565b90915550508154630100000090046001600160a01b03166000908152610103602052604081208054600192906133da908490614838565b90915550508154630100000090046001600160a01b03166000908152610104602052604081208054600192906134119084906147bf565b90915550505b50613a07565b613e8081600101541015801561344e57506004815462010000900460ff16600681111561344c5761344c61471f565b145b15613552576001600160a01b0382166000908152610104602090815260408083205461010383528184205461010290935290832054909161348e916147bf565b61349891906147bf565b90506002811061341757815462ff000019166205000017825561010f8054600191906000906134c8908490614838565b90915550506101108054600191906000906134e49084906147bf565b90915550508154630100000090046001600160a01b031660009081526101026020526040812080546001929061351b908490614838565b90915550508154630100000090046001600160a01b03166000908152610103602052604081208054600192906134119084906147bf565b61190081600101541015801561358357506003815462010000900460ff1660068111156135815761358161471f565b145b1561369a576001600160a01b038216600090815261010460209081526040808320546101038352818420546101028452828520546101019094529184205490926135cc916147bf565b6135d691906147bf565b6135e091906147bf565b90506002811061341757815462ff000019166204000017825561010e805460019190600090613610908490614838565b909155505061010f80546001919060009061362c9084906147bf565b90915550508154630100000090046001600160a01b0316600090815261010160205260408120805460019290613663908490614838565b90915550508154630100000090046001600160a01b03166000908152610102602052604081208054600192906134119084906147bf565b6106408160010154101580156136cb57506002815462010000900460ff1660068111156136c9576136c961471f565b145b156137f9576001600160a01b0382166000908152610104602090815260408083205461010383528184205461010284528285205461010185528386205461010090955292852054919390929161372191906147bf565b61372b91906147bf565b61373591906147bf565b61373f91906147bf565b90506002811061341757815462ff000019166203000017825561010d80546001919060009061376f908490614838565b909155505061010e80546001919060009061378b9084906147bf565b90915550508154630100000090046001600160a01b03166000908152610100602052604081208054600192906137c2908490614838565b90915550508154630100000090046001600160a01b03166000908152610101602052604081208054600192906134119084906147bf565b61019081600101541015801561382a57506001815462010000900460ff1660068111156138285761382861471f565b145b1561396b576001600160a01b0382166000908152610104602090815260408083205461010383528184205461010284528285205461010185528386205461010086528487205460ff90965293862054929491939092909161388a916147bf565b61389491906147bf565b61389e91906147bf565b6138a891906147bf565b6138b291906147bf565b90506002811061341757815462ff000019166202000017825561010c8054600191906000906138e2908490614838565b909155505061010d8054600191906000906138fe9084906147bf565b90915550508154630100000090046001600160a01b0316600090815260ff60205260408120805460019290613934908490614838565b90915550508154630100000090046001600160a01b03166000908152610100602052604081208054600192906134119084906147bf565b606481600101541015801561399b57506000815462010000900460ff1660068111156139995761399961471f565b145b156114a857805462ff000019166201000017815561010c8054600191906000906139c69084906147bf565b90915550508054630100000090046001600160a01b0316600090815260ff602052604081208054600192906139fc9084906147bf565b90915550613a079050565b80546040516001600160a01b038416917fc044cb19a6b2fe37c1a0618f3a47a874033707b4034762c63477d77c5556e22e91613a4c9162010000900460ff1690614ad9565b60405180910390a25050565b600254610100900460ff16613ac35760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610dce565b565b613acf828261221b565b6114a85760008281526067602090815260408083206001600160a01b03851684529091529020805460ff19166001179055613b073390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6115888133613fd6565b613b5f828261221b565b156114a85760008281526067602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b613be67f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e33361221b565b6115885760405162461bcd60e51b815260206004820181905260248201527f4f6e6c792055504752414445522063616e20706572666f726d20616374696f6e6044820152606401610dce565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615613c65576114298361402f565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613cbf575060408051601f3d908101601f19168201909252613cbc918101906148e3565b60015b613d225760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610dce565b600080516020614c078339815191528114613d915760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610dce565b506114298383836140cb565b7fef78ff2707f55cf683ecba27f753a1f73d88a2972299daeedcdcce2c52b7821d600090815260208190527fe48cbce158a88b2ae025b935f2c891db41fa49d66e958301265adefc644e9075805490918391839190613dfd9084906147bf565b90915550505050565b33600090815260fd6020908152604080832081516101e081018352601e81526008938101939093526003918301919091526002606083018190526080830152600160a0830181905260c0830181905260e08301819052610100830181905261012083018190526101408301819052610160830181905261018083018190526101a083018190526101c08301528391829190845b600f811015613f8f578254630100000090046001600160a01b031680613ebf5750613f8f565b6001600160a01b03811660009081526001602052604081205460ff1615159003613f6457613eec81613293565b60008383600f8110613f0057613f00614822565b602002015160ff16905060006064613f18838a614964565b613f22919061497b565b6001600160a01b038416600090815260fe6020526040812080549293508392909190613f4f9084906147bf565b90915550613f5f90508188614838565b965050505b6001600160a01b0316600090815260fd60205260409020925080613f8781614809565b915050613e99565b509195945050505050565b600080516020614c4e83398151915260009081526020819052600080516020614be7833981519152805490918391839190613dfd9084906147bf565b613fe0828261221b565b6114a857613fed816140f6565b613ff8836020614108565b604051602001614009929190614b0b565b60408051601f198184030181529082905262461bcd60e51b8252610dce91600401614b80565b6001600160a01b0381163b61409c5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610dce565b600080516020614c0783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6140d4836142ab565b6000825111806140e15750805b15611429576140f083836142eb565b50505050565b6060610d886001600160a01b03831660145b60606000614117836002614964565b6141229060026147bf565b67ffffffffffffffff81111561413a5761413a6144dd565b6040519080825280601f01601f191660200182016040528015614164576020820181803683370190505b509050600360fc1b8160008151811061417f5761417f614822565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106141ae576141ae614822565b60200101906001600160f81b031916908160001a90535060006141d2846002614964565b6141dd9060016147bf565b90505b6001811115614255576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061421157614211614822565b1a60f81b82828151811061422757614227614822565b60200101906001600160f81b031916908160001a90535060049490941c9361424e81614bb3565b90506141e0565b5083156142a45760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610dce565b9392505050565b6142b48161402f565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606142a48383604051806060016040528060278152602001614c27602791396060600080856001600160a01b0316856040516143289190614bca565b600060405180830381855af49150503d8060008114614363576040519150601f19603f3d011682016040523d82523d6000602084013e614368565b606091505b50915091506126e886838387606083156143e35782516000036143dc576001600160a01b0385163b6143dc5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610dce565b50816143ed565b6143ed83836143f5565b949350505050565b8151156144055781518083602001fd5b8060405162461bcd60e51b8152600401610dce9190614b80565b60006020828403121561443157600080fd5b81356001600160e01b0319811681146142a457600080fd5b6001600160a01b038116811461158857600080fd5b60006020828403121561447057600080fd5b81356142a481614449565b60006020828403121561448d57600080fd5b5035919050565b803561449f81614449565b919050565b600080604083850312156144b757600080fd5b82356144c281614449565b915060208301356144d281614449565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561451c5761451c6144dd565b604052919050565b600080600080600080600060e0888a03121561453f57600080fd5b873561454a81614449565b965060208881013567ffffffffffffffff8082111561456857600080fd5b818b0191508b601f83011261457c57600080fd5b81358181111561458e5761458e6144dd565b8060051b915061459f8483016144f3565b818152918301840191848101908e8411156145b957600080fd5b938501935b838510156145e357843592506145d383614449565b82825293850193908501906145be565b809b505050505050506145f860408901614494565b945061460660608901614494565b935061461460808901614494565b925060a0880135915060c0880135905092959891949750929550565b6000806040838503121561464357600080fd5b8235915060208301356144d281614449565b6000806040838503121561466857600080fd5b823561467381614449565b915060208381013567ffffffffffffffff8082111561469157600080fd5b818601915086601f8301126146a557600080fd5b8135818111156146b7576146b76144dd565b6146c9601f8201601f191685016144f3565b915080825287848285010111156146df57600080fd5b80848401858401376000848284010152508093505050509250929050565b6000806040838503121561471057600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6007811061475357634e487b7160e01b600052602160045260246000fd5b9052565b8815158152871515602082015261010081016147766040830189614735565b6001600160a01b03969096166060820152608081019490945260a084019290925260c083015260e0909101529392505050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610d8857610d886147a9565b6020808252601d908201527f4f6e6c792041646d696e2063616e20706572666f726d20616374696f6e000000604082015260600190565b60006001820161481b5761481b6147a9565b5060010190565b634e487b7160e01b600052603260045260246000fd5b81810381811115610d8857610d886147a9565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6000602082840312156148f557600080fd5b5051919050565b6001600160a01b03929092168252602082015260400190565b60006020828403121561492757600080fd5b815180151581146142a457600080fd5b6020808252601390820152721059191c995cdcc8189b1858dadb1a5cdd1959606a1b604082015260600190565b8082028115828204841417610d8857610d886147a9565b60008261499857634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156149af57600080fd5b815160ff811681146142a457600080fd5b600181815b808511156149fb5781600019048211156149e1576149e16147a9565b808516156149ee57918102915b93841c93908002906149c5565b509250929050565b600082614a1257506001610d88565b81614a1f57506000610d88565b8160018114614a355760028114614a3f57614a5b565b6001915050610d88565b60ff841115614a5057614a506147a9565b50506001821b610d88565b5060208310610133831016604e8410600b8410161715614a7e575081810a610d88565b614a8883836149c0565b8060001904821115614a9c57614a9c6147a9565b029392505050565b60006142a460ff841683614a03565b6020808252600c908201526b4e6f7420456c696769626c6560a01b604082015260600190565b60208101610d888284614735565b60005b83811015614b02578181015183820152602001614aea565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351614b43816017850160208801614ae7565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351614b74816028840160208801614ae7565b01602801949350505050565b6020815260008251806020840152614b9f816040850160208701614ae7565b601f01601f19169190910160400192915050565b600081614bc257614bc26147a9565b506000190190565b60008251614bdc818460208701614ae7565b919091019291505056fe335d3c6b885408497fbfb0b6def492ee75738904e5f4f2ba351dbd9fcd1022c0360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65644caf09f7dd9cf5930a0d30d4dba10a4d06c1e6d90491f8198b355f99152771b02a4f530ae55f002aac4686b649762fc68e96bd8b80ac835b41777145c94e1f8a335d3c6b885408497fbfb0b6def492ee75738904e5f4f2ba351dbd9fcd1022c1a264697066735822122071d85eb8503dc31499c859b1867ec003d30db9c03c3fbf15e00aa8c312f6d30564736f6c63430008110033",
1215
+ "deployedBytecode": "0x60806040526004361061036a5760003560e01c80637ca55ec4116101c6578063ba2d5095116100f7578063d547741f11610095578063f481e8631161006f578063f481e86314610c5e578063f72c0d8b14610c7f578063f79ed94b14610cb3578063fa2d9ff014610cd457600080fd5b8063d547741f14610bfc578063e961e1ff14610c1c578063ed65af7414610c3d57600080fd5b8063cb98f68e116100d1578063cb98f68e14610b2e578063cf1169e214610b5c578063d35cb1ad14610b7c578063d3f46b8b14610bda57600080fd5b8063ba2d509514610ab7578063c33e108f14610aeb578063c415bf3d14610b1957600080fd5b806398d41efb11610164578063a00d77401161013e578063a00d774014610a4d578063a217fddf14610a6d578063b25dd52914610a82578063b88a802f14610aa257600080fd5b806398d41efb14610a015780639a454b9914610a165780639db0f9e414610a2d57600080fd5b8063908fae0c116101a0578063908fae0c1461090157806391d1485414610921578063936d39d714610941578063951053a61461096257600080fd5b80637ca55ec41461087f57806383d44339146108a057806385290fa1146108cd57600080fd5b80633b0e0133116102a05780634f1ef2861161023e5780636ae994a7116102185780636ae994a7146107ce5780636c76716c146107f05780636dfab78e1461081e57806373c2fd231461085257600080fd5b80634f1ef2861461070757806352d1902d1461071a578063602674821461072f57600080fd5b80634420e4861161027a5780634420e4861461062257806344712a6c1461064257806344c94201146106c2578063471ac84e146106f057600080fd5b80633b0e0133146105cd5780633b477ed0146105ed5780634237ea8d1461060d57600080fd5b8063249a22e41161030d5780632f2ff15d116102e75780632f2ff15d1461053957806330cf4dc51461055957806336568abe1461058d5780633659cfe6146105ad57600080fd5b8063249a22e4146104bb57806326606fdf146104e9578063286e66bc1461050957600080fd5b80630b102d1a116103495780630b102d1a146104005780630defebeb146104225780631d069f181461046b578063248a9ca31461048b57600080fd5b8062d30e2f1461036f57806301ffc9a7146103ad5780630946e807146103dd575b600080fd5b34801561037b57600080fd5b5061011554610390906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156103b957600080fd5b506103cd6103c836600461441f565b610d57565b60405190151581526020016103a4565b3480156103e957600080fd5b506103f2610d8e565b6040519081526020016103a4565b34801561040c57600080fd5b5061042061041b36600461445e565b610da7565b005b34801561042e57600080fd5b5061045661043d36600461447b565b6000602081905290815260409020805460019091015482565b604080519283526020830191909152016103a4565b34801561047757600080fd5b506104206104863660046144a4565b610dfa565b34801561049757600080fd5b506103f26104a636600461447b565b60009081526067602052604090206001015490565b3480156104c757600080fd5b506103f26104d636600461445e565b6101046020526000908152604090205481565b3480156104f557600080fd5b50610420610504366004614524565b6110d9565b34801561051557600080fd5b506103cd61052436600461445e565b60016020526000908152604090205460ff1681565b34801561054557600080fd5b50610420610554366004614630565b611404565b34801561056557600080fd5b506103f27f07b941733a7a0fb95acb53f7ec363f2e58bcfffba15469eb7d5ade1ddbb3447481565b34801561059957600080fd5b506104206105a8366004614630565b61142e565b3480156105b957600080fd5b506104206105c836600461445e565b6114ac565b3480156105d957600080fd5b506104206105e836600461445e565b61158b565b3480156105f957600080fd5b5061042061060836600461447b565b6116cc565b34801561061957600080fd5b50610420611825565b34801561062e57600080fd5b5061042061063d36600461445e565b6119b5565b34801561064e57600080fd5b5060408051808201825260008082526020918201819052600080516020614c4e833981519152815281528151808301909252600080516020614be7833981519152548252600080516020614c8e83398151915254908201525b604080518251815260209283015192810192909252016103a4565b3480156106ce57600080fd5b506103f26106dd36600461445e565b6101006020526000908152604090205481565b3480156106fc57600080fd5b506103f26101085481565b610420610715366004614655565b612052565b34801561072657600080fd5b506103f261211e565b34801561073b57600080fd5b50604080518082018252600080825260209182018190527f791b07db9f5ba47b7333684f8aab1753657d4cf52dbb1ca2e58c7c7643deb25c8152815281518083019092527f7ae3c50dab2a4efefa12dcfbd46eb63dd82ec1805ae28aeb47fe2451bfc1cda95482527f7ae3c50dab2a4efefa12dcfbd46eb63dd82ec1805ae28aeb47fe2451bfc1cdaa54908201526106a7565b3480156107da57600080fd5b50610107546103cd90600160a01b900460ff1681565b3480156107fc57600080fd5b506103f261080b36600461445e565b6101036020526000908152604090205481565b34801561082a57600080fd5b506103f27fef78ff2707f55cf683ecba27f753a1f73d88a2972299daeedcdcce2c52b7821d81565b34801561085e57600080fd5b506103f261086d36600461445e565b60ff6020526000908152604090205481565b34801561088b57600080fd5b5061010654610390906001600160a01b031681565b3480156108ac57600080fd5b506103f26108bb36600461445e565b60fe6020526000908152604090205481565b3480156108d957600080fd5b506103f27f5620a1113a72b02a617976b3f6b15600dd7a8b3a916a9ca01e23119d989a054381565b34801561090d57600080fd5b5061042061091c36600461445e565b6121d1565b34801561092d57600080fd5b506103cd61093c366004614630565b61221b565b34801561094d57600080fd5b5061011254610390906001600160a01b031681565b34801561096e57600080fd5b50604080518082018252600080825260209182018190527fef78ff2707f55cf683ecba27f753a1f73d88a2972299daeedcdcce2c52b7821d8152815281518083019092527fe48cbce158a88b2ae025b935f2c891db41fa49d66e958301265adefc644e90755482527fe48cbce158a88b2ae025b935f2c891db41fa49d66e958301265adefc644e907654908201526106a7565b348015610a0d57600080fd5b50610420612246565b348015610a2257600080fd5b506103f26101095481565b348015610a3957600080fd5b506103f2610a4836600461445e565b6123e3565b348015610a5957600080fd5b50610420610a6836600461445e565b6126f2565b348015610a7957600080fd5b506103f2600081565b348015610a8e57600080fd5b50610420610a9d3660046146fd565b61273c565b348015610aae57600080fd5b50610420612770565b348015610ac357600080fd5b506103f27f791b07db9f5ba47b7333684f8aab1753657d4cf52dbb1ca2e58c7c7643deb25c81565b348015610af757600080fd5b506103f2610b0636600461445e565b6101016020526000908152604090205481565b348015610b2557600080fd5b506104206129f4565b348015610b3a57600080fd5b506103f2610b4936600461445e565b6101026020526000908152604090205481565b348015610b6857600080fd5b50610420610b7736600461445e565b613224565b348015610b8857600080fd5b5061010c5461010d5461010e5461010f546101105461011154610bad95949392919086565b604080519687526020870195909552938501929092526060840152608083015260a082015260c0016103a4565b348015610be657600080fd5b506103f2600080516020614c4e83398151915281565b348015610c0857600080fd5b50610420610c17366004614630565b61326e565b348015610c2857600080fd5b5061011354610390906001600160a01b031681565b348015610c4957600080fd5b5061011454610390906001600160a01b031681565b348015610c6a57600080fd5b5061010554610390906001600160a01b031681565b348015610c8b57600080fd5b506103f27f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e381565b348015610cbf57600080fd5b5061010754610390906001600160a01b031681565b348015610ce057600080fd5b50610d43610cef36600461445e565b60fd602052600090815260409020805460018201546002830154600384015460049094015460ff8085169561010086048216956201000081049092169463010000009092046001600160a01b031693919288565b6040516103a4989796959493929190614757565b60006001600160e01b03198216637965db0b60e01b1480610d8857506301ffc9a760e01b6001600160e01b03198316145b92915050565b600061010b5461010a54610da291906147bf565b905090565b610db260003361221b565b610dd75760405162461bcd60e51b8152600401610dce906147d2565b60405180910390fd5b61011280546001600160a01b0319166001600160a01b0392909216919091179055565b610e0560003361221b565b610e215760405162461bcd60e51b8152600401610dce906147d2565b6001600160a01b038216600090815260fd60205260409020805460ff1615610e8b5760405162461bcd60e51b815260206004820152601a60248201527f4164647265737320616c726561647920726567697374657265640000000000006044820152606401610dce565b6001600160a01b038216610ed45760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b2103932b332b93932b960811b6044820152606401610dce565b6001600160a01b038216600090815260fd602052604090205460ff16610f3c5760405162461bcd60e51b815260206004820152601d60248201527f52656665727265722073686f756c6420626520726567697374657265640000006044820152606401610dce565b6001600160a01b03821660009081526001602052604090205460ff1615610f9c5760405162461bcd60e51b8152602060048201526014602482015273149959995c9c995c88189b1858dadb1a5cdd195960621b6044820152606401610dce565b61010754600160a01b900460ff1615610fed5760405162461bcd60e51b8152602060048201526013602482015272149959da5cdd1c985d1a5bdb8818db1bdcd959606a1b6044820152606401610dce565b80546000600280840182905560ff196001600160a01b038616630100000081029190911662ffff01600160b81b031990941693909317600190811762ffff00191661010017855592825260fd602052604082200180549091906110519084906147bf565b9091555082905060005b600f8110156110a45761106d82613293565b6001600160a01b03918216600090815260fd602052604090205463010000009004909116908061109c81614809565b91505061105b565b50826001600160a01b0316846001600160a01b0316600080516020614c6e83398151915260405160405180910390a350505050565b600254610100900460ff16158080156110f95750600254600160ff909116105b806111135750303b158015611113575060025460ff166001145b6111765760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610dce565b6002805460ff191660011790558015611199576002805461ff0019166101001790555b6111a1613a58565b6111a9613a58565b6111b4600033613ac5565b6111de7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e333613ac5565b6111e9600089613ac5565b436101095561010a83905561010b82905561010580546001600160a01b03199081166001600160a01b0389811691821790935561010680548316898516908117909155610107805490931693881693909317909155600091825260fd6020526040808320805462ffff01600160b81b031990811660019081179092558385528285208054909116909117905551600080516020614c6e833981519152908390a36001600160a01b03808516600090815260fd6020526040808220805462ffff01600160b81b0319166001179055519091881690600080516020614c6e833981519152908390a36000805b88518110156113b25760008982815181106112f0576112f0614822565b6020908102919091018101516001600160a01b038116600090815260fd9092526040909120805460ff191660019081179091558b5191925090611334908490614838565b61133e9190614838565b6001600160a01b03828116600081815260fd60205260408082206001808201969096556002810195909555845462010000600160b81b031916630100000094891694850217909455925191929091600080516020614c6e8339815191529190a39150806113aa81614809565b9150506112d3565b505080156113fa576002805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b60008281526067602052604090206001015461141f81613b4b565b6114298383613ac5565b505050565b6001600160a01b038116331461149e5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610dce565b6114a88282613b55565b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036114f45760405162461bcd60e51b8152600401610dce9061484b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661153d600080516020614c07833981519152546001600160a01b031690565b6001600160a01b0316146115635760405162461bcd60e51b8152600401610dce90614897565b61156c81613bbc565b6040805160008082526020820190925261158891839190613c32565b50565b61159660003361221b565b6115b25760405162461bcd60e51b8152600401610dce906147d2565b336001600160a01b0382160361160a5760405162461bcd60e51b815260206004820152601d60248201527f596f752063616e6e6f7420626c61636b6c69737420796f757273656c660000006044820152606401610dce565b6001600160a01b03811661166a5760405162461bcd60e51b815260206004820152602160248201527f596f752063616e6e6f7420626c61636b6c6973742061646472657373207a65726044820152606f60f81b6064820152608401610dce565b611695816001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6040516001600160a01b038216907fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b85590600090a250565b6116d760003361221b565b6116f35760405162461bcd60e51b8152600401610dce906147d2565b610114546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa15801561173c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061176091906148e3565b8111156117af5760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e7420435553442062616c616e6365000000000000006044820152606401610dce565b6101145460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb906117e290339085906004016148fc565b6020604051808303816000875af1158015611801573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a89190614915565b61183060003361221b565b8061186057506118607f5620a1113a72b02a617976b3f6b15600dd7a8b3a916a9ca01e23119d989a05433361221b565b61187c5760405162461bcd60e51b8152600401610dce906147d2565b61010754600160a01b900460ff16156118c95760405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e481cdd185c9d1959608a1b6044820152606401610dce565b610107805460ff60a01b1916600160a01b1790554261010855600080516020614c4e8339815191526000908152602052600080516020614be78339815191528054600080516020614c8e8339815191528190556119269080614838565b81556101125460408051634237ea8d60e01b815290516001600160a01b0390921691634237ea8d9160048082019260009290919082900301818387803b15801561196f57600080fd5b505af1158015611983573d6000803e3d6000fd5b50506040514292507fe937b2648ad52d1aaf4f7765235791fc9a2fbe11dae61f84bc9f4f2dca491ee89150600090a250565b3360009081526001602081905260409091205460ff16151590036119eb5760405162461bcd60e51b8152600401610dce90614937565b60006119f5610d8e565b33600081815260fd60205260408082206101145491516370a0823160e01b8152600481019490945293945090916001600160a01b03909116906370a0823190602401602060405180830381865afa158015611a54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a7891906148e3565b610114549091506001600160a01b0316611ad45760405162461bcd60e51b815260206004820152601a60248201527f61646d696e206469646e27742073657420746f6b656e204552430000000000006044820152606401610dce565b82811015611b245760405162461bcd60e51b815260206004820152601860248201527f556e6d6174636820526567697374726174696f6e2046656500000000000000006044820152606401610dce565b815460ff1615611b765760405162461bcd60e51b815260206004820152601a60248201527f4164647265737320616c726561647920726567697374657265640000000000006044820152606401610dce565b6001600160a01b038416611bbf5760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b2103932b332b93932b960811b6044820152606401610dce565b6001600160a01b038416600090815260fd602052604090205460ff16611c275760405162461bcd60e51b815260206004820152601d60248201527f52656665727265722073686f756c6420626520726567697374657265640000006044820152606401610dce565b6001600160a01b03841660009081526001602052604090205460ff1615611c875760405162461bcd60e51b8152602060048201526014602482015273149959995c9c995c88189b1858dadb1a5cdd195960621b6044820152606401610dce565b61010754600160a01b900460ff1615611cd85760405162461bcd60e51b8152602060048201526013602482015272149959da5cdd1c985d1a5bdb8818db1bdcd959606a1b6044820152606401610dce565b815462ff000019600162ffff01600160b81b031990921663010000006001600160a01b03881690810260ff19169190911783179190911684556000600280860182905591815260fd602052604081209091018054909190611d3a9084906147bf565b909155505061010a54611d4c90613d9d565b6000611d5a61010b54613e06565b90506000606461010b546011611d709190614964565b611d7a919061497b565b9050611d8581613f9a565b611d8f8183614838565b91506000606461010b546003611da59190614964565b611daf919061497b565b610114546040516323b872dd60e01b8152336004820152306024820152604481018990529192506001600160a01b0316906323b872dd906064016020604051808303816000875af1158015611e08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e2c9190614915565b50610114546101155460405163a9059cbb60e01b81526001600160a01b039283169263a9059cbb92611e659291169085906004016148fc565b6020604051808303816000875af1158015611e84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea89190614915565b506101155460405163b25cc51b60e01b8152600481018390526001600160a01b039091169063b25cc51b90602401600060405180830381600087803b158015611ef057600080fd5b505af1158015611f04573d6000803e3d6000fd5b505050508083611f149190614838565b61011454610105549194506001600160a01b039081169163a9059cbb9116611f3d60028761497b565b6040518363ffffffff1660e01b8152600401611f5a9291906148fc565b6020604051808303816000875af1158015611f79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f9d9190614915565b5061011454610106546001600160a01b039182169163a9059cbb9116611fc460028761497b565b6040518363ffffffff1660e01b8152600401611fe19291906148fc565b6020604051808303816000875af1158015612000573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120249190614915565b506040516001600160a01b038816903390600080516020614c6e83398151915290600090a350505050505050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361209a5760405162461bcd60e51b8152600401610dce9061484b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166120e3600080516020614c07833981519152546001600160a01b031690565b6001600160a01b0316146121095760405162461bcd60e51b8152600401610dce90614897565b61211282613bbc565b6114a882826001613c32565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146121be5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610dce565b50600080516020614c0783398151915290565b6121dc60003361221b565b6121f85760405162461bcd60e51b8152600401610dce906147d2565b61011580546001600160a01b0319166001600160a01b0392909216919091179055565b60009182526067602090815260408084206001600160a01b0393909316845291905290205460ff1690565b61225160003361221b565b8061228157506122817f5620a1113a72b02a617976b3f6b15600dd7a8b3a916a9ca01e23119d989a05433361221b565b61229d5760405162461bcd60e51b8152600401610dce906147d2565b61010754600160a01b900460ff166122f75760405162461bcd60e51b815260206004820152601760248201527f52616e6b20726577617264206e6f7420737461727465640000000000000000006044820152606401610dce565b610107805460ff60a01b19169055600080516020614c4e83398151915260009081526020819052600080516020614c8e83398151915254600080516020614be783398151915280549092839161234e9084906147bf565b909155505060006001820181905561011254604080516398d41efb60e01b815290516001600160a01b03909216926398d41efb9260048084019382900301818387803b15801561239d57600080fd5b505af11580156123b1573d6000803e3d6000fd5b50506040514292507fa5ea49deceab9e6efacd9ebadc91dfd0d3eb98a2aeb02da350b84dd58c1b3b689150600090a250565b6001600160a01b038116600090815260fd6020908152604080832081516101008082018452825460ff808216151584529181048216151595830195909552859491938401916201000090041660068111156124405761244061471f565b60068111156124515761245161471f565b81528154630100000090046001600160a01b031660208083019190915260018301546040830152600283015460608301526003830154608083015260049092015460a090910152600080516020614c4e833981519152600090815290819052600080516020614c8e83398151915254919250600080516020614be78339815191529190036124e3575060009392505050565b61010754600160a01b900460ff161515600003612504575060009392505050565b610108548260e001511061251c575060009392505050565b6000826040015160068111156125345761253461471f565b03612543575060009392505050565b60008060018460400151600681111561255e5761255e61471f565b0361258a5761010c54600184015490925060649061257d906003614964565b612587919061497b565b90505b6002846040015160068111156125a2576125a261471f565b036125ce5761010d5460018401549092506064906125c1906007614964565b6125cb919061497b565b90505b6003846040015160068111156125e6576125e661471f565b036126125761010e54600184015490925060649061260590600c614964565b61260f919061497b565b90505b60048460400151600681111561262a5761262a61471f565b036126565761010f546001840154909250606490612649906012614964565b612653919061497b565b90505b60058460400151600681111561266e5761266e61471f565b0361269a5761011054600184015490925060649061268d90601a614964565b612697919061497b565b90505b6006846040015160068111156126b2576126b261471f565b036126de576101115460018401549092506064906126d1906022614964565b6126db919061497b565b90505b6126e8828261497b565b9695505050505050565b6126fd60003361221b565b6127195760405162461bcd60e51b8152600401610dce906147d2565b61011480546001600160a01b0319166001600160a01b0392909216919091179055565b61274760003361221b565b6127635760405162461bcd60e51b8152600401610dce906147d2565b61010a9190915561010b55565b3360009081526001602081905260409091205460ff16151590036127a65760405162461bcd60e51b8152600401610dce90614937565b33600090815260fe6020526040902054806128035760405162461bcd60e51b815260206004820152601760248201527f4e6f2072657761726420746f20626520636c61696d65640000000000000000006044820152606401610dce565b6000606461281283600a614964565b61281c919061497b565b9050600061282b60028361497b565b610114546101055460405163a9059cbb60e01b81529293506001600160a01b039182169263a9059cbb9261286592169085906004016148fc565b6020604051808303816000875af1158015612884573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128a89190614915565b50610114546101065460405163a9059cbb60e01b81526001600160a01b039283169263a9059cbb926128e19291169085906004016148fc565b6020604051808303816000875af1158015612900573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129249190614915565b50610114546001600160a01b031663a9059cbb336129428587614838565b6040518363ffffffff1660e01b815260040161295f9291906148fc565b6020604051808303816000875af115801561297e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129a29190614915565b5033600081815260fe60205260408120557fba8de60c3403ec381d1d484652ea1980e3c3e56359195c92525bff4ce47ad98e6129de8486614838565b60405190815260200160405180910390a2505050565b3360009081526001602081905260409091205460ff1615159003612a2a5760405162461bcd60e51b8152600401610dce90614937565b6000612a35336123e3565b610112546040516383aea64560e01b81523360048201529192506000916001600160a01b03909116906383aea64590602401602060405180830381865afa158015612a84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612aa891906148e3565b33600090815260fd6020526040902090915082612b075760405162461bcd60e51b815260206004820152601860248201527f4e6f205265776172642063616e20626520636c61696d656400000000000000006044820152606401610dce565b6001815462010000900460ff166006811115612b2557612b2561471f565b03612bd85761011360009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ba2919061499d565b612bad90600a614aa4565b612bb99061c350614964565b821015612bd85760405162461bcd60e51b8152600401610dce90614ab3565b6002815462010000900460ff166006811115612bf657612bf661471f565b03612caa5761011360009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612c4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c73919061499d565b612c7e90600a614aa4565b612c8b9062030d40614964565b821015612caa5760405162461bcd60e51b8152600401610dce90614ab3565b6003815462010000900460ff166006811115612cc857612cc861471f565b03612d7c5761011360009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d45919061499d565b612d5090600a614aa4565b612d5d90620f4240614964565b821015612d7c5760405162461bcd60e51b8152600401610dce90614ab3565b6004815462010000900460ff166006811115612d9a57612d9a61471f565b03612e4e5761011360009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612df3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e17919061499d565b612e2290600a614aa4565b612e2f90624c4b40614964565b821015612e4e5760405162461bcd60e51b8152600401610dce90614ab3565b6005815462010000900460ff166006811115612e6c57612e6c61471f565b03612f215761011360009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ec5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ee9919061499d565b612ef490600a614aa4565b612f029063017d7840614964565b821015612f215760405162461bcd60e51b8152600401610dce90614ab3565b6006815462010000900460ff166006811115612f3f57612f3f61471f565b03612ff45761011360009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fbc919061499d565b612fc790600a614aa4565b612fd5906305f5e100614964565b821015612ff45760405162461bcd60e51b8152600401610dce90614ab3565b6000606461300385600a614964565b61300d919061497b565b9050600061301c60028361497b565b610114546101055460405163a9059cbb60e01b81529293506001600160a01b039182169263a9059cbb9261305692169085906004016148fc565b6020604051808303816000875af1158015613075573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130999190614915565b50610114546101065460405163a9059cbb60e01b81526001600160a01b039283169263a9059cbb926130d29291169085906004016148fc565b6020604051808303816000875af11580156130f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131159190614915565b50610114546001600160a01b031663a9059cbb336131338589614838565b6040518363ffffffff1660e01b81526004016131509291906148fc565b6020604051808303816000875af115801561316f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131939190614915565b50426004840155600080516020614c4e83398151915260009081526020819052600080516020614c8e8339815191528054600080516020614be7833981519152928892916131e2908490614838565b909155505060405186815233907feff26bb1aaac7ce27452afaf8402dbd160686540ece1c14d857cf0c272b5cba49060200160405180910390a2505050505050565b61322f60003361221b565b61324b5760405162461bcd60e51b8152600401610dce906147d2565b61011380546001600160a01b0319166001600160a01b0392909216919091179055565b60008281526067602052604090206001015461328981613b4b565b6114298383613b55565b6001600160a01b038116600090815260fd6020526040812060018082018054929391929091906132c49084906147bf565b9091555060069050815462010000900460ff1660068111156132e8576132e861471f565b036132f1575050565b61fa0081600101541015801561332257506005815462010000900460ff1660068111156133205761332061471f565b145b1561341d576001600160a01b0382166000908152610104602090815260408083205461010390925282205461335791906147bf565b90506002811061341757815462ff0000191662060000178255610110805460019190600090613387908490614838565b90915550506101118054600191906000906133a39084906147bf565b90915550508154630100000090046001600160a01b03166000908152610103602052604081208054600192906133da908490614838565b90915550508154630100000090046001600160a01b03166000908152610104602052604081208054600192906134119084906147bf565b90915550505b50613a07565b613e8081600101541015801561344e57506004815462010000900460ff16600681111561344c5761344c61471f565b145b15613552576001600160a01b0382166000908152610104602090815260408083205461010383528184205461010290935290832054909161348e916147bf565b61349891906147bf565b90506002811061341757815462ff000019166205000017825561010f8054600191906000906134c8908490614838565b90915550506101108054600191906000906134e49084906147bf565b90915550508154630100000090046001600160a01b031660009081526101026020526040812080546001929061351b908490614838565b90915550508154630100000090046001600160a01b03166000908152610103602052604081208054600192906134119084906147bf565b61190081600101541015801561358357506003815462010000900460ff1660068111156135815761358161471f565b145b1561369a576001600160a01b038216600090815261010460209081526040808320546101038352818420546101028452828520546101019094529184205490926135cc916147bf565b6135d691906147bf565b6135e091906147bf565b90506002811061341757815462ff000019166204000017825561010e805460019190600090613610908490614838565b909155505061010f80546001919060009061362c9084906147bf565b90915550508154630100000090046001600160a01b0316600090815261010160205260408120805460019290613663908490614838565b90915550508154630100000090046001600160a01b03166000908152610102602052604081208054600192906134119084906147bf565b6106408160010154101580156136cb57506002815462010000900460ff1660068111156136c9576136c961471f565b145b156137f9576001600160a01b0382166000908152610104602090815260408083205461010383528184205461010284528285205461010185528386205461010090955292852054919390929161372191906147bf565b61372b91906147bf565b61373591906147bf565b61373f91906147bf565b90506002811061341757815462ff000019166203000017825561010d80546001919060009061376f908490614838565b909155505061010e80546001919060009061378b9084906147bf565b90915550508154630100000090046001600160a01b03166000908152610100602052604081208054600192906137c2908490614838565b90915550508154630100000090046001600160a01b03166000908152610101602052604081208054600192906134119084906147bf565b61019081600101541015801561382a57506001815462010000900460ff1660068111156138285761382861471f565b145b1561396b576001600160a01b0382166000908152610104602090815260408083205461010383528184205461010284528285205461010185528386205461010086528487205460ff90965293862054929491939092909161388a916147bf565b61389491906147bf565b61389e91906147bf565b6138a891906147bf565b6138b291906147bf565b90506002811061341757815462ff000019166202000017825561010c8054600191906000906138e2908490614838565b909155505061010d8054600191906000906138fe9084906147bf565b90915550508154630100000090046001600160a01b0316600090815260ff60205260408120805460019290613934908490614838565b90915550508154630100000090046001600160a01b03166000908152610100602052604081208054600192906134119084906147bf565b606481600101541015801561399b57506000815462010000900460ff1660068111156139995761399961471f565b145b156114a857805462ff000019166201000017815561010c8054600191906000906139c69084906147bf565b90915550508054630100000090046001600160a01b0316600090815260ff602052604081208054600192906139fc9084906147bf565b90915550613a079050565b80546040516001600160a01b038416917fc044cb19a6b2fe37c1a0618f3a47a874033707b4034762c63477d77c5556e22e91613a4c9162010000900460ff1690614ad9565b60405180910390a25050565b600254610100900460ff16613ac35760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610dce565b565b613acf828261221b565b6114a85760008281526067602090815260408083206001600160a01b03851684529091529020805460ff19166001179055613b073390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6115888133613fd6565b613b5f828261221b565b156114a85760008281526067602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b613be67f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e33361221b565b6115885760405162461bcd60e51b815260206004820181905260248201527f4f6e6c792055504752414445522063616e20706572666f726d20616374696f6e6044820152606401610dce565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615613c65576114298361402f565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613cbf575060408051601f3d908101601f19168201909252613cbc918101906148e3565b60015b613d225760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610dce565b600080516020614c078339815191528114613d915760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610dce565b506114298383836140cb565b7fef78ff2707f55cf683ecba27f753a1f73d88a2972299daeedcdcce2c52b7821d600090815260208190527fe48cbce158a88b2ae025b935f2c891db41fa49d66e958301265adefc644e9075805490918391839190613dfd9084906147bf565b90915550505050565b33600090815260fd6020908152604080832081516101e081018352601e81526008938101939093526003918301919091526002606083018190526080830152600160a0830181905260c0830181905260e08301819052610100830181905261012083018190526101408301819052610160830181905261018083018190526101a083018190526101c08301528391829190845b600f811015613f8f578254630100000090046001600160a01b031680613ebf5750613f8f565b6001600160a01b03811660009081526001602052604081205460ff1615159003613f6457613eec81613293565b60008383600f8110613f0057613f00614822565b602002015160ff16905060006064613f18838a614964565b613f22919061497b565b6001600160a01b038416600090815260fe6020526040812080549293508392909190613f4f9084906147bf565b90915550613f5f90508188614838565b965050505b6001600160a01b0316600090815260fd60205260409020925080613f8781614809565b915050613e99565b509195945050505050565b600080516020614c4e83398151915260009081526020819052600080516020614be7833981519152805490918391839190613dfd9084906147bf565b613fe0828261221b565b6114a857613fed816140f6565b613ff8836020614108565b604051602001614009929190614b0b565b60408051601f198184030181529082905262461bcd60e51b8252610dce91600401614b80565b6001600160a01b0381163b61409c5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610dce565b600080516020614c0783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6140d4836142ab565b6000825111806140e15750805b15611429576140f083836142eb565b50505050565b6060610d886001600160a01b03831660145b60606000614117836002614964565b6141229060026147bf565b67ffffffffffffffff81111561413a5761413a6144dd565b6040519080825280601f01601f191660200182016040528015614164576020820181803683370190505b509050600360fc1b8160008151811061417f5761417f614822565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106141ae576141ae614822565b60200101906001600160f81b031916908160001a90535060006141d2846002614964565b6141dd9060016147bf565b90505b6001811115614255576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061421157614211614822565b1a60f81b82828151811061422757614227614822565b60200101906001600160f81b031916908160001a90535060049490941c9361424e81614bb3565b90506141e0565b5083156142a45760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610dce565b9392505050565b6142b48161402f565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606142a48383604051806060016040528060278152602001614c27602791396060600080856001600160a01b0316856040516143289190614bca565b600060405180830381855af49150503d8060008114614363576040519150601f19603f3d011682016040523d82523d6000602084013e614368565b606091505b50915091506126e886838387606083156143e35782516000036143dc576001600160a01b0385163b6143dc5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610dce565b50816143ed565b6143ed83836143f5565b949350505050565b8151156144055781518083602001fd5b8060405162461bcd60e51b8152600401610dce9190614b80565b60006020828403121561443157600080fd5b81356001600160e01b0319811681146142a457600080fd5b6001600160a01b038116811461158857600080fd5b60006020828403121561447057600080fd5b81356142a481614449565b60006020828403121561448d57600080fd5b5035919050565b803561449f81614449565b919050565b600080604083850312156144b757600080fd5b82356144c281614449565b915060208301356144d281614449565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561451c5761451c6144dd565b604052919050565b600080600080600080600060e0888a03121561453f57600080fd5b873561454a81614449565b965060208881013567ffffffffffffffff8082111561456857600080fd5b818b0191508b601f83011261457c57600080fd5b81358181111561458e5761458e6144dd565b8060051b915061459f8483016144f3565b818152918301840191848101908e8411156145b957600080fd5b938501935b838510156145e357843592506145d383614449565b82825293850193908501906145be565b809b505050505050506145f860408901614494565b945061460660608901614494565b935061461460808901614494565b925060a0880135915060c0880135905092959891949750929550565b6000806040838503121561464357600080fd5b8235915060208301356144d281614449565b6000806040838503121561466857600080fd5b823561467381614449565b915060208381013567ffffffffffffffff8082111561469157600080fd5b818601915086601f8301126146a557600080fd5b8135818111156146b7576146b76144dd565b6146c9601f8201601f191685016144f3565b915080825287848285010111156146df57600080fd5b80848401858401376000848284010152508093505050509250929050565b6000806040838503121561471057600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6007811061475357634e487b7160e01b600052602160045260246000fd5b9052565b8815158152871515602082015261010081016147766040830189614735565b6001600160a01b03969096166060820152608081019490945260a084019290925260c083015260e0909101529392505050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610d8857610d886147a9565b6020808252601d908201527f4f6e6c792041646d696e2063616e20706572666f726d20616374696f6e000000604082015260600190565b60006001820161481b5761481b6147a9565b5060010190565b634e487b7160e01b600052603260045260246000fd5b81810381811115610d8857610d886147a9565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6000602082840312156148f557600080fd5b5051919050565b6001600160a01b03929092168252602082015260400190565b60006020828403121561492757600080fd5b815180151581146142a457600080fd5b6020808252601390820152721059191c995cdcc8189b1858dadb1a5cdd1959606a1b604082015260600190565b8082028115828204841417610d8857610d886147a9565b60008261499857634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156149af57600080fd5b815160ff811681146142a457600080fd5b600181815b808511156149fb5781600019048211156149e1576149e16147a9565b808516156149ee57918102915b93841c93908002906149c5565b509250929050565b600082614a1257506001610d88565b81614a1f57506000610d88565b8160018114614a355760028114614a3f57614a5b565b6001915050610d88565b60ff841115614a5057614a506147a9565b50506001821b610d88565b5060208310610133831016604e8410600b8410161715614a7e575081810a610d88565b614a8883836149c0565b8060001904821115614a9c57614a9c6147a9565b029392505050565b60006142a460ff841683614a03565b6020808252600c908201526b4e6f7420456c696769626c6560a01b604082015260600190565b60208101610d888284614735565b60005b83811015614b02578181015183820152602001614aea565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351614b43816017850160208801614ae7565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351614b74816028840160208801614ae7565b01602801949350505050565b6020815260008251806020840152614b9f816040850160208701614ae7565b601f01601f19169190910160400192915050565b600081614bc257614bc26147a9565b506000190190565b60008251614bdc818460208701614ae7565b919091019291505056fe335d3c6b885408497fbfb0b6def492ee75738904e5f4f2ba351dbd9fcd1022c0360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65644caf09f7dd9cf5930a0d30d4dba10a4d06c1e6d90491f8198b355f99152771b02a4f530ae55f002aac4686b649762fc68e96bd8b80ac835b41777145c94e1f8a335d3c6b885408497fbfb0b6def492ee75738904e5f4f2ba351dbd9fcd1022c1a264697066735822122071d85eb8503dc31499c859b1867ec003d30db9c03c3fbf15e00aa8c312f6d30564736f6c63430008110033",
1216
+ "linkReferences": {},
1217
+ "deployedLinkReferences": {}
1218
+ }