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,1111 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "NFTGenesis",
4
+ "sourceName": "contracts/NFTGenesis.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": "owner",
37
+ "type": "address"
38
+ },
39
+ {
40
+ "indexed": true,
41
+ "internalType": "address",
42
+ "name": "approved",
43
+ "type": "address"
44
+ },
45
+ {
46
+ "indexed": true,
47
+ "internalType": "uint256",
48
+ "name": "tokenId",
49
+ "type": "uint256"
50
+ }
51
+ ],
52
+ "name": "Approval",
53
+ "type": "event"
54
+ },
55
+ {
56
+ "anonymous": false,
57
+ "inputs": [
58
+ {
59
+ "indexed": true,
60
+ "internalType": "address",
61
+ "name": "owner",
62
+ "type": "address"
63
+ },
64
+ {
65
+ "indexed": true,
66
+ "internalType": "address",
67
+ "name": "operator",
68
+ "type": "address"
69
+ },
70
+ {
71
+ "indexed": false,
72
+ "internalType": "bool",
73
+ "name": "approved",
74
+ "type": "bool"
75
+ }
76
+ ],
77
+ "name": "ApprovalForAll",
78
+ "type": "event"
79
+ },
80
+ {
81
+ "anonymous": false,
82
+ "inputs": [
83
+ {
84
+ "indexed": false,
85
+ "internalType": "uint256",
86
+ "name": "_fromTokenId",
87
+ "type": "uint256"
88
+ },
89
+ {
90
+ "indexed": false,
91
+ "internalType": "uint256",
92
+ "name": "_toTokenId",
93
+ "type": "uint256"
94
+ }
95
+ ],
96
+ "name": "BatchMetadataUpdate",
97
+ "type": "event"
98
+ },
99
+ {
100
+ "anonymous": false,
101
+ "inputs": [
102
+ {
103
+ "indexed": true,
104
+ "internalType": "address",
105
+ "name": "beacon",
106
+ "type": "address"
107
+ }
108
+ ],
109
+ "name": "BeaconUpgraded",
110
+ "type": "event"
111
+ },
112
+ {
113
+ "anonymous": false,
114
+ "inputs": [
115
+ {
116
+ "indexed": true,
117
+ "internalType": "address",
118
+ "name": "_from",
119
+ "type": "address"
120
+ },
121
+ {
122
+ "indexed": false,
123
+ "internalType": "uint256[]",
124
+ "name": "_tokenIds",
125
+ "type": "uint256[]"
126
+ }
127
+ ],
128
+ "name": "BuyMultipleNFT",
129
+ "type": "event"
130
+ },
131
+ {
132
+ "anonymous": false,
133
+ "inputs": [
134
+ {
135
+ "indexed": true,
136
+ "internalType": "address",
137
+ "name": "_from",
138
+ "type": "address"
139
+ },
140
+ {
141
+ "indexed": false,
142
+ "internalType": "uint256",
143
+ "name": "value",
144
+ "type": "uint256"
145
+ }
146
+ ],
147
+ "name": "ClaimReward",
148
+ "type": "event"
149
+ },
150
+ {
151
+ "anonymous": false,
152
+ "inputs": [
153
+ {
154
+ "indexed": true,
155
+ "internalType": "address",
156
+ "name": "from",
157
+ "type": "address"
158
+ },
159
+ {
160
+ "indexed": false,
161
+ "internalType": "uint256",
162
+ "name": "value",
163
+ "type": "uint256"
164
+ }
165
+ ],
166
+ "name": "DistributeRewards",
167
+ "type": "event"
168
+ },
169
+ {
170
+ "anonymous": false,
171
+ "inputs": [
172
+ {
173
+ "indexed": true,
174
+ "internalType": "address",
175
+ "name": "referrer",
176
+ "type": "address"
177
+ },
178
+ {
179
+ "indexed": false,
180
+ "internalType": "uint256",
181
+ "name": "value",
182
+ "type": "uint256"
183
+ }
184
+ ],
185
+ "name": "GenesisClaimReferralReward",
186
+ "type": "event"
187
+ },
188
+ {
189
+ "anonymous": false,
190
+ "inputs": [
191
+ {
192
+ "indexed": true,
193
+ "internalType": "uint256",
194
+ "name": "typePool",
195
+ "type": "uint256"
196
+ },
197
+ {
198
+ "indexed": false,
199
+ "internalType": "uint256",
200
+ "name": "value",
201
+ "type": "uint256"
202
+ },
203
+ {
204
+ "indexed": false,
205
+ "internalType": "uint256",
206
+ "name": "newMarker",
207
+ "type": "uint256"
208
+ }
209
+ ],
210
+ "name": "GenesisPoolDistributed",
211
+ "type": "event"
212
+ },
213
+ {
214
+ "anonymous": false,
215
+ "inputs": [
216
+ {
217
+ "indexed": true,
218
+ "internalType": "address",
219
+ "name": "referrer",
220
+ "type": "address"
221
+ },
222
+ {
223
+ "indexed": true,
224
+ "internalType": "address",
225
+ "name": "buyer",
226
+ "type": "address"
227
+ },
228
+ {
229
+ "indexed": false,
230
+ "internalType": "uint256",
231
+ "name": "value",
232
+ "type": "uint256"
233
+ }
234
+ ],
235
+ "name": "GenesisReferralReward",
236
+ "type": "event"
237
+ },
238
+ {
239
+ "anonymous": false,
240
+ "inputs": [
241
+ {
242
+ "indexed": false,
243
+ "internalType": "uint8",
244
+ "name": "version",
245
+ "type": "uint8"
246
+ }
247
+ ],
248
+ "name": "Initialized",
249
+ "type": "event"
250
+ },
251
+ {
252
+ "anonymous": false,
253
+ "inputs": [
254
+ {
255
+ "indexed": false,
256
+ "internalType": "uint256",
257
+ "name": "_tokenId",
258
+ "type": "uint256"
259
+ }
260
+ ],
261
+ "name": "MetadataUpdate",
262
+ "type": "event"
263
+ },
264
+ {
265
+ "anonymous": false,
266
+ "inputs": [
267
+ {
268
+ "indexed": true,
269
+ "internalType": "uint256",
270
+ "name": "cardId",
271
+ "type": "uint256"
272
+ },
273
+ {
274
+ "indexed": false,
275
+ "internalType": "uint256",
276
+ "name": "price",
277
+ "type": "uint256"
278
+ },
279
+ {
280
+ "indexed": false,
281
+ "internalType": "uint256",
282
+ "name": "percentage",
283
+ "type": "uint256"
284
+ },
285
+ {
286
+ "indexed": false,
287
+ "internalType": "uint256",
288
+ "name": "maxMinted",
289
+ "type": "uint256"
290
+ }
291
+ ],
292
+ "name": "NFTTypeAdded",
293
+ "type": "event"
294
+ },
295
+ {
296
+ "anonymous": false,
297
+ "inputs": [
298
+ {
299
+ "indexed": true,
300
+ "internalType": "address",
301
+ "name": "previousOwner",
302
+ "type": "address"
303
+ },
304
+ {
305
+ "indexed": true,
306
+ "internalType": "address",
307
+ "name": "newOwner",
308
+ "type": "address"
309
+ }
310
+ ],
311
+ "name": "OwnershipTransferred",
312
+ "type": "event"
313
+ },
314
+ {
315
+ "anonymous": false,
316
+ "inputs": [
317
+ {
318
+ "indexed": true,
319
+ "internalType": "address",
320
+ "name": "from",
321
+ "type": "address"
322
+ },
323
+ {
324
+ "indexed": true,
325
+ "internalType": "address",
326
+ "name": "to",
327
+ "type": "address"
328
+ },
329
+ {
330
+ "indexed": true,
331
+ "internalType": "uint256",
332
+ "name": "tokenId",
333
+ "type": "uint256"
334
+ }
335
+ ],
336
+ "name": "Transfer",
337
+ "type": "event"
338
+ },
339
+ {
340
+ "anonymous": false,
341
+ "inputs": [
342
+ {
343
+ "indexed": true,
344
+ "internalType": "address",
345
+ "name": "implementation",
346
+ "type": "address"
347
+ }
348
+ ],
349
+ "name": "Upgraded",
350
+ "type": "event"
351
+ },
352
+ {
353
+ "inputs": [
354
+ {
355
+ "internalType": "uint256",
356
+ "name": "_price",
357
+ "type": "uint256"
358
+ },
359
+ {
360
+ "internalType": "uint256",
361
+ "name": "_percentage",
362
+ "type": "uint256"
363
+ },
364
+ {
365
+ "internalType": "uint256",
366
+ "name": "_maxMinted",
367
+ "type": "uint256"
368
+ }
369
+ ],
370
+ "name": "addNft",
371
+ "outputs": [],
372
+ "stateMutability": "nonpayable",
373
+ "type": "function"
374
+ },
375
+ {
376
+ "inputs": [],
377
+ "name": "amountNftTypes",
378
+ "outputs": [
379
+ {
380
+ "internalType": "uint256",
381
+ "name": "",
382
+ "type": "uint256"
383
+ }
384
+ ],
385
+ "stateMutability": "view",
386
+ "type": "function"
387
+ },
388
+ {
389
+ "inputs": [
390
+ {
391
+ "internalType": "address",
392
+ "name": "to",
393
+ "type": "address"
394
+ },
395
+ {
396
+ "internalType": "uint256",
397
+ "name": "tokenId",
398
+ "type": "uint256"
399
+ }
400
+ ],
401
+ "name": "approve",
402
+ "outputs": [],
403
+ "stateMutability": "nonpayable",
404
+ "type": "function"
405
+ },
406
+ {
407
+ "inputs": [
408
+ {
409
+ "internalType": "address",
410
+ "name": "owner",
411
+ "type": "address"
412
+ }
413
+ ],
414
+ "name": "balanceOf",
415
+ "outputs": [
416
+ {
417
+ "internalType": "uint256",
418
+ "name": "",
419
+ "type": "uint256"
420
+ }
421
+ ],
422
+ "stateMutability": "view",
423
+ "type": "function"
424
+ },
425
+ {
426
+ "inputs": [
427
+ {
428
+ "internalType": "uint256",
429
+ "name": "cardId",
430
+ "type": "uint256"
431
+ },
432
+ {
433
+ "internalType": "uint256",
434
+ "name": "amount",
435
+ "type": "uint256"
436
+ }
437
+ ],
438
+ "name": "buyMultipleNFT",
439
+ "outputs": [],
440
+ "stateMutability": "nonpayable",
441
+ "type": "function"
442
+ },
443
+ {
444
+ "inputs": [
445
+ {
446
+ "internalType": "uint256",
447
+ "name": "",
448
+ "type": "uint256"
449
+ }
450
+ ],
451
+ "name": "cardMap",
452
+ "outputs": [
453
+ {
454
+ "internalType": "uint256",
455
+ "name": "price",
456
+ "type": "uint256"
457
+ },
458
+ {
459
+ "internalType": "uint256",
460
+ "name": "genesisPercentage",
461
+ "type": "uint256"
462
+ },
463
+ {
464
+ "internalType": "uint256",
465
+ "name": "totalMinted",
466
+ "type": "uint256"
467
+ },
468
+ {
469
+ "internalType": "uint256",
470
+ "name": "maxMinted",
471
+ "type": "uint256"
472
+ }
473
+ ],
474
+ "stateMutability": "view",
475
+ "type": "function"
476
+ },
477
+ {
478
+ "inputs": [],
479
+ "name": "claimReferralReward",
480
+ "outputs": [],
481
+ "stateMutability": "nonpayable",
482
+ "type": "function"
483
+ },
484
+ {
485
+ "inputs": [
486
+ {
487
+ "internalType": "uint256",
488
+ "name": "cardId",
489
+ "type": "uint256"
490
+ }
491
+ ],
492
+ "name": "claimRewards",
493
+ "outputs": [],
494
+ "stateMutability": "nonpayable",
495
+ "type": "function"
496
+ },
497
+ {
498
+ "inputs": [
499
+ {
500
+ "internalType": "uint256",
501
+ "name": "typePool",
502
+ "type": "uint256"
503
+ },
504
+ {
505
+ "internalType": "uint256",
506
+ "name": "value",
507
+ "type": "uint256"
508
+ }
509
+ ],
510
+ "name": "distributeGenesisRewards",
511
+ "outputs": [],
512
+ "stateMutability": "nonpayable",
513
+ "type": "function"
514
+ },
515
+ {
516
+ "inputs": [
517
+ {
518
+ "internalType": "address",
519
+ "name": "",
520
+ "type": "address"
521
+ }
522
+ ],
523
+ "name": "genesisReferralRewardMap",
524
+ "outputs": [
525
+ {
526
+ "internalType": "uint256",
527
+ "name": "",
528
+ "type": "uint256"
529
+ }
530
+ ],
531
+ "stateMutability": "view",
532
+ "type": "function"
533
+ },
534
+ {
535
+ "inputs": [
536
+ {
537
+ "internalType": "uint256",
538
+ "name": "tokenId",
539
+ "type": "uint256"
540
+ }
541
+ ],
542
+ "name": "getApproved",
543
+ "outputs": [
544
+ {
545
+ "internalType": "address",
546
+ "name": "",
547
+ "type": "address"
548
+ }
549
+ ],
550
+ "stateMutability": "view",
551
+ "type": "function"
552
+ },
553
+ {
554
+ "inputs": [],
555
+ "name": "gnetERC20",
556
+ "outputs": [
557
+ {
558
+ "internalType": "contract CROWD",
559
+ "name": "",
560
+ "type": "address"
561
+ }
562
+ ],
563
+ "stateMutability": "view",
564
+ "type": "function"
565
+ },
566
+ {
567
+ "inputs": [
568
+ {
569
+ "internalType": "contract CROWD",
570
+ "name": "_gnetERC20",
571
+ "type": "address"
572
+ },
573
+ {
574
+ "internalType": "contract CUSDT",
575
+ "name": "_usdtERC20",
576
+ "type": "address"
577
+ },
578
+ {
579
+ "internalType": "contract NFT",
580
+ "name": "_valhallaNFT",
581
+ "type": "address"
582
+ },
583
+ {
584
+ "internalType": "contract Network",
585
+ "name": "_valhalla",
586
+ "type": "address"
587
+ },
588
+ {
589
+ "internalType": "address",
590
+ "name": "_receiver",
591
+ "type": "address"
592
+ }
593
+ ],
594
+ "name": "initialize",
595
+ "outputs": [],
596
+ "stateMutability": "nonpayable",
597
+ "type": "function"
598
+ },
599
+ {
600
+ "inputs": [
601
+ {
602
+ "internalType": "address",
603
+ "name": "owner",
604
+ "type": "address"
605
+ },
606
+ {
607
+ "internalType": "address",
608
+ "name": "operator",
609
+ "type": "address"
610
+ }
611
+ ],
612
+ "name": "isApprovedForAll",
613
+ "outputs": [
614
+ {
615
+ "internalType": "bool",
616
+ "name": "",
617
+ "type": "bool"
618
+ }
619
+ ],
620
+ "stateMutability": "view",
621
+ "type": "function"
622
+ },
623
+ {
624
+ "inputs": [
625
+ {
626
+ "internalType": "uint256",
627
+ "name": "cardId",
628
+ "type": "uint256"
629
+ },
630
+ {
631
+ "internalType": "address",
632
+ "name": "_address",
633
+ "type": "address"
634
+ }
635
+ ],
636
+ "name": "myNftRewards",
637
+ "outputs": [
638
+ {
639
+ "internalType": "uint256",
640
+ "name": "",
641
+ "type": "uint256"
642
+ }
643
+ ],
644
+ "stateMutability": "view",
645
+ "type": "function"
646
+ },
647
+ {
648
+ "inputs": [],
649
+ "name": "name",
650
+ "outputs": [
651
+ {
652
+ "internalType": "string",
653
+ "name": "",
654
+ "type": "string"
655
+ }
656
+ ],
657
+ "stateMutability": "view",
658
+ "type": "function"
659
+ },
660
+ {
661
+ "inputs": [
662
+ {
663
+ "internalType": "address",
664
+ "name": "",
665
+ "type": "address"
666
+ },
667
+ {
668
+ "internalType": "uint256",
669
+ "name": "",
670
+ "type": "uint256"
671
+ }
672
+ ],
673
+ "name": "nftGenesis",
674
+ "outputs": [
675
+ {
676
+ "internalType": "uint256",
677
+ "name": "ownedNfts",
678
+ "type": "uint256"
679
+ },
680
+ {
681
+ "internalType": "uint256",
682
+ "name": "currentRewards",
683
+ "type": "uint256"
684
+ }
685
+ ],
686
+ "stateMutability": "view",
687
+ "type": "function"
688
+ },
689
+ {
690
+ "inputs": [],
691
+ "name": "nftGenesisPool",
692
+ "outputs": [
693
+ {
694
+ "internalType": "uint256",
695
+ "name": "",
696
+ "type": "uint256"
697
+ }
698
+ ],
699
+ "stateMutability": "view",
700
+ "type": "function"
701
+ },
702
+ {
703
+ "inputs": [
704
+ {
705
+ "internalType": "uint256",
706
+ "name": "",
707
+ "type": "uint256"
708
+ }
709
+ ],
710
+ "name": "nftGenesisPoolMarker",
711
+ "outputs": [
712
+ {
713
+ "internalType": "uint256",
714
+ "name": "",
715
+ "type": "uint256"
716
+ }
717
+ ],
718
+ "stateMutability": "view",
719
+ "type": "function"
720
+ },
721
+ {
722
+ "inputs": [],
723
+ "name": "owner",
724
+ "outputs": [
725
+ {
726
+ "internalType": "address",
727
+ "name": "",
728
+ "type": "address"
729
+ }
730
+ ],
731
+ "stateMutability": "view",
732
+ "type": "function"
733
+ },
734
+ {
735
+ "inputs": [
736
+ {
737
+ "internalType": "uint256",
738
+ "name": "tokenId",
739
+ "type": "uint256"
740
+ }
741
+ ],
742
+ "name": "ownerOf",
743
+ "outputs": [
744
+ {
745
+ "internalType": "address",
746
+ "name": "",
747
+ "type": "address"
748
+ }
749
+ ],
750
+ "stateMutability": "view",
751
+ "type": "function"
752
+ },
753
+ {
754
+ "inputs": [
755
+ {
756
+ "internalType": "uint256",
757
+ "name": "nftType",
758
+ "type": "uint256"
759
+ }
760
+ ],
761
+ "name": "percentageByNftType",
762
+ "outputs": [
763
+ {
764
+ "internalType": "uint256",
765
+ "name": "",
766
+ "type": "uint256"
767
+ }
768
+ ],
769
+ "stateMutability": "view",
770
+ "type": "function"
771
+ },
772
+ {
773
+ "inputs": [],
774
+ "name": "proxiableUUID",
775
+ "outputs": [
776
+ {
777
+ "internalType": "bytes32",
778
+ "name": "",
779
+ "type": "bytes32"
780
+ }
781
+ ],
782
+ "stateMutability": "view",
783
+ "type": "function"
784
+ },
785
+ {
786
+ "inputs": [],
787
+ "name": "receiverAddress",
788
+ "outputs": [
789
+ {
790
+ "internalType": "address",
791
+ "name": "",
792
+ "type": "address"
793
+ }
794
+ ],
795
+ "stateMutability": "view",
796
+ "type": "function"
797
+ },
798
+ {
799
+ "inputs": [],
800
+ "name": "renounceOwnership",
801
+ "outputs": [],
802
+ "stateMutability": "nonpayable",
803
+ "type": "function"
804
+ },
805
+ {
806
+ "inputs": [
807
+ {
808
+ "internalType": "address",
809
+ "name": "to",
810
+ "type": "address"
811
+ }
812
+ ],
813
+ "name": "safeMint",
814
+ "outputs": [],
815
+ "stateMutability": "nonpayable",
816
+ "type": "function"
817
+ },
818
+ {
819
+ "inputs": [
820
+ {
821
+ "internalType": "address",
822
+ "name": "from",
823
+ "type": "address"
824
+ },
825
+ {
826
+ "internalType": "address",
827
+ "name": "to",
828
+ "type": "address"
829
+ },
830
+ {
831
+ "internalType": "uint256",
832
+ "name": "tokenId",
833
+ "type": "uint256"
834
+ }
835
+ ],
836
+ "name": "safeTransferFrom",
837
+ "outputs": [],
838
+ "stateMutability": "nonpayable",
839
+ "type": "function"
840
+ },
841
+ {
842
+ "inputs": [
843
+ {
844
+ "internalType": "address",
845
+ "name": "from",
846
+ "type": "address"
847
+ },
848
+ {
849
+ "internalType": "address",
850
+ "name": "to",
851
+ "type": "address"
852
+ },
853
+ {
854
+ "internalType": "uint256",
855
+ "name": "tokenId",
856
+ "type": "uint256"
857
+ },
858
+ {
859
+ "internalType": "bytes",
860
+ "name": "data",
861
+ "type": "bytes"
862
+ }
863
+ ],
864
+ "name": "safeTransferFrom",
865
+ "outputs": [],
866
+ "stateMutability": "nonpayable",
867
+ "type": "function"
868
+ },
869
+ {
870
+ "inputs": [
871
+ {
872
+ "internalType": "address",
873
+ "name": "operator",
874
+ "type": "address"
875
+ },
876
+ {
877
+ "internalType": "bool",
878
+ "name": "approved",
879
+ "type": "bool"
880
+ }
881
+ ],
882
+ "name": "setApprovalForAll",
883
+ "outputs": [],
884
+ "stateMutability": "nonpayable",
885
+ "type": "function"
886
+ },
887
+ {
888
+ "inputs": [
889
+ {
890
+ "internalType": "bytes4",
891
+ "name": "interfaceId",
892
+ "type": "bytes4"
893
+ }
894
+ ],
895
+ "name": "supportsInterface",
896
+ "outputs": [
897
+ {
898
+ "internalType": "bool",
899
+ "name": "",
900
+ "type": "bool"
901
+ }
902
+ ],
903
+ "stateMutability": "view",
904
+ "type": "function"
905
+ },
906
+ {
907
+ "inputs": [],
908
+ "name": "symbol",
909
+ "outputs": [
910
+ {
911
+ "internalType": "string",
912
+ "name": "",
913
+ "type": "string"
914
+ }
915
+ ],
916
+ "stateMutability": "view",
917
+ "type": "function"
918
+ },
919
+ {
920
+ "inputs": [
921
+ {
922
+ "internalType": "uint256",
923
+ "name": "index",
924
+ "type": "uint256"
925
+ }
926
+ ],
927
+ "name": "tokenByIndex",
928
+ "outputs": [
929
+ {
930
+ "internalType": "uint256",
931
+ "name": "",
932
+ "type": "uint256"
933
+ }
934
+ ],
935
+ "stateMutability": "view",
936
+ "type": "function"
937
+ },
938
+ {
939
+ "inputs": [
940
+ {
941
+ "internalType": "uint256",
942
+ "name": "",
943
+ "type": "uint256"
944
+ }
945
+ ],
946
+ "name": "tokenIdToCardId",
947
+ "outputs": [
948
+ {
949
+ "internalType": "uint256",
950
+ "name": "",
951
+ "type": "uint256"
952
+ }
953
+ ],
954
+ "stateMutability": "view",
955
+ "type": "function"
956
+ },
957
+ {
958
+ "inputs": [
959
+ {
960
+ "internalType": "address",
961
+ "name": "owner",
962
+ "type": "address"
963
+ },
964
+ {
965
+ "internalType": "uint256",
966
+ "name": "index",
967
+ "type": "uint256"
968
+ }
969
+ ],
970
+ "name": "tokenOfOwnerByIndex",
971
+ "outputs": [
972
+ {
973
+ "internalType": "uint256",
974
+ "name": "",
975
+ "type": "uint256"
976
+ }
977
+ ],
978
+ "stateMutability": "view",
979
+ "type": "function"
980
+ },
981
+ {
982
+ "inputs": [
983
+ {
984
+ "internalType": "uint256",
985
+ "name": "tokenId",
986
+ "type": "uint256"
987
+ }
988
+ ],
989
+ "name": "tokenURI",
990
+ "outputs": [
991
+ {
992
+ "internalType": "string",
993
+ "name": "",
994
+ "type": "string"
995
+ }
996
+ ],
997
+ "stateMutability": "view",
998
+ "type": "function"
999
+ },
1000
+ {
1001
+ "inputs": [],
1002
+ "name": "totalSupply",
1003
+ "outputs": [
1004
+ {
1005
+ "internalType": "uint256",
1006
+ "name": "",
1007
+ "type": "uint256"
1008
+ }
1009
+ ],
1010
+ "stateMutability": "view",
1011
+ "type": "function"
1012
+ },
1013
+ {
1014
+ "inputs": [
1015
+ {
1016
+ "internalType": "address",
1017
+ "name": "from",
1018
+ "type": "address"
1019
+ },
1020
+ {
1021
+ "internalType": "address",
1022
+ "name": "to",
1023
+ "type": "address"
1024
+ },
1025
+ {
1026
+ "internalType": "uint256",
1027
+ "name": "tokenId",
1028
+ "type": "uint256"
1029
+ }
1030
+ ],
1031
+ "name": "transferFrom",
1032
+ "outputs": [],
1033
+ "stateMutability": "nonpayable",
1034
+ "type": "function"
1035
+ },
1036
+ {
1037
+ "inputs": [
1038
+ {
1039
+ "internalType": "address",
1040
+ "name": "newOwner",
1041
+ "type": "address"
1042
+ }
1043
+ ],
1044
+ "name": "transferOwnership",
1045
+ "outputs": [],
1046
+ "stateMutability": "nonpayable",
1047
+ "type": "function"
1048
+ },
1049
+ {
1050
+ "inputs": [
1051
+ {
1052
+ "internalType": "address",
1053
+ "name": "newImplementation",
1054
+ "type": "address"
1055
+ }
1056
+ ],
1057
+ "name": "upgradeTo",
1058
+ "outputs": [],
1059
+ "stateMutability": "nonpayable",
1060
+ "type": "function"
1061
+ },
1062
+ {
1063
+ "inputs": [
1064
+ {
1065
+ "internalType": "address",
1066
+ "name": "newImplementation",
1067
+ "type": "address"
1068
+ },
1069
+ {
1070
+ "internalType": "bytes",
1071
+ "name": "data",
1072
+ "type": "bytes"
1073
+ }
1074
+ ],
1075
+ "name": "upgradeToAndCall",
1076
+ "outputs": [],
1077
+ "stateMutability": "payable",
1078
+ "type": "function"
1079
+ },
1080
+ {
1081
+ "inputs": [],
1082
+ "name": "usdtERC20",
1083
+ "outputs": [
1084
+ {
1085
+ "internalType": "contract CUSDT",
1086
+ "name": "",
1087
+ "type": "address"
1088
+ }
1089
+ ],
1090
+ "stateMutability": "view",
1091
+ "type": "function"
1092
+ },
1093
+ {
1094
+ "inputs": [],
1095
+ "name": "valhalla",
1096
+ "outputs": [
1097
+ {
1098
+ "internalType": "contract Network",
1099
+ "name": "",
1100
+ "type": "address"
1101
+ }
1102
+ ],
1103
+ "stateMutability": "view",
1104
+ "type": "function"
1105
+ }
1106
+ ],
1107
+ "bytecode": "0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000e7565b600054610100900460ff1615620000935760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000e5576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60805161408b6200011f6000396000818161109f015281816110df015281816111c901528181611209015261132b015261408b6000f3fe6080604052600436106102515760003560e01c80638da5cb5b11610139578063bb712460116100b6578063e7cb1f3e1161007a578063e7cb1f3e1461076c578063e961e1ff1461078c578063e985e9c5146107ad578063ed65af74146107f6578063f2fde38b14610817578063fadca7121461083757600080fd5b8063bb7124601461068f578063c78e5b37146106bd578063c87b56dd146106d4578063dc3676b7146106f4578063e4305a291461070957600080fd5b8063a61ba52e116100fd578063a61ba52e146105ac578063b6593c8e146105da578063b696741f146105fa578063b71bc8bc1461064f578063b88d4fde1461066f57600080fd5b80638da5cb5b1461051657806395d89b41146105345780639b4b2c9c146105495780639f7761a91461055e578063a22cb4651461058c57600080fd5b806323b872dd116101d25780634f1ef286116101965780634f1ef286146104795780634f6ccce71461048c57806352d1902d146104ac5780636352211e146104c157806370a08231146104e1578063715018a61461050157600080fd5b806323b872dd146103d95780632f745c59146103f95780633659cfe61461041957806340d097c31461043957806342842e0e1461045957600080fd5b80630a2a6e37116102195780630a2a6e37146103275780631459457a1461034857806316fed3e21461036857806318160ddd146103895780631d06c3b2146103a857600080fd5b806301ffc9a71461025657806306fdde031461028b578063081812fc146102ad578063095ea7b3146102e55780630962ef7914610307575b600080fd5b34801561026257600080fd5b50610276610271366004613578565b610857565b60405190151581526020015b60405180910390f35b34801561029757600080fd5b506102a0610868565b60405161028291906135e5565b3480156102b957600080fd5b506102cd6102c83660046135f8565b6108fa565b6040516001600160a01b039091168152602001610282565b3480156102f157600080fd5b50610305610300366004613626565b610921565b005b34801561031357600080fd5b506103056103223660046135f8565b610a3b565b34801561033357600080fd5b506101c7546102cd906001600160a01b031681565b34801561035457600080fd5b50610305610363366004613652565b610ad7565b34801561037457600080fd5b506101ce546102cd906001600160a01b031681565b34801561039557600080fd5b5060cb545b604051908152602001610282565b3480156103b457600080fd5b5061039a6103c33660046135f8565b60009081526101ca602052604090206001015490565b3480156103e557600080fd5b506103056103f43660046136c3565b610e42565b34801561040557600080fd5b5061039a610414366004613626565b610fff565b34801561042557600080fd5b50610305610434366004613704565b611095565b34801561044557600080fd5b50610305610454366004613704565b611171565b34801561046557600080fd5b506103056104743660046136c3565b6111a4565b6103056104873660046137c4565b6111bf565b34801561049857600080fd5b5061039a6104a73660046135f8565b61128b565b3480156104b857600080fd5b5061039a61131e565b3480156104cd57600080fd5b506102cd6104dc3660046135f8565b6113d1565b3480156104ed57600080fd5b5061039a6104fc366004613704565b611431565b34801561050d57600080fd5b506103056114b7565b34801561052257600080fd5b506097546001600160a01b03166102cd565b34801561054057600080fd5b506102a06114cb565b34801561055557600080fd5b506103056114da565b34801561056a57600080fd5b5061039a6105793660046135f8565b6101c96020526000908152604090205481565b34801561059857600080fd5b506103056105a7366004613822565b61160c565b3480156105b857600080fd5b5061039a6105c7366004613704565b6101cd6020526000908152604090205481565b3480156105e657600080fd5b506103056105f536600461385b565b611617565b34801561060657600080fd5b5061063a610615366004613626565b6101cb6020908152600092835260408084209091529082529020805460019091015482565b60408051928352602083019190915201610282565b34801561065b57600080fd5b5061039a61066a36600461387d565b611773565b34801561067b57600080fd5b5061030561068a3660046138a2565b6117f5565b34801561069b57600080fd5b5061039a6106aa3660046135f8565b6101cc6020526000908152604090205481565b3480156106c957600080fd5b5061039a6101cf5481565b3480156106e057600080fd5b506102a06106ef3660046135f8565b61182d565b34801561070057600080fd5b5061039a611838565b34801561071557600080fd5b5061074c6107243660046135f8565b6101ca6020526000908152604090208054600182015460028301546003909301549192909184565b604080519485526020850193909352918301526060820152608001610282565b34801561077857600080fd5b5061030561078736600461390e565b611849565b34801561079857600080fd5b506101c5546102cd906001600160a01b031681565b3480156107b957600080fd5b506102766107c836600461393a565b6001600160a01b039182166000908152606a6020908152604080832093909416825291909152205460ff1690565b34801561080257600080fd5b506101c6546102cd906001600160a01b031681565b34801561082357600080fd5b50610305610832366004613704565b611a60565b34801561084357600080fd5b5061030561085236600461385b565b611ad6565b600061086282612034565b92915050565b60606065805461087790613968565b80601f01602080910402602001604051908101604052809291908181526020018280546108a390613968565b80156108f05780601f106108c5576101008083540402835291602001916108f0565b820191906000526020600020905b8154815290600101906020018083116108d357829003601f168201915b5050505050905090565b600061090582612059565b506000908152606960205260409020546001600160a01b031690565b600061092c826113d1565b9050806001600160a01b0316836001600160a01b03160361099e5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806109ba57506109ba81336107c8565b610a2c5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610995565b610a3683836120b8565b505050565b610a43612126565b6000610a4f8233611773565b905060008111610a925760405162461bcd60e51b815260206004820152600e60248201526d139bc81c995dd85c991cc81e595d60921b6044820152606401610995565b3360008181526101cb6020908152604080832086845282528083206101cc90925290912054600182015590610ac79083612181565b5050610ad4600161019155565b50565b600054610100900460ff1615808015610af75750600054600160ff909116105b80610b115750303b158015610b11575060005460ff166001145b610b745760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610995565b6000805460ff191660011790558015610b97576000805461ff0019166101001790555b6001600160a01b038616610be45760405162461bcd60e51b8152602060048201526014602482015273496e76616c696420474e4554206164647265737360601b6044820152606401610995565b6001600160a01b038516610c315760405162461bcd60e51b8152602060048201526014602482015273496e76616c69642055534454206164647265737360601b6044820152606401610995565b6001600160a01b038416610c7d5760405162461bcd60e51b8152602060048201526013602482015272496e76616c6964204e4654206164647265737360681b6044820152606401610995565b6001600160a01b038316610cd35760405162461bcd60e51b815260206004820152601760248201527f496e76616c6964204e6574776f726b20616464726573730000000000000000006044820152606401610995565b6001600160a01b038216610d295760405162461bcd60e51b815260206004820152601860248201527f496e76616c6964207265636569766572206164647265737300000000000000006044820152606401610995565b610d716040518060400160405280600a8152602001694e465447656e6573697360b01b815250604051806040016040528060048152602001634e46544760e01b8152506122b4565b610d796122e5565b610d816122e5565b610d8961230c565b610d916122e5565b610d9961233b565b6101c580546001600160a01b03199081166001600160a01b03898116919091179092556101c8805482168784161790556101ce805482168584161790556101c6805482168884161790556101c780549091169185169190911790558015610e3a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b610e4a612126565b60008181526101c960209081526040808320546001600160a01b03871684526101cb835281842081855290925282209091610e858387611773565b90508015610ebb5760008381526101cc602052604081205460018401556101cf8054839290610eb59084906139b8565b90915550505b8154610ef85760405162461bcd60e51b815260206004820152600c60248201526b1b9bc818d85c99081b19599d60a21b6044820152606401610995565b6001826000016000828254610f0d91906139b8565b90915550506001600160a01b03851660009081526101cb60209081526040808320868452909152812080549091600191839190610f4b9084906139cb565b909155505060008481526101cc602052604090205460018201558115610fe5576101c55460405163a9059cbb60e01b81526001600160a01b038981166004830152602482018590529091169063a9059cbb906044016020604051808303816000875af1158015610fbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe391906139de565b505b610ff087878761236a565b50505050610a36600161019155565b600061100a83611431565b821061106c5760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608401610995565b506001600160a01b0391909116600090815260c960209081526040808320938352929052205490565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036110dd5760405162461bcd60e51b8152600401610995906139fb565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661112660008051602061400f833981519152546001600160a01b031690565b6001600160a01b03161461114c5760405162461bcd60e51b815260040161099590613a47565b6111558161239b565b60408051600080825260208201909252610ad4918391906123a3565b61117961250e565b60006111856101c35490565b90506111966101c380546001019055565b6111a08282612568565b5050565b610a36838383604051806020016040528060008152506117f5565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036112075760405162461bcd60e51b8152600401610995906139fb565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661125060008051602061400f833981519152546001600160a01b031690565b6001600160a01b0316146112765760405162461bcd60e51b815260040161099590613a47565b61127f8261239b565b6111a0828260016123a3565b600061129660cb5490565b82106112f95760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608401610995565b60cb828154811061130c5761130c613a93565b90600052602060002001549050919050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146113be5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610995565b5060008051602061400f83398151915290565b6000818152606760205260408120546001600160a01b0316806108625760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610995565b60006001600160a01b03821661149b5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610995565b506001600160a01b031660009081526068602052604090205490565b6114bf61250e565b6114c96000612582565b565b60606066805461087790613968565b6114e2612126565b3360009081526101cd6020526040902054806115405760405162461bcd60e51b815260206004820152601b60248201527f4e6f20726566657272616c2072657761726420746f20636c61696d00000000006044820152606401610995565b3360008181526101cd6020526040808220919091556101c654905163a9059cbb60e01b81526004810192909252602482018390526001600160a01b03169063a9059cbb906044016020604051808303816000875af11580156115a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ca91906139de565b5060405181815233907ff406cb865b73475210da51ef4afe4311433e7d8348140ee676325bca177d2ad99060200160405180910390a2506114c9600161019155565b6111a03383836125d4565b6101c8546001600160a01b031633146116725760405162461bcd60e51b815260206004820152601d60248201527f4f6e6c792041646d696e2063616e20706572666f726d20616374696f6e0000006044820152606401610995565b60008281526101ca6020526040902060020154806116d25760405162461bcd60e51b815260206004820152601c60248201527f4e6f204e465473206d696e74656420666f7220746869732074797065000000006044820152606401610995565b60006116de8284613aa9565b9050806101cc6000868152602001908152602001600020600082825461170491906139cb565b92505081905550826101cf600082825461171e91906139cb565b909155505060008481526101cc60209081526040918290205482518681529182015285917ffa37d7aaa525aa376e07e97f4920df63d2c7edc2b8f8795e7fc51272d95130c6910160405180910390a250505050565b6001600160a01b03811660009081526101cb60209081526040808320858452825280832081518083018352815481526001909101548184019081528685526101cc90935290832054915190919081116117d157600092505050610862565b815160208301516117e290836139b8565b6117ec9190613acb565b95945050505050565b6117ff33836126a2565b61181b5760405162461bcd60e51b815260040161099590613ae2565b61182784848484612721565b50505050565b606061086282612754565b60006118446101c45490565b905090565b61185161250e565b600083116118a15760405162461bcd60e51b815260206004820152601c60248201527f5072696365206d7573742062652067726561746572207468616e2030000000006044820152606401610995565b6000821180156118b2575060648211155b6118f35760405162461bcd60e51b8152602060048201526012602482015271496e76616c69642070657263656e7461676560701b6044820152606401610995565b6000811161194d5760405162461bcd60e51b815260206004820152602160248201527f4d6178206d696e746564206d7573742062652067726561746572207468616e206044820152600360fc1b6064820152608401610995565b60006119596101c45490565b60008181526101ca60209081526040918290206101c654835163313ce56760e01b8152935194955090936001600160a01b039091169263313ce5679260048083019391928290030181865afa1580156119b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119da9190613b2f565b6119e590600a613c36565b6119ef9086613acb565b8155600181018490556000600282015560038101839055611a156101c480546001019055565b80546040805191825260208201869052810184905282907fa41486e07ac1acfe42ae596413a55e34217e611431c2742acaadaff5cda553729060600160405180910390a25050505050565b611a6861250e565b6001600160a01b038116611acd5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610995565b610ad481612582565b611ade612126565b60008281526101ca602052604090206002810154611afd9083906139cb565b816003015411611b445760405162461bcd60e51b815260206004820152601260248201527113585e081b5a5b9d1959081c995858da195960721b6044820152606401610995565b6101c754604051630fa2d9ff60e41b815233600482015260009182916001600160a01b039091169063fa2d9ff09060240161010060405180830381865afa158015611b93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bb79190613c45565b50959750919550869450611c0a93505050505760405162461bcd60e51b8152602060048201526015602482015274149959da5cdd1c985d1a5bdb881c995c5d5a5c9959605a1b6044820152606401610995565b8254600090611c1a908690613acb565b905060006064611c2b83600a613acb565b611c359190613aa9565b90506000611c4382846139b8565b90506000611c518933611773565b3360009081526101cb602090815260408083208d845290915281208054929350918a918391611c819084906139cb565b9250508190555088886002016000828254611c9c91906139cb565b909155505060008a81526101cc602052604081205460018301558967ffffffffffffffff811115611ccf57611ccf613721565b604051908082528060200260200182016040528015611cf8578160200160208202803683370190505b50905060005b8a811015611d6a576000611d126101c35490565b905080838381518110611d2757611d27613a93565b60209081029190910181019190915260008281526101c9909152604090208d9055611d576101c380546001019055565b5080611d6281613ccf565b915050611cfe565b506101c6546040516323b872dd60e01b8152336004820152306024820152604481018890526001600160a01b03909116906323b872dd906064016020604051808303816000875af1158015611dc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de791906139de565b506101c6546101ce5460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810187905291169063a9059cbb906044016020604051808303816000875af1158015611e3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6391906139de565b506001600160a01b03871615611ee6576001600160a01b03871660009081526101cd602052604081208054879290611e9c9084906139cb565b909155505060405185815233906001600160a01b038916907fb52e3b243cc586ba276798e82fc66f7e8582ffbbd0a2a5a774f828d0053671529060200160405180910390a3611f63565b6101c6546101ce5460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810188905291169063a9059cbb906044016020604051808303816000875af1158015611f3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f6191906139de565b505b60005b8a811015611fce57611f9133838381518110611f8457611f84613a93565b6020026020010151612568565b611fbc828281518110611fa657611fa6613a93565b6020026020010151611fb78e61284f565b6128e2565b80611fc681613ccf565b915050611f66565b508215611fdf57611fdf3384612181565b336001600160a01b03167fb2f20abb34405506b7fc439c3ea3526bf9c45147381635896d278204620f542a826040516120189190613ce8565b60405180910390a25050505050505050506111a0600161019155565b60006001600160e01b03198216632483248360e11b14806108625750610862826129ad565b6000818152606760205260409020546001600160a01b0316610ad45760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610995565b600081815260696020526040902080546001600160a01b0319166001600160a01b03841690811790915581906120ed826113d1565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600261019154036121795760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610995565b600261019155565b806101cf5410156121d45760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e7420706f6f6c2062616c616e6365000000000000006044820152606401610995565b806101cf60008282546121e791906139b8565b90915550506101c55460405163a9059cbb60e01b81526001600160a01b038481166004830152602482018490529091169063a9059cbb906044016020604051808303816000875af1158015612240573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061226491906139de565b50816001600160a01b03167fba8de60c3403ec381d1d484652ea1980e3c3e56359195c92525bff4ce47ad98e826040516122a091815260200190565b60405180910390a25050565b600161019155565b600054610100900460ff166122db5760405162461bcd60e51b815260040161099590613d2c565b6111a082826129d2565b600054610100900460ff166114c95760405162461bcd60e51b815260040161099590613d2c565b600054610100900460ff166123335760405162461bcd60e51b815260040161099590613d2c565b6114c9612a12565b600054610100900460ff166123625760405162461bcd60e51b815260040161099590613d2c565b6114c9612a42565b61237433826126a2565b6123905760405162461bcd60e51b815260040161099590613ae2565b610a36838383612a69565b610ad461250e565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156123d657610a3683612bda565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612430575060408051601f3d908101601f1916820190925261242d91810190613d77565b60015b6124935760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610995565b60008051602061400f83398151915281146125025760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610995565b50610a36838383612c76565b6097546001600160a01b031633146114c95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610995565b6111a0828260405180602001604052806000815250612c9b565b609780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b0316036126355760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610995565b6001600160a01b038381166000818152606a6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6000806126ae836113d1565b9050806001600160a01b0316846001600160a01b031614806126f557506001600160a01b038082166000908152606a602090815260408083209388168352929052205460ff165b806127195750836001600160a01b031661270e846108fa565b6001600160a01b0316145b949350505050565b61272c848484612a69565b61273884848484612cce565b6118275760405162461bcd60e51b815260040161099590613d90565b606061275f82612059565b600082815260fb60205260408120805461277890613968565b80601f01602080910402602001604051908101604052809291908181526020018280546127a490613968565b80156127f15780601f106127c6576101008083540402835291602001916127f1565b820191906000526020600020905b8154815290600101906020018083116127d457829003601f168201915b505050505090506000612802612dcf565b90508051600003612814575092915050565b81511561284657808260405160200161282e929190613de2565b60405160208183030381529060405292505050919050565b61271984612def565b6060600061285c83612e56565b600101905060008167ffffffffffffffff81111561287c5761287c613721565b6040519080825280601f01601f1916602001820160405280156128a6576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846128b057509392505050565b6000828152606760205260409020546001600160a01b031661295d5760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b6064820152608401610995565b600082815260fb602052604090206129758282613e57565b506040518281527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a15050565b60006001600160e01b0319821663780e9d6360e01b1480610862575061086282612f2e565b600054610100900460ff166129f95760405162461bcd60e51b815260040161099590613d2c565b6065612a058382613e57565b506066610a368282613e57565b600054610100900460ff16612a395760405162461bcd60e51b815260040161099590613d2c565b6114c933612582565b600054610100900460ff166122ac5760405162461bcd60e51b815260040161099590613d2c565b826001600160a01b0316612a7c826113d1565b6001600160a01b031614612aa25760405162461bcd60e51b815260040161099590613f17565b6001600160a01b038216612b045760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610995565b612b118383836001612f7e565b826001600160a01b0316612b24826113d1565b6001600160a01b031614612b4a5760405162461bcd60e51b815260040161099590613f17565b600081815260696020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260688552838620805460001901905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6001600160a01b0381163b612c475760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610995565b60008051602061400f83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612c7f83612f8a565b600082511180612c8c5750805b15610a36576118278383612fca565b612ca58383612fef565b612cb26000848484612cce565b610a365760405162461bcd60e51b815260040161099590613d90565b60006001600160a01b0384163b15612dc457604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290612d12903390899088908890600401613f5c565b6020604051808303816000875af1925050508015612d4d575060408051601f3d908101601f19168201909252612d4a91810190613f8f565b60015b612daa573d808015612d7b576040519150601f19603f3d011682016040523d82523d6000602084013e612d80565b606091505b508051600003612da25760405162461bcd60e51b815260040161099590613d90565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612719565b506001949350505050565b6060604051806060016040528060308152602001613fdf60309139905090565b6060612dfa82612059565b6000612e04612dcf565b90506000815111612e245760405180602001604052806000815250612e4f565b80612e2e8461284f565b604051602001612e3f929190613de2565b6040516020818303038152906040525b9392505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310612e955772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310612ec1576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310612edf57662386f26fc10000830492506010015b6305f5e1008310612ef7576305f5e100830492506008015b6127108310612f0b57612710830492506004015b60648310612f1d576064830492506002015b600a83106108625760010192915050565b60006001600160e01b031982166380ac58cd60e01b1480612f5f57506001600160e01b03198216635b5e139f60e01b145b8061086257506301ffc9a760e01b6001600160e01b0319831614610862565b61182784848484613188565b612f9381612bda565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060612e4f838360405180606001604052806027815260200161402f602791396132bc565b6001600160a01b0382166130455760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610995565b6000818152606760205260409020546001600160a01b0316156130aa5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610995565b6130b8600083836001612f7e565b6000818152606760205260409020546001600160a01b03161561311d5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610995565b6001600160a01b038216600081815260686020908152604080832080546001019055848352606790915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60018111156131f75760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b6064820152608401610995565b816001600160a01b0385166132535761324e8160cb8054600083815260cc60205260408120829055600182018355919091527fa7ce836d032b2bf62b7e2097a8e0a6d8aeb35405ad15271e96d3b0188a1d06fb0155565b613276565b836001600160a01b0316856001600160a01b031614613276576132768582613334565b6001600160a01b0384166132925761328d816133d1565b6132b5565b846001600160a01b0316846001600160a01b0316146132b5576132b58482613480565b5050505050565b6060600080856001600160a01b0316856040516132d99190613fac565b600060405180830381855af49150503d8060008114613314576040519150601f19603f3d011682016040523d82523d6000602084013e613319565b606091505b509150915061332a868383876134c4565b9695505050505050565b6000600161334184611431565b61334b91906139b8565b600083815260ca602052604090205490915080821461339e576001600160a01b038416600090815260c960209081526040808320858452825280832054848452818420819055835260ca90915290208190555b50600091825260ca602090815260408084208490556001600160a01b03909416835260c981528383209183525290812055565b60cb546000906133e3906001906139b8565b600083815260cc602052604081205460cb805493945090928490811061340b5761340b613a93565b906000526020600020015490508060cb838154811061342c5761342c613a93565b600091825260208083209091019290925582815260cc909152604080822084905585825281205560cb80548061346457613464613fc8565b6001900381819060005260206000200160009055905550505050565b600061348b83611431565b6001600160a01b03909316600090815260c960209081526040808320868452825280832085905593825260ca9052919091209190915550565b6060831561353357825160000361352c576001600160a01b0385163b61352c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610995565b5081612719565b61271983838151156135485781518083602001fd5b8060405162461bcd60e51b815260040161099591906135e5565b6001600160e01b031981168114610ad457600080fd5b60006020828403121561358a57600080fd5b8135612e4f81613562565b60005b838110156135b0578181015183820152602001613598565b50506000910152565b600081518084526135d1816020860160208601613595565b601f01601f19169290920160200192915050565b602081526000612e4f60208301846135b9565b60006020828403121561360a57600080fd5b5035919050565b6001600160a01b0381168114610ad457600080fd5b6000806040838503121561363957600080fd5b823561364481613611565b946020939093013593505050565b600080600080600060a0868803121561366a57600080fd5b853561367581613611565b9450602086013561368581613611565b9350604086013561369581613611565b925060608601356136a581613611565b915060808601356136b581613611565b809150509295509295909350565b6000806000606084860312156136d857600080fd5b83356136e381613611565b925060208401356136f381613611565b929592945050506040919091013590565b60006020828403121561371657600080fd5b8135612e4f81613611565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261374857600080fd5b813567ffffffffffffffff8082111561376357613763613721565b604051601f8301601f19908116603f0116810190828211818310171561378b5761378b613721565b816040528381528660208588010111156137a457600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080604083850312156137d757600080fd5b82356137e281613611565b9150602083013567ffffffffffffffff8111156137fe57600080fd5b61380a85828601613737565b9150509250929050565b8015158114610ad457600080fd5b6000806040838503121561383557600080fd5b823561384081613611565b9150602083013561385081613814565b809150509250929050565b6000806040838503121561386e57600080fd5b50508035926020909101359150565b6000806040838503121561389057600080fd5b82359150602083013561385081613611565b600080600080608085870312156138b857600080fd5b84356138c381613611565b935060208501356138d381613611565b925060408501359150606085013567ffffffffffffffff8111156138f657600080fd5b61390287828801613737565b91505092959194509250565b60008060006060848603121561392357600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561394d57600080fd5b823561395881613611565b9150602083013561385081613611565b600181811c9082168061397c57607f821691505b60208210810361399c57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610862576108626139a2565b80820180821115610862576108626139a2565b6000602082840312156139f057600080fd5b8151612e4f81613814565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b600082613ac657634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610862576108626139a2565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b600060208284031215613b4157600080fd5b815160ff81168114612e4f57600080fd5b600181815b80851115613b8d578160001904821115613b7357613b736139a2565b80851615613b8057918102915b93841c9390800290613b57565b509250929050565b600082613ba457506001610862565b81613bb157506000610862565b8160018114613bc75760028114613bd157613bed565b6001915050610862565b60ff841115613be257613be26139a2565b50506001821b610862565b5060208310610133831016604e8410600b8410161715613c10575081810a610862565b613c1a8383613b52565b8060001904821115613c2e57613c2e6139a2565b029392505050565b6000612e4f60ff841683613b95565b600080600080600080600080610100898b031215613c6257600080fd5b8851613c6d81613814565b60208a0151909850613c7e81613814565b60408a015190975060078110613c9357600080fd5b60608a0151909650613ca481613611565b60808a015160a08b015160c08c015160e0909c01519a9d999c50979a91999098919650945092505050565b600060018201613ce157613ce16139a2565b5060010190565b6020808252825182820181905260009190848201906040850190845b81811015613d2057835183529284019291840191600101613d04565b50909695505050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600060208284031215613d8957600080fd5b5051919050565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008351613df4818460208801613595565b835190830190613e08818360208801613595565b01949350505050565b601f821115610a3657600081815260208120601f850160051c81016020861015613e385750805b601f850160051c820191505b81811015610e3a57828155600101613e44565b815167ffffffffffffffff811115613e7157613e71613721565b613e8581613e7f8454613968565b84613e11565b602080601f831160018114613eba5760008415613ea25750858301515b600019600386901b1c1916600185901b178555610e3a565b600085815260208120601f198616915b82811015613ee957888601518255948401946001909101908401613eca565b5085821015613f075787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061332a908301846135b9565b600060208284031215613fa157600080fd5b8151612e4f81613562565b60008251613fbe818460208701613595565b9190910192915050565b634e487b7160e01b600052603160045260246000fdfe68747470733a2f2f676c6f62616c6e6574776f726b2e66696e616e63652f6170692f696d6167652f67656e657369732f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122027afbd6e2bcc5bc9c8bf875b2fd1af466395236e8fbe808e2bd935aa77b50fce64736f6c63430008110033",
1108
+ "deployedBytecode": "0x6080604052600436106102515760003560e01c80638da5cb5b11610139578063bb712460116100b6578063e7cb1f3e1161007a578063e7cb1f3e1461076c578063e961e1ff1461078c578063e985e9c5146107ad578063ed65af74146107f6578063f2fde38b14610817578063fadca7121461083757600080fd5b8063bb7124601461068f578063c78e5b37146106bd578063c87b56dd146106d4578063dc3676b7146106f4578063e4305a291461070957600080fd5b8063a61ba52e116100fd578063a61ba52e146105ac578063b6593c8e146105da578063b696741f146105fa578063b71bc8bc1461064f578063b88d4fde1461066f57600080fd5b80638da5cb5b1461051657806395d89b41146105345780639b4b2c9c146105495780639f7761a91461055e578063a22cb4651461058c57600080fd5b806323b872dd116101d25780634f1ef286116101965780634f1ef286146104795780634f6ccce71461048c57806352d1902d146104ac5780636352211e146104c157806370a08231146104e1578063715018a61461050157600080fd5b806323b872dd146103d95780632f745c59146103f95780633659cfe61461041957806340d097c31461043957806342842e0e1461045957600080fd5b80630a2a6e37116102195780630a2a6e37146103275780631459457a1461034857806316fed3e21461036857806318160ddd146103895780631d06c3b2146103a857600080fd5b806301ffc9a71461025657806306fdde031461028b578063081812fc146102ad578063095ea7b3146102e55780630962ef7914610307575b600080fd5b34801561026257600080fd5b50610276610271366004613578565b610857565b60405190151581526020015b60405180910390f35b34801561029757600080fd5b506102a0610868565b60405161028291906135e5565b3480156102b957600080fd5b506102cd6102c83660046135f8565b6108fa565b6040516001600160a01b039091168152602001610282565b3480156102f157600080fd5b50610305610300366004613626565b610921565b005b34801561031357600080fd5b506103056103223660046135f8565b610a3b565b34801561033357600080fd5b506101c7546102cd906001600160a01b031681565b34801561035457600080fd5b50610305610363366004613652565b610ad7565b34801561037457600080fd5b506101ce546102cd906001600160a01b031681565b34801561039557600080fd5b5060cb545b604051908152602001610282565b3480156103b457600080fd5b5061039a6103c33660046135f8565b60009081526101ca602052604090206001015490565b3480156103e557600080fd5b506103056103f43660046136c3565b610e42565b34801561040557600080fd5b5061039a610414366004613626565b610fff565b34801561042557600080fd5b50610305610434366004613704565b611095565b34801561044557600080fd5b50610305610454366004613704565b611171565b34801561046557600080fd5b506103056104743660046136c3565b6111a4565b6103056104873660046137c4565b6111bf565b34801561049857600080fd5b5061039a6104a73660046135f8565b61128b565b3480156104b857600080fd5b5061039a61131e565b3480156104cd57600080fd5b506102cd6104dc3660046135f8565b6113d1565b3480156104ed57600080fd5b5061039a6104fc366004613704565b611431565b34801561050d57600080fd5b506103056114b7565b34801561052257600080fd5b506097546001600160a01b03166102cd565b34801561054057600080fd5b506102a06114cb565b34801561055557600080fd5b506103056114da565b34801561056a57600080fd5b5061039a6105793660046135f8565b6101c96020526000908152604090205481565b34801561059857600080fd5b506103056105a7366004613822565b61160c565b3480156105b857600080fd5b5061039a6105c7366004613704565b6101cd6020526000908152604090205481565b3480156105e657600080fd5b506103056105f536600461385b565b611617565b34801561060657600080fd5b5061063a610615366004613626565b6101cb6020908152600092835260408084209091529082529020805460019091015482565b60408051928352602083019190915201610282565b34801561065b57600080fd5b5061039a61066a36600461387d565b611773565b34801561067b57600080fd5b5061030561068a3660046138a2565b6117f5565b34801561069b57600080fd5b5061039a6106aa3660046135f8565b6101cc6020526000908152604090205481565b3480156106c957600080fd5b5061039a6101cf5481565b3480156106e057600080fd5b506102a06106ef3660046135f8565b61182d565b34801561070057600080fd5b5061039a611838565b34801561071557600080fd5b5061074c6107243660046135f8565b6101ca6020526000908152604090208054600182015460028301546003909301549192909184565b604080519485526020850193909352918301526060820152608001610282565b34801561077857600080fd5b5061030561078736600461390e565b611849565b34801561079857600080fd5b506101c5546102cd906001600160a01b031681565b3480156107b957600080fd5b506102766107c836600461393a565b6001600160a01b039182166000908152606a6020908152604080832093909416825291909152205460ff1690565b34801561080257600080fd5b506101c6546102cd906001600160a01b031681565b34801561082357600080fd5b50610305610832366004613704565b611a60565b34801561084357600080fd5b5061030561085236600461385b565b611ad6565b600061086282612034565b92915050565b60606065805461087790613968565b80601f01602080910402602001604051908101604052809291908181526020018280546108a390613968565b80156108f05780601f106108c5576101008083540402835291602001916108f0565b820191906000526020600020905b8154815290600101906020018083116108d357829003601f168201915b5050505050905090565b600061090582612059565b506000908152606960205260409020546001600160a01b031690565b600061092c826113d1565b9050806001600160a01b0316836001600160a01b03160361099e5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806109ba57506109ba81336107c8565b610a2c5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610995565b610a3683836120b8565b505050565b610a43612126565b6000610a4f8233611773565b905060008111610a925760405162461bcd60e51b815260206004820152600e60248201526d139bc81c995dd85c991cc81e595d60921b6044820152606401610995565b3360008181526101cb6020908152604080832086845282528083206101cc90925290912054600182015590610ac79083612181565b5050610ad4600161019155565b50565b600054610100900460ff1615808015610af75750600054600160ff909116105b80610b115750303b158015610b11575060005460ff166001145b610b745760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610995565b6000805460ff191660011790558015610b97576000805461ff0019166101001790555b6001600160a01b038616610be45760405162461bcd60e51b8152602060048201526014602482015273496e76616c696420474e4554206164647265737360601b6044820152606401610995565b6001600160a01b038516610c315760405162461bcd60e51b8152602060048201526014602482015273496e76616c69642055534454206164647265737360601b6044820152606401610995565b6001600160a01b038416610c7d5760405162461bcd60e51b8152602060048201526013602482015272496e76616c6964204e4654206164647265737360681b6044820152606401610995565b6001600160a01b038316610cd35760405162461bcd60e51b815260206004820152601760248201527f496e76616c6964204e6574776f726b20616464726573730000000000000000006044820152606401610995565b6001600160a01b038216610d295760405162461bcd60e51b815260206004820152601860248201527f496e76616c6964207265636569766572206164647265737300000000000000006044820152606401610995565b610d716040518060400160405280600a8152602001694e465447656e6573697360b01b815250604051806040016040528060048152602001634e46544760e01b8152506122b4565b610d796122e5565b610d816122e5565b610d8961230c565b610d916122e5565b610d9961233b565b6101c580546001600160a01b03199081166001600160a01b03898116919091179092556101c8805482168784161790556101ce805482168584161790556101c6805482168884161790556101c780549091169185169190911790558015610e3a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b610e4a612126565b60008181526101c960209081526040808320546001600160a01b03871684526101cb835281842081855290925282209091610e858387611773565b90508015610ebb5760008381526101cc602052604081205460018401556101cf8054839290610eb59084906139b8565b90915550505b8154610ef85760405162461bcd60e51b815260206004820152600c60248201526b1b9bc818d85c99081b19599d60a21b6044820152606401610995565b6001826000016000828254610f0d91906139b8565b90915550506001600160a01b03851660009081526101cb60209081526040808320868452909152812080549091600191839190610f4b9084906139cb565b909155505060008481526101cc602052604090205460018201558115610fe5576101c55460405163a9059cbb60e01b81526001600160a01b038981166004830152602482018590529091169063a9059cbb906044016020604051808303816000875af1158015610fbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe391906139de565b505b610ff087878761236a565b50505050610a36600161019155565b600061100a83611431565b821061106c5760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608401610995565b506001600160a01b0391909116600090815260c960209081526040808320938352929052205490565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036110dd5760405162461bcd60e51b8152600401610995906139fb565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661112660008051602061400f833981519152546001600160a01b031690565b6001600160a01b03161461114c5760405162461bcd60e51b815260040161099590613a47565b6111558161239b565b60408051600080825260208201909252610ad4918391906123a3565b61117961250e565b60006111856101c35490565b90506111966101c380546001019055565b6111a08282612568565b5050565b610a36838383604051806020016040528060008152506117f5565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036112075760405162461bcd60e51b8152600401610995906139fb565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661125060008051602061400f833981519152546001600160a01b031690565b6001600160a01b0316146112765760405162461bcd60e51b815260040161099590613a47565b61127f8261239b565b6111a0828260016123a3565b600061129660cb5490565b82106112f95760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608401610995565b60cb828154811061130c5761130c613a93565b90600052602060002001549050919050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146113be5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610995565b5060008051602061400f83398151915290565b6000818152606760205260408120546001600160a01b0316806108625760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610995565b60006001600160a01b03821661149b5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610995565b506001600160a01b031660009081526068602052604090205490565b6114bf61250e565b6114c96000612582565b565b60606066805461087790613968565b6114e2612126565b3360009081526101cd6020526040902054806115405760405162461bcd60e51b815260206004820152601b60248201527f4e6f20726566657272616c2072657761726420746f20636c61696d00000000006044820152606401610995565b3360008181526101cd6020526040808220919091556101c654905163a9059cbb60e01b81526004810192909252602482018390526001600160a01b03169063a9059cbb906044016020604051808303816000875af11580156115a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ca91906139de565b5060405181815233907ff406cb865b73475210da51ef4afe4311433e7d8348140ee676325bca177d2ad99060200160405180910390a2506114c9600161019155565b6111a03383836125d4565b6101c8546001600160a01b031633146116725760405162461bcd60e51b815260206004820152601d60248201527f4f6e6c792041646d696e2063616e20706572666f726d20616374696f6e0000006044820152606401610995565b60008281526101ca6020526040902060020154806116d25760405162461bcd60e51b815260206004820152601c60248201527f4e6f204e465473206d696e74656420666f7220746869732074797065000000006044820152606401610995565b60006116de8284613aa9565b9050806101cc6000868152602001908152602001600020600082825461170491906139cb565b92505081905550826101cf600082825461171e91906139cb565b909155505060008481526101cc60209081526040918290205482518681529182015285917ffa37d7aaa525aa376e07e97f4920df63d2c7edc2b8f8795e7fc51272d95130c6910160405180910390a250505050565b6001600160a01b03811660009081526101cb60209081526040808320858452825280832081518083018352815481526001909101548184019081528685526101cc90935290832054915190919081116117d157600092505050610862565b815160208301516117e290836139b8565b6117ec9190613acb565b95945050505050565b6117ff33836126a2565b61181b5760405162461bcd60e51b815260040161099590613ae2565b61182784848484612721565b50505050565b606061086282612754565b60006118446101c45490565b905090565b61185161250e565b600083116118a15760405162461bcd60e51b815260206004820152601c60248201527f5072696365206d7573742062652067726561746572207468616e2030000000006044820152606401610995565b6000821180156118b2575060648211155b6118f35760405162461bcd60e51b8152602060048201526012602482015271496e76616c69642070657263656e7461676560701b6044820152606401610995565b6000811161194d5760405162461bcd60e51b815260206004820152602160248201527f4d6178206d696e746564206d7573742062652067726561746572207468616e206044820152600360fc1b6064820152608401610995565b60006119596101c45490565b60008181526101ca60209081526040918290206101c654835163313ce56760e01b8152935194955090936001600160a01b039091169263313ce5679260048083019391928290030181865afa1580156119b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119da9190613b2f565b6119e590600a613c36565b6119ef9086613acb565b8155600181018490556000600282015560038101839055611a156101c480546001019055565b80546040805191825260208201869052810184905282907fa41486e07ac1acfe42ae596413a55e34217e611431c2742acaadaff5cda553729060600160405180910390a25050505050565b611a6861250e565b6001600160a01b038116611acd5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610995565b610ad481612582565b611ade612126565b60008281526101ca602052604090206002810154611afd9083906139cb565b816003015411611b445760405162461bcd60e51b815260206004820152601260248201527113585e081b5a5b9d1959081c995858da195960721b6044820152606401610995565b6101c754604051630fa2d9ff60e41b815233600482015260009182916001600160a01b039091169063fa2d9ff09060240161010060405180830381865afa158015611b93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bb79190613c45565b50959750919550869450611c0a93505050505760405162461bcd60e51b8152602060048201526015602482015274149959da5cdd1c985d1a5bdb881c995c5d5a5c9959605a1b6044820152606401610995565b8254600090611c1a908690613acb565b905060006064611c2b83600a613acb565b611c359190613aa9565b90506000611c4382846139b8565b90506000611c518933611773565b3360009081526101cb602090815260408083208d845290915281208054929350918a918391611c819084906139cb565b9250508190555088886002016000828254611c9c91906139cb565b909155505060008a81526101cc602052604081205460018301558967ffffffffffffffff811115611ccf57611ccf613721565b604051908082528060200260200182016040528015611cf8578160200160208202803683370190505b50905060005b8a811015611d6a576000611d126101c35490565b905080838381518110611d2757611d27613a93565b60209081029190910181019190915260008281526101c9909152604090208d9055611d576101c380546001019055565b5080611d6281613ccf565b915050611cfe565b506101c6546040516323b872dd60e01b8152336004820152306024820152604481018890526001600160a01b03909116906323b872dd906064016020604051808303816000875af1158015611dc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de791906139de565b506101c6546101ce5460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810187905291169063a9059cbb906044016020604051808303816000875af1158015611e3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6391906139de565b506001600160a01b03871615611ee6576001600160a01b03871660009081526101cd602052604081208054879290611e9c9084906139cb565b909155505060405185815233906001600160a01b038916907fb52e3b243cc586ba276798e82fc66f7e8582ffbbd0a2a5a774f828d0053671529060200160405180910390a3611f63565b6101c6546101ce5460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810188905291169063a9059cbb906044016020604051808303816000875af1158015611f3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f6191906139de565b505b60005b8a811015611fce57611f9133838381518110611f8457611f84613a93565b6020026020010151612568565b611fbc828281518110611fa657611fa6613a93565b6020026020010151611fb78e61284f565b6128e2565b80611fc681613ccf565b915050611f66565b508215611fdf57611fdf3384612181565b336001600160a01b03167fb2f20abb34405506b7fc439c3ea3526bf9c45147381635896d278204620f542a826040516120189190613ce8565b60405180910390a25050505050505050506111a0600161019155565b60006001600160e01b03198216632483248360e11b14806108625750610862826129ad565b6000818152606760205260409020546001600160a01b0316610ad45760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610995565b600081815260696020526040902080546001600160a01b0319166001600160a01b03841690811790915581906120ed826113d1565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600261019154036121795760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610995565b600261019155565b806101cf5410156121d45760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e7420706f6f6c2062616c616e6365000000000000006044820152606401610995565b806101cf60008282546121e791906139b8565b90915550506101c55460405163a9059cbb60e01b81526001600160a01b038481166004830152602482018490529091169063a9059cbb906044016020604051808303816000875af1158015612240573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061226491906139de565b50816001600160a01b03167fba8de60c3403ec381d1d484652ea1980e3c3e56359195c92525bff4ce47ad98e826040516122a091815260200190565b60405180910390a25050565b600161019155565b600054610100900460ff166122db5760405162461bcd60e51b815260040161099590613d2c565b6111a082826129d2565b600054610100900460ff166114c95760405162461bcd60e51b815260040161099590613d2c565b600054610100900460ff166123335760405162461bcd60e51b815260040161099590613d2c565b6114c9612a12565b600054610100900460ff166123625760405162461bcd60e51b815260040161099590613d2c565b6114c9612a42565b61237433826126a2565b6123905760405162461bcd60e51b815260040161099590613ae2565b610a36838383612a69565b610ad461250e565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156123d657610a3683612bda565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612430575060408051601f3d908101601f1916820190925261242d91810190613d77565b60015b6124935760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610995565b60008051602061400f83398151915281146125025760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610995565b50610a36838383612c76565b6097546001600160a01b031633146114c95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610995565b6111a0828260405180602001604052806000815250612c9b565b609780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b0316036126355760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610995565b6001600160a01b038381166000818152606a6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6000806126ae836113d1565b9050806001600160a01b0316846001600160a01b031614806126f557506001600160a01b038082166000908152606a602090815260408083209388168352929052205460ff165b806127195750836001600160a01b031661270e846108fa565b6001600160a01b0316145b949350505050565b61272c848484612a69565b61273884848484612cce565b6118275760405162461bcd60e51b815260040161099590613d90565b606061275f82612059565b600082815260fb60205260408120805461277890613968565b80601f01602080910402602001604051908101604052809291908181526020018280546127a490613968565b80156127f15780601f106127c6576101008083540402835291602001916127f1565b820191906000526020600020905b8154815290600101906020018083116127d457829003601f168201915b505050505090506000612802612dcf565b90508051600003612814575092915050565b81511561284657808260405160200161282e929190613de2565b60405160208183030381529060405292505050919050565b61271984612def565b6060600061285c83612e56565b600101905060008167ffffffffffffffff81111561287c5761287c613721565b6040519080825280601f01601f1916602001820160405280156128a6576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846128b057509392505050565b6000828152606760205260409020546001600160a01b031661295d5760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b6064820152608401610995565b600082815260fb602052604090206129758282613e57565b506040518281527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a15050565b60006001600160e01b0319821663780e9d6360e01b1480610862575061086282612f2e565b600054610100900460ff166129f95760405162461bcd60e51b815260040161099590613d2c565b6065612a058382613e57565b506066610a368282613e57565b600054610100900460ff16612a395760405162461bcd60e51b815260040161099590613d2c565b6114c933612582565b600054610100900460ff166122ac5760405162461bcd60e51b815260040161099590613d2c565b826001600160a01b0316612a7c826113d1565b6001600160a01b031614612aa25760405162461bcd60e51b815260040161099590613f17565b6001600160a01b038216612b045760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610995565b612b118383836001612f7e565b826001600160a01b0316612b24826113d1565b6001600160a01b031614612b4a5760405162461bcd60e51b815260040161099590613f17565b600081815260696020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260688552838620805460001901905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6001600160a01b0381163b612c475760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610995565b60008051602061400f83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612c7f83612f8a565b600082511180612c8c5750805b15610a36576118278383612fca565b612ca58383612fef565b612cb26000848484612cce565b610a365760405162461bcd60e51b815260040161099590613d90565b60006001600160a01b0384163b15612dc457604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290612d12903390899088908890600401613f5c565b6020604051808303816000875af1925050508015612d4d575060408051601f3d908101601f19168201909252612d4a91810190613f8f565b60015b612daa573d808015612d7b576040519150601f19603f3d011682016040523d82523d6000602084013e612d80565b606091505b508051600003612da25760405162461bcd60e51b815260040161099590613d90565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612719565b506001949350505050565b6060604051806060016040528060308152602001613fdf60309139905090565b6060612dfa82612059565b6000612e04612dcf565b90506000815111612e245760405180602001604052806000815250612e4f565b80612e2e8461284f565b604051602001612e3f929190613de2565b6040516020818303038152906040525b9392505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310612e955772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310612ec1576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310612edf57662386f26fc10000830492506010015b6305f5e1008310612ef7576305f5e100830492506008015b6127108310612f0b57612710830492506004015b60648310612f1d576064830492506002015b600a83106108625760010192915050565b60006001600160e01b031982166380ac58cd60e01b1480612f5f57506001600160e01b03198216635b5e139f60e01b145b8061086257506301ffc9a760e01b6001600160e01b0319831614610862565b61182784848484613188565b612f9381612bda565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060612e4f838360405180606001604052806027815260200161402f602791396132bc565b6001600160a01b0382166130455760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610995565b6000818152606760205260409020546001600160a01b0316156130aa5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610995565b6130b8600083836001612f7e565b6000818152606760205260409020546001600160a01b03161561311d5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610995565b6001600160a01b038216600081815260686020908152604080832080546001019055848352606790915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60018111156131f75760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b6064820152608401610995565b816001600160a01b0385166132535761324e8160cb8054600083815260cc60205260408120829055600182018355919091527fa7ce836d032b2bf62b7e2097a8e0a6d8aeb35405ad15271e96d3b0188a1d06fb0155565b613276565b836001600160a01b0316856001600160a01b031614613276576132768582613334565b6001600160a01b0384166132925761328d816133d1565b6132b5565b846001600160a01b0316846001600160a01b0316146132b5576132b58482613480565b5050505050565b6060600080856001600160a01b0316856040516132d99190613fac565b600060405180830381855af49150503d8060008114613314576040519150601f19603f3d011682016040523d82523d6000602084013e613319565b606091505b509150915061332a868383876134c4565b9695505050505050565b6000600161334184611431565b61334b91906139b8565b600083815260ca602052604090205490915080821461339e576001600160a01b038416600090815260c960209081526040808320858452825280832054848452818420819055835260ca90915290208190555b50600091825260ca602090815260408084208490556001600160a01b03909416835260c981528383209183525290812055565b60cb546000906133e3906001906139b8565b600083815260cc602052604081205460cb805493945090928490811061340b5761340b613a93565b906000526020600020015490508060cb838154811061342c5761342c613a93565b600091825260208083209091019290925582815260cc909152604080822084905585825281205560cb80548061346457613464613fc8565b6001900381819060005260206000200160009055905550505050565b600061348b83611431565b6001600160a01b03909316600090815260c960209081526040808320868452825280832085905593825260ca9052919091209190915550565b6060831561353357825160000361352c576001600160a01b0385163b61352c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610995565b5081612719565b61271983838151156135485781518083602001fd5b8060405162461bcd60e51b815260040161099591906135e5565b6001600160e01b031981168114610ad457600080fd5b60006020828403121561358a57600080fd5b8135612e4f81613562565b60005b838110156135b0578181015183820152602001613598565b50506000910152565b600081518084526135d1816020860160208601613595565b601f01601f19169290920160200192915050565b602081526000612e4f60208301846135b9565b60006020828403121561360a57600080fd5b5035919050565b6001600160a01b0381168114610ad457600080fd5b6000806040838503121561363957600080fd5b823561364481613611565b946020939093013593505050565b600080600080600060a0868803121561366a57600080fd5b853561367581613611565b9450602086013561368581613611565b9350604086013561369581613611565b925060608601356136a581613611565b915060808601356136b581613611565b809150509295509295909350565b6000806000606084860312156136d857600080fd5b83356136e381613611565b925060208401356136f381613611565b929592945050506040919091013590565b60006020828403121561371657600080fd5b8135612e4f81613611565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261374857600080fd5b813567ffffffffffffffff8082111561376357613763613721565b604051601f8301601f19908116603f0116810190828211818310171561378b5761378b613721565b816040528381528660208588010111156137a457600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080604083850312156137d757600080fd5b82356137e281613611565b9150602083013567ffffffffffffffff8111156137fe57600080fd5b61380a85828601613737565b9150509250929050565b8015158114610ad457600080fd5b6000806040838503121561383557600080fd5b823561384081613611565b9150602083013561385081613814565b809150509250929050565b6000806040838503121561386e57600080fd5b50508035926020909101359150565b6000806040838503121561389057600080fd5b82359150602083013561385081613611565b600080600080608085870312156138b857600080fd5b84356138c381613611565b935060208501356138d381613611565b925060408501359150606085013567ffffffffffffffff8111156138f657600080fd5b61390287828801613737565b91505092959194509250565b60008060006060848603121561392357600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561394d57600080fd5b823561395881613611565b9150602083013561385081613611565b600181811c9082168061397c57607f821691505b60208210810361399c57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610862576108626139a2565b80820180821115610862576108626139a2565b6000602082840312156139f057600080fd5b8151612e4f81613814565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b600082613ac657634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610862576108626139a2565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b600060208284031215613b4157600080fd5b815160ff81168114612e4f57600080fd5b600181815b80851115613b8d578160001904821115613b7357613b736139a2565b80851615613b8057918102915b93841c9390800290613b57565b509250929050565b600082613ba457506001610862565b81613bb157506000610862565b8160018114613bc75760028114613bd157613bed565b6001915050610862565b60ff841115613be257613be26139a2565b50506001821b610862565b5060208310610133831016604e8410600b8410161715613c10575081810a610862565b613c1a8383613b52565b8060001904821115613c2e57613c2e6139a2565b029392505050565b6000612e4f60ff841683613b95565b600080600080600080600080610100898b031215613c6257600080fd5b8851613c6d81613814565b60208a0151909850613c7e81613814565b60408a015190975060078110613c9357600080fd5b60608a0151909650613ca481613611565b60808a015160a08b015160c08c015160e0909c01519a9d999c50979a91999098919650945092505050565b600060018201613ce157613ce16139a2565b5060010190565b6020808252825182820181905260009190848201906040850190845b81811015613d2057835183529284019291840191600101613d04565b50909695505050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600060208284031215613d8957600080fd5b5051919050565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008351613df4818460208801613595565b835190830190613e08818360208801613595565b01949350505050565b601f821115610a3657600081815260208120601f850160051c81016020861015613e385750805b601f850160051c820191505b81811015610e3a57828155600101613e44565b815167ffffffffffffffff811115613e7157613e71613721565b613e8581613e7f8454613968565b84613e11565b602080601f831160018114613eba5760008415613ea25750858301515b600019600386901b1c1916600185901b178555610e3a565b600085815260208120601f198616915b82811015613ee957888601518255948401946001909101908401613eca565b5085821015613f075787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061332a908301846135b9565b600060208284031215613fa157600080fd5b8151612e4f81613562565b60008251613fbe818460208701613595565b9190910192915050565b634e487b7160e01b600052603160045260246000fdfe68747470733a2f2f676c6f62616c6e6574776f726b2e66696e616e63652f6170692f696d6167652f67656e657369732f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122027afbd6e2bcc5bc9c8bf875b2fd1af466395236e8fbe808e2bd935aa77b50fce64736f6c63430008110033",
1109
+ "linkReferences": {},
1110
+ "deployedLinkReferences": {}
1111
+ }