@opcat-labs/cat-sdk 3.1.0 → 3.2.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 (280) hide show
  1. package/artifacts/.templates/cat20/cat20GuardStateLib.scrypt.tpl +2 -2
  2. package/artifacts/.templates/cat20/cat20Guard_12_12_2.scrypt.map +1 -1
  3. package/artifacts/.templates/cat20/cat20Guard_12_12_2.scrypt.tpl +19 -2
  4. package/artifacts/.templates/cat20/cat20Guard_12_12_2.transformer.json +2 -1
  5. package/artifacts/.templates/cat20/cat20Guard_12_12_4.scrypt.map +1 -1
  6. package/artifacts/.templates/cat20/cat20Guard_12_12_4.scrypt.tpl +19 -2
  7. package/artifacts/.templates/cat20/cat20Guard_12_12_4.transformer.json +2 -1
  8. package/artifacts/.templates/cat20/cat20Guard_6_6_2.scrypt.map +1 -1
  9. package/artifacts/.templates/cat20/cat20Guard_6_6_2.scrypt.tpl +19 -2
  10. package/artifacts/.templates/cat20/cat20Guard_6_6_2.transformer.json +2 -1
  11. package/artifacts/.templates/cat20/cat20Guard_6_6_4.scrypt.map +1 -1
  12. package/artifacts/.templates/cat20/cat20Guard_6_6_4.scrypt.tpl +19 -2
  13. package/artifacts/.templates/cat20/cat20Guard_6_6_4.transformer.json +2 -1
  14. package/artifacts/.templates/cat20/types.scrypt.map +1 -1
  15. package/artifacts/.templates/cat20/types.scrypt.tpl +1 -0
  16. package/artifacts/.templates/cat721/cat721GuardStateLib.scrypt.tpl +2 -2
  17. package/artifacts/.templates/cat721/cat721Guard_12_12_2.scrypt.map +1 -1
  18. package/artifacts/.templates/cat721/cat721Guard_12_12_2.scrypt.tpl +19 -2
  19. package/artifacts/.templates/cat721/cat721Guard_12_12_2.transformer.json +2 -1
  20. package/artifacts/.templates/cat721/cat721Guard_12_12_4.scrypt.map +1 -1
  21. package/artifacts/.templates/cat721/cat721Guard_12_12_4.scrypt.tpl +19 -2
  22. package/artifacts/.templates/cat721/cat721Guard_12_12_4.transformer.json +2 -1
  23. package/artifacts/.templates/cat721/cat721Guard_6_6_2.scrypt.map +1 -1
  24. package/artifacts/.templates/cat721/cat721Guard_6_6_2.scrypt.tpl +19 -2
  25. package/artifacts/.templates/cat721/cat721Guard_6_6_2.transformer.json +2 -1
  26. package/artifacts/.templates/cat721/cat721Guard_6_6_4.scrypt.map +1 -1
  27. package/artifacts/.templates/cat721/cat721Guard_6_6_4.scrypt.tpl +19 -2
  28. package/artifacts/.templates/cat721/cat721Guard_6_6_4.transformer.json +2 -1
  29. package/artifacts/.templates/cat721/types.scrypt.map +1 -1
  30. package/artifacts/.templates/cat721/types.scrypt.tpl +1 -0
  31. package/artifacts/cat20/cat20.json +40 -36
  32. package/artifacts/cat20/cat20.scrypt +18 -18
  33. package/artifacts/cat20/cat20Admin.json +38 -34
  34. package/artifacts/cat20/cat20Admin.scrypt +30 -30
  35. package/artifacts/cat20/cat20GuardStateLib.json +25 -21
  36. package/artifacts/cat20/cat20GuardStateLib.scrypt +7 -7
  37. package/artifacts/cat20/cat20Guard_12_12_2.json +75 -32
  38. package/artifacts/cat20/cat20Guard_12_12_2.scrypt +40 -23
  39. package/artifacts/cat20/cat20Guard_12_12_4.json +75 -32
  40. package/artifacts/cat20/cat20Guard_12_12_4.scrypt +40 -23
  41. package/artifacts/cat20/cat20Guard_6_6_2.json +75 -32
  42. package/artifacts/cat20/cat20Guard_6_6_2.scrypt +40 -23
  43. package/artifacts/cat20/cat20Guard_6_6_4.json +75 -32
  44. package/artifacts/cat20/cat20Guard_6_6_4.scrypt +40 -23
  45. package/artifacts/cat20/cat20StateLib.json +26 -22
  46. package/artifacts/cat20/cat20StateLib.scrypt +5 -5
  47. package/artifacts/cat20/minters/cat20ClosedMinter.json +36 -32
  48. package/artifacts/cat20/minters/cat20ClosedMinter.scrypt +22 -22
  49. package/artifacts/cat20/minters/cat20OpenMinter.json +36 -32
  50. package/artifacts/cat20/minters/cat20OpenMinter.scrypt +18 -18
  51. package/artifacts/cat20/types.json +9 -5
  52. package/artifacts/cat20/types.scrypt +6 -5
  53. package/artifacts/cat721/cat721.json +40 -36
  54. package/artifacts/cat721/cat721.scrypt +18 -18
  55. package/artifacts/cat721/cat721GuardStateLib.json +25 -21
  56. package/artifacts/cat721/cat721GuardStateLib.scrypt +7 -7
  57. package/artifacts/cat721/cat721Guard_12_12_2.json +74 -31
  58. package/artifacts/cat721/cat721Guard_12_12_2.scrypt +37 -20
  59. package/artifacts/cat721/cat721Guard_12_12_4.json +74 -31
  60. package/artifacts/cat721/cat721Guard_12_12_4.scrypt +37 -20
  61. package/artifacts/cat721/cat721Guard_6_6_2.json +74 -31
  62. package/artifacts/cat721/cat721Guard_6_6_2.scrypt +37 -20
  63. package/artifacts/cat721/cat721Guard_6_6_4.json +74 -31
  64. package/artifacts/cat721/cat721Guard_6_6_4.scrypt +37 -20
  65. package/artifacts/cat721/cat721StateLib.json +26 -22
  66. package/artifacts/cat721/cat721StateLib.scrypt +5 -5
  67. package/artifacts/cat721/minters/cat721ClosedMinter.json +36 -32
  68. package/artifacts/cat721/minters/cat721ClosedMinter.scrypt +18 -18
  69. package/artifacts/cat721/minters/cat721OpenMintInfo.json +5 -5
  70. package/artifacts/cat721/minters/cat721OpenMintInfo.scrypt +4 -4
  71. package/artifacts/cat721/minters/cat721OpenMinter.json +41 -37
  72. package/artifacts/cat721/minters/cat721OpenMinter.scrypt +22 -22
  73. package/artifacts/cat721/minters/cat721OpenMinterMerkleTree.json +23 -19
  74. package/artifacts/cat721/minters/cat721OpenMinterMerkleTree.scrypt +6 -6
  75. package/artifacts/cat721/types.json +9 -5
  76. package/artifacts/cat721/types.scrypt +6 -5
  77. package/artifacts/constants.json +2 -2
  78. package/artifacts/constants.scrypt +1 -1
  79. package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/backtrace.scrypt +13 -13
  80. package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/contextUtils.scrypt +16 -16
  81. package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/stateUtils.scrypt +1 -1
  82. package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/stdUtils.scrypt +12 -12
  83. package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/txHashPreimageUtils.scrypt +7 -7
  84. package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/txUtils.scrypt +12 -12
  85. package/artifacts/scrypt-ts-opcat/assets/smart-contract/types/structs.scrypt +8 -8
  86. package/artifacts/types.json +2 -2
  87. package/artifacts/types.scrypt +2 -2
  88. package/artifacts/utils/ownerUtils.json +14 -14
  89. package/artifacts/utils/ownerUtils.scrypt +3 -3
  90. package/artifacts/utils/safeMath.json +14 -14
  91. package/artifacts/utils/safeMath.scrypt +1 -1
  92. package/dist/artifacts/cat20/cat20.json +40 -36
  93. package/dist/artifacts/cat20/cat20.scrypt +18 -18
  94. package/dist/artifacts/cat20/cat20Admin.json +38 -34
  95. package/dist/artifacts/cat20/cat20Admin.scrypt +30 -30
  96. package/dist/artifacts/cat20/cat20GuardStateLib.json +25 -21
  97. package/dist/artifacts/cat20/cat20GuardStateLib.scrypt +7 -7
  98. package/dist/artifacts/cat20/cat20Guard_12_12_2.json +75 -32
  99. package/dist/artifacts/cat20/cat20Guard_12_12_2.scrypt +40 -23
  100. package/dist/artifacts/cat20/cat20Guard_12_12_4.json +75 -32
  101. package/dist/artifacts/cat20/cat20Guard_12_12_4.scrypt +40 -23
  102. package/dist/artifacts/cat20/cat20Guard_6_6_2.json +75 -32
  103. package/dist/artifacts/cat20/cat20Guard_6_6_2.scrypt +40 -23
  104. package/dist/artifacts/cat20/cat20Guard_6_6_4.json +75 -32
  105. package/dist/artifacts/cat20/cat20Guard_6_6_4.scrypt +40 -23
  106. package/dist/artifacts/cat20/cat20StateLib.json +26 -22
  107. package/dist/artifacts/cat20/cat20StateLib.scrypt +5 -5
  108. package/dist/artifacts/cat20/minters/cat20ClosedMinter.json +36 -32
  109. package/dist/artifacts/cat20/minters/cat20ClosedMinter.scrypt +22 -22
  110. package/dist/artifacts/cat20/minters/cat20OpenMinter.json +36 -32
  111. package/dist/artifacts/cat20/minters/cat20OpenMinter.scrypt +18 -18
  112. package/dist/artifacts/cat20/types.json +9 -5
  113. package/dist/artifacts/cat20/types.scrypt +6 -5
  114. package/dist/artifacts/cat721/cat721.json +40 -36
  115. package/dist/artifacts/cat721/cat721.scrypt +18 -18
  116. package/dist/artifacts/cat721/cat721GuardStateLib.json +25 -21
  117. package/dist/artifacts/cat721/cat721GuardStateLib.scrypt +7 -7
  118. package/dist/artifacts/cat721/cat721Guard_12_12_2.json +74 -31
  119. package/dist/artifacts/cat721/cat721Guard_12_12_2.scrypt +37 -20
  120. package/dist/artifacts/cat721/cat721Guard_12_12_4.json +74 -31
  121. package/dist/artifacts/cat721/cat721Guard_12_12_4.scrypt +37 -20
  122. package/dist/artifacts/cat721/cat721Guard_6_6_2.json +74 -31
  123. package/dist/artifacts/cat721/cat721Guard_6_6_2.scrypt +37 -20
  124. package/dist/artifacts/cat721/cat721Guard_6_6_4.json +74 -31
  125. package/dist/artifacts/cat721/cat721Guard_6_6_4.scrypt +37 -20
  126. package/dist/artifacts/cat721/cat721StateLib.json +26 -22
  127. package/dist/artifacts/cat721/cat721StateLib.scrypt +5 -5
  128. package/dist/artifacts/cat721/minters/cat721ClosedMinter.json +36 -32
  129. package/dist/artifacts/cat721/minters/cat721ClosedMinter.scrypt +18 -18
  130. package/dist/artifacts/cat721/minters/cat721OpenMintInfo.json +5 -5
  131. package/dist/artifacts/cat721/minters/cat721OpenMintInfo.scrypt +4 -4
  132. package/dist/artifacts/cat721/minters/cat721OpenMinter.json +41 -37
  133. package/dist/artifacts/cat721/minters/cat721OpenMinter.scrypt +22 -22
  134. package/dist/artifacts/cat721/minters/cat721OpenMinterMerkleTree.json +23 -19
  135. package/dist/artifacts/cat721/minters/cat721OpenMinterMerkleTree.scrypt +6 -6
  136. package/dist/artifacts/cat721/types.json +9 -5
  137. package/dist/artifacts/cat721/types.scrypt +6 -5
  138. package/dist/artifacts/constants.json +2 -2
  139. package/dist/artifacts/constants.scrypt +1 -1
  140. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/backtrace.scrypt +13 -13
  141. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/contextUtils.scrypt +16 -16
  142. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/stateUtils.scrypt +1 -1
  143. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/stdUtils.scrypt +12 -12
  144. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/txHashPreimageUtils.scrypt +7 -7
  145. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/txUtils.scrypt +12 -12
  146. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/types/structs.scrypt +8 -8
  147. package/dist/artifacts/types.json +2 -2
  148. package/dist/artifacts/types.scrypt +2 -2
  149. package/dist/artifacts/utils/ownerUtils.json +14 -14
  150. package/dist/artifacts/utils/ownerUtils.scrypt +3 -3
  151. package/dist/artifacts/utils/safeMath.json +14 -14
  152. package/dist/artifacts/utils/safeMath.scrypt +1 -1
  153. package/dist/cjs/contracts/cat20/cat20GuardStateLib.js +2 -1
  154. package/dist/cjs/contracts/cat20/cat20GuardStateLib.js.map +1 -1
  155. package/dist/cjs/contracts/cat20/cat20Guard_12_12_2.js +19 -0
  156. package/dist/cjs/contracts/cat20/cat20Guard_12_12_2.js.map +1 -1
  157. package/dist/cjs/contracts/cat20/cat20Guard_12_12_4.js +19 -0
  158. package/dist/cjs/contracts/cat20/cat20Guard_12_12_4.js.map +1 -1
  159. package/dist/cjs/contracts/cat20/cat20Guard_6_6_2.js +19 -0
  160. package/dist/cjs/contracts/cat20/cat20Guard_6_6_2.js.map +1 -1
  161. package/dist/cjs/contracts/cat20/cat20Guard_6_6_4.js +19 -0
  162. package/dist/cjs/contracts/cat20/cat20Guard_6_6_4.js.map +1 -1
  163. package/dist/cjs/contracts/cat721/cat721GuardStateLib.js +2 -1
  164. package/dist/cjs/contracts/cat721/cat721GuardStateLib.js.map +1 -1
  165. package/dist/cjs/contracts/cat721/cat721Guard_12_12_2.js +19 -0
  166. package/dist/cjs/contracts/cat721/cat721Guard_12_12_2.js.map +1 -1
  167. package/dist/cjs/contracts/cat721/cat721Guard_12_12_4.js +19 -0
  168. package/dist/cjs/contracts/cat721/cat721Guard_12_12_4.js.map +1 -1
  169. package/dist/cjs/contracts/cat721/cat721Guard_6_6_2.js +19 -0
  170. package/dist/cjs/contracts/cat721/cat721Guard_6_6_2.js.map +1 -1
  171. package/dist/cjs/contracts/cat721/cat721Guard_6_6_4.js +19 -0
  172. package/dist/cjs/contracts/cat721/cat721Guard_6_6_4.js.map +1 -1
  173. package/dist/cjs/contracts/cat721/types.js.map +1 -1
  174. package/dist/cjs/features/cat20/admin/burnByAdmin.js +2 -1
  175. package/dist/cjs/features/cat20/admin/burnByAdmin.js.map +1 -1
  176. package/dist/cjs/features/cat20/burn/burn.js +2 -1
  177. package/dist/cjs/features/cat20/burn/burn.js.map +1 -1
  178. package/dist/cjs/features/cat20/guard/destroyGuard.js +49 -0
  179. package/dist/cjs/features/cat20/guard/destroyGuard.js.map +1 -0
  180. package/dist/cjs/features/cat20/index.js +3 -1
  181. package/dist/cjs/features/cat20/index.js.map +1 -1
  182. package/dist/cjs/features/cat20/send/contractSend.js +2 -1
  183. package/dist/cjs/features/cat20/send/contractSend.js.map +1 -1
  184. package/dist/cjs/features/cat20/send/singleSend.js +4 -3
  185. package/dist/cjs/features/cat20/send/singleSend.js.map +1 -1
  186. package/dist/cjs/features/cat721/burn/burn.js +2 -1
  187. package/dist/cjs/features/cat721/burn/burn.js.map +1 -1
  188. package/dist/cjs/features/cat721/guard/destroyGuard.js +49 -0
  189. package/dist/cjs/features/cat721/guard/destroyGuard.js.map +1 -0
  190. package/dist/cjs/features/cat721/index.js +3 -1
  191. package/dist/cjs/features/cat721/index.js.map +1 -1
  192. package/dist/cjs/features/cat721/send/singleSend.js +4 -3
  193. package/dist/cjs/features/cat721/send/singleSend.js.map +1 -1
  194. package/dist/cjs/utils/contractPeripheral.js +8 -4
  195. package/dist/cjs/utils/contractPeripheral.js.map +1 -1
  196. package/dist/esm/contracts/cat20/cat20GuardStateLib.js +2 -1
  197. package/dist/esm/contracts/cat20/cat20GuardStateLib.js.map +1 -1
  198. package/dist/esm/contracts/cat20/cat20Guard_12_12_2.js +20 -1
  199. package/dist/esm/contracts/cat20/cat20Guard_12_12_2.js.map +1 -1
  200. package/dist/esm/contracts/cat20/cat20Guard_12_12_4.js +20 -1
  201. package/dist/esm/contracts/cat20/cat20Guard_12_12_4.js.map +1 -1
  202. package/dist/esm/contracts/cat20/cat20Guard_6_6_2.js +20 -1
  203. package/dist/esm/contracts/cat20/cat20Guard_6_6_2.js.map +1 -1
  204. package/dist/esm/contracts/cat20/cat20Guard_6_6_4.js +20 -1
  205. package/dist/esm/contracts/cat20/cat20Guard_6_6_4.js.map +1 -1
  206. package/dist/esm/contracts/cat721/cat721GuardStateLib.js +2 -1
  207. package/dist/esm/contracts/cat721/cat721GuardStateLib.js.map +1 -1
  208. package/dist/esm/contracts/cat721/cat721Guard_12_12_2.js +20 -1
  209. package/dist/esm/contracts/cat721/cat721Guard_12_12_2.js.map +1 -1
  210. package/dist/esm/contracts/cat721/cat721Guard_12_12_4.js +20 -1
  211. package/dist/esm/contracts/cat721/cat721Guard_12_12_4.js.map +1 -1
  212. package/dist/esm/contracts/cat721/cat721Guard_6_6_2.js +20 -1
  213. package/dist/esm/contracts/cat721/cat721Guard_6_6_2.js.map +1 -1
  214. package/dist/esm/contracts/cat721/cat721Guard_6_6_4.js +20 -1
  215. package/dist/esm/contracts/cat721/cat721Guard_6_6_4.js.map +1 -1
  216. package/dist/esm/contracts/cat721/types.js.map +1 -1
  217. package/dist/esm/features/cat20/admin/burnByAdmin.js +2 -1
  218. package/dist/esm/features/cat20/admin/burnByAdmin.js.map +1 -1
  219. package/dist/esm/features/cat20/burn/burn.js +3 -2
  220. package/dist/esm/features/cat20/burn/burn.js.map +1 -1
  221. package/dist/esm/features/cat20/guard/destroyGuard.js +46 -0
  222. package/dist/esm/features/cat20/guard/destroyGuard.js.map +1 -0
  223. package/dist/esm/features/cat20/index.js +1 -0
  224. package/dist/esm/features/cat20/index.js.map +1 -1
  225. package/dist/esm/features/cat20/send/contractSend.js +2 -1
  226. package/dist/esm/features/cat20/send/contractSend.js.map +1 -1
  227. package/dist/esm/features/cat20/send/singleSend.js +5 -4
  228. package/dist/esm/features/cat20/send/singleSend.js.map +1 -1
  229. package/dist/esm/features/cat721/burn/burn.js +3 -2
  230. package/dist/esm/features/cat721/burn/burn.js.map +1 -1
  231. package/dist/esm/features/cat721/guard/destroyGuard.js +46 -0
  232. package/dist/esm/features/cat721/guard/destroyGuard.js.map +1 -0
  233. package/dist/esm/features/cat721/index.js +1 -0
  234. package/dist/esm/features/cat721/index.js.map +1 -1
  235. package/dist/esm/features/cat721/send/singleSend.js +5 -4
  236. package/dist/esm/features/cat721/send/singleSend.js.map +1 -1
  237. package/dist/esm/utils/contractPeripheral.js +8 -4
  238. package/dist/esm/utils/contractPeripheral.js.map +1 -1
  239. package/dist/types/contracts/cat20/cat20GuardStateLib.d.ts.map +1 -1
  240. package/dist/types/contracts/cat20/cat20Guard_12_12_2.d.ts +9 -1
  241. package/dist/types/contracts/cat20/cat20Guard_12_12_2.d.ts.map +1 -1
  242. package/dist/types/contracts/cat20/cat20Guard_12_12_4.d.ts +9 -1
  243. package/dist/types/contracts/cat20/cat20Guard_12_12_4.d.ts.map +1 -1
  244. package/dist/types/contracts/cat20/cat20Guard_6_6_2.d.ts +9 -1
  245. package/dist/types/contracts/cat20/cat20Guard_6_6_2.d.ts.map +1 -1
  246. package/dist/types/contracts/cat20/cat20Guard_6_6_4.d.ts +9 -1
  247. package/dist/types/contracts/cat20/cat20Guard_6_6_4.d.ts.map +1 -1
  248. package/dist/types/contracts/cat20/types.d.ts +7 -2
  249. package/dist/types/contracts/cat20/types.d.ts.map +1 -1
  250. package/dist/types/contracts/cat721/cat721GuardStateLib.d.ts.map +1 -1
  251. package/dist/types/contracts/cat721/cat721Guard_12_12_2.d.ts +9 -1
  252. package/dist/types/contracts/cat721/cat721Guard_12_12_2.d.ts.map +1 -1
  253. package/dist/types/contracts/cat721/cat721Guard_12_12_4.d.ts +9 -1
  254. package/dist/types/contracts/cat721/cat721Guard_12_12_4.d.ts.map +1 -1
  255. package/dist/types/contracts/cat721/cat721Guard_6_6_2.d.ts +9 -1
  256. package/dist/types/contracts/cat721/cat721Guard_6_6_2.d.ts.map +1 -1
  257. package/dist/types/contracts/cat721/cat721Guard_6_6_4.d.ts +9 -1
  258. package/dist/types/contracts/cat721/cat721Guard_6_6_4.d.ts.map +1 -1
  259. package/dist/types/contracts/cat721/types.d.ts +6 -0
  260. package/dist/types/contracts/cat721/types.d.ts.map +1 -1
  261. package/dist/types/features/cat20/admin/burnByAdmin.d.ts.map +1 -1
  262. package/dist/types/features/cat20/burn/burn.d.ts.map +1 -1
  263. package/dist/types/features/cat20/guard/destroyGuard.d.ts +21 -0
  264. package/dist/types/features/cat20/guard/destroyGuard.d.ts.map +1 -0
  265. package/dist/types/features/cat20/index.d.ts +1 -0
  266. package/dist/types/features/cat20/index.d.ts.map +1 -1
  267. package/dist/types/features/cat20/send/contractSend.d.ts.map +1 -1
  268. package/dist/types/features/cat20/send/singleSend.d.ts +1 -1
  269. package/dist/types/features/cat20/send/singleSend.d.ts.map +1 -1
  270. package/dist/types/features/cat721/burn/burn.d.ts.map +1 -1
  271. package/dist/types/features/cat721/guard/destroyGuard.d.ts +21 -0
  272. package/dist/types/features/cat721/guard/destroyGuard.d.ts.map +1 -0
  273. package/dist/types/features/cat721/index.d.ts +1 -0
  274. package/dist/types/features/cat721/index.d.ts.map +1 -1
  275. package/dist/types/features/cat721/send/singleSend.d.ts +1 -1
  276. package/dist/types/features/cat721/send/singleSend.d.ts.map +1 -1
  277. package/dist/types/utils/contractPeripheral.d.ts +4 -4
  278. package/dist/types/utils/contractPeripheral.d.ts.map +1 -1
  279. package/package.json +4 -4
  280. package/scrypt.index.json +10 -10
@@ -1,12 +1,16 @@
1
1
  {
2
2
  "version": 10,
3
3
  "compilerVersion": "1.22.0+commit.47800da",
4
- "contract": "_opcat_labs_cat_sdk_3_1_0__rs__CAT721Guard_12_12_2",
5
- "md5": "bcdbf60dc1cac39a5b36d525bba4d38b",
4
+ "contract": "_opcat_labs_cat_sdk_3_2_0__rs__CAT721Guard_12_12_2",
5
+ "md5": "2974d55f99d9501d72f1b91b7114e5dc",
6
6
  "structs": [
7
7
  {
8
- "name": "_opcat_labs_cat_sdk_3_1_0__rs__CAT721GuardConstState",
8
+ "name": "_opcat_labs_cat_sdk_3_2_0__rs__CAT721GuardConstState",
9
9
  "params": [
10
+ {
11
+ "name": "deployerAddr",
12
+ "type": "bytes"
13
+ },
10
14
  {
11
15
  "name": "nftScriptHashes",
12
16
  "type": "bytes[4]"
@@ -23,7 +27,7 @@
23
27
  "genericTypes": []
24
28
  },
25
29
  {
26
- "name": "_opcat_labs_cat_sdk_3_1_0__rs__CAT721State",
30
+ "name": "_opcat_labs_cat_sdk_3_2_0__rs__CAT721State",
27
31
  "params": [
28
32
  {
29
33
  "name": "ownerAddr",
@@ -37,7 +41,7 @@
37
41
  "genericTypes": []
38
42
  },
39
43
  {
40
- "name": "_opcat_labs_cat_sdk_3_1_0__rs__CAT721ClosedMinterState",
44
+ "name": "_opcat_labs_cat_sdk_3_2_0__rs__CAT721ClosedMinterState",
41
45
  "params": [
42
46
  {
43
47
  "name": "nftScriptHash",
@@ -55,7 +59,7 @@
55
59
  "genericTypes": []
56
60
  },
57
61
  {
58
- "name": "_opcat_labs_cat_sdk_3_1_0__rs__CAT721MerkleLeaf",
62
+ "name": "_opcat_labs_cat_sdk_3_2_0__rs__CAT721MerkleLeaf",
59
63
  "params": [
60
64
  {
61
65
  "name": "contentDataHash",
@@ -73,7 +77,7 @@
73
77
  "genericTypes": []
74
78
  },
75
79
  {
76
- "name": "_opcat_labs_cat_sdk_3_1_0__rs__CAT721OpenMinterState",
80
+ "name": "_opcat_labs_cat_sdk_3_2_0__rs__CAT721OpenMinterState",
77
81
  "params": [
78
82
  {
79
83
  "name": "nftScriptHash",
@@ -91,7 +95,7 @@
91
95
  "genericTypes": []
92
96
  },
93
97
  {
94
- "name": "_opcat_labs_scrypt_ts_opcat_3_1_0__rs__TxOut",
98
+ "name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxOut",
95
99
  "params": [
96
100
  {
97
101
  "name": "scriptHash",
@@ -109,7 +113,7 @@
109
113
  "genericTypes": []
110
114
  },
111
115
  {
112
- "name": "_opcat_labs_scrypt_ts_opcat_3_1_0__rs__TxIn",
116
+ "name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxIn",
113
117
  "params": [
114
118
  {
115
119
  "name": "prevTxHash",
@@ -131,7 +135,7 @@
131
135
  "genericTypes": []
132
136
  },
133
137
  {
134
- "name": "_opcat_labs_scrypt_ts_opcat_3_1_0__rs__TxHashPreimage",
138
+ "name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxHashPreimage",
135
139
  "params": [
136
140
  {
137
141
  "name": "version",
@@ -153,11 +157,11 @@
153
157
  "genericTypes": []
154
158
  },
155
159
  {
156
- "name": "_opcat_labs_scrypt_ts_opcat_3_1_0__rs__BacktraceInfo",
160
+ "name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__BacktraceInfo",
157
161
  "params": [
158
162
  {
159
163
  "name": "prevTxInput",
160
- "type": "_opcat_labs_scrypt_ts_opcat_3_1_0__rs__TxIn"
164
+ "type": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxIn"
161
165
  },
162
166
  {
163
167
  "name": "prevTxInputIndex",
@@ -165,13 +169,13 @@
165
169
  },
166
170
  {
167
171
  "name": "prevPrevTxPreimage",
168
- "type": "_opcat_labs_scrypt_ts_opcat_3_1_0__rs__TxHashPreimage"
172
+ "type": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxHashPreimage"
169
173
  }
170
174
  ],
171
175
  "genericTypes": []
172
176
  },
173
177
  {
174
- "name": "_opcat_labs_scrypt_ts_opcat_3_1_0__rs__SHPreimage",
178
+ "name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__SHPreimage",
175
179
  "params": [
176
180
  {
177
181
  "name": "nVersion",
@@ -233,7 +237,7 @@
233
237
  "genericTypes": []
234
238
  },
235
239
  {
236
- "name": "_opcat_labs_scrypt_ts_opcat_3_1_0__rs__Outpoint",
240
+ "name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__Outpoint",
237
241
  "params": [
238
242
  {
239
243
  "name": "txHash",
@@ -247,7 +251,7 @@
247
251
  "genericTypes": []
248
252
  },
249
253
  {
250
- "name": "_opcat_labs_scrypt_ts_opcat_3_1_0__rs__ReadVarintResult",
254
+ "name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__ReadVarintResult",
251
255
  "params": [
252
256
  {
253
257
  "name": "data",
@@ -263,51 +267,51 @@
263
267
  ],
264
268
  "library": [
265
269
  {
266
- "name": "_opcat_labs_cat_sdk_3_1_0__rs__OwnerUtils",
270
+ "name": "_opcat_labs_cat_sdk_3_2_0__rs__OwnerUtils",
267
271
  "params": [],
268
272
  "properties": [],
269
273
  "genericTypes": []
270
274
  },
271
275
  {
272
- "name": "_opcat_labs_scrypt_ts_opcat_3_1_0__rs__TxUtils",
276
+ "name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxUtils",
273
277
  "params": [],
274
278
  "properties": [],
275
279
  "genericTypes": []
276
280
  },
277
281
  {
278
- "name": "_opcat_labs_scrypt_ts_opcat_3_1_0__rs__StateUtils",
282
+ "name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__StateUtils",
279
283
  "params": [],
280
284
  "properties": [],
281
285
  "genericTypes": []
282
286
  },
283
287
  {
284
- "name": "_opcat_labs_cat_sdk_3_1_0__rs__CAT721StateLib",
288
+ "name": "_opcat_labs_cat_sdk_3_2_0__rs__CAT721StateLib",
285
289
  "params": [],
286
290
  "properties": [],
287
291
  "genericTypes": [],
288
- "stateType": "_opcat_labs_cat_sdk_3_1_0__rs__CAT721State"
292
+ "stateType": "_opcat_labs_cat_sdk_3_2_0__rs__CAT721State"
289
293
  },
290
294
  {
291
- "name": "_opcat_labs_cat_sdk_3_1_0__rs__ConstantsLib",
295
+ "name": "_opcat_labs_cat_sdk_3_2_0__rs__ConstantsLib",
292
296
  "params": [],
293
297
  "properties": [],
294
298
  "genericTypes": []
295
299
  },
296
300
  {
297
- "name": "_opcat_labs_scrypt_ts_opcat_3_1_0__rs__ContextUtils",
301
+ "name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils",
298
302
  "params": [],
299
303
  "properties": [],
300
304
  "genericTypes": []
301
305
  },
302
306
  {
303
- "name": "_opcat_labs_cat_sdk_3_1_0__rs__CAT721GuardStateLib",
307
+ "name": "_opcat_labs_cat_sdk_3_2_0__rs__CAT721GuardStateLib",
304
308
  "params": [],
305
309
  "properties": [],
306
310
  "genericTypes": [],
307
- "stateType": "_opcat_labs_cat_sdk_3_1_0__rs__CAT721GuardConstState"
311
+ "stateType": "_opcat_labs_cat_sdk_3_2_0__rs__CAT721GuardConstState"
308
312
  },
309
313
  {
310
- "name": "_opcat_labs_scrypt_ts_opcat_3_1_0__rs__StdUtils",
314
+ "name": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__StdUtils",
311
315
  "params": [],
312
316
  "properties": [],
313
317
  "genericTypes": []
@@ -342,7 +346,7 @@
342
346
  },
343
347
  {
344
348
  "name": "cat721States",
345
- "type": "_opcat_labs_cat_sdk_3_1_0__rs__CAT721State[12]"
349
+ "type": "_opcat_labs_cat_sdk_3_2_0__rs__CAT721State[12]"
346
350
  },
347
351
  {
348
352
  "name": "outputCount",
@@ -350,7 +354,7 @@
350
354
  },
351
355
  {
352
356
  "name": "__scrypt_ts_shPreimage",
353
- "type": "_opcat_labs_scrypt_ts_opcat_3_1_0__rs__SHPreimage"
357
+ "type": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__SHPreimage"
354
358
  },
355
359
  {
356
360
  "name": "__scrypt_ts_preimageSig",
@@ -358,7 +362,7 @@
358
362
  },
359
363
  {
360
364
  "name": "__scrypt_ts_curState",
361
- "type": "_opcat_labs_cat_sdk_3_1_0__rs__CAT721GuardConstState"
365
+ "type": "_opcat_labs_cat_sdk_3_2_0__rs__CAT721GuardConstState"
362
366
  },
363
367
  {
364
368
  "name": "__scrypt_ts_spentAmounts",
@@ -374,14 +378,53 @@
374
378
  }
375
379
  ]
376
380
  },
381
+ {
382
+ "type": "function",
383
+ "name": "destroy",
384
+ "index": 1,
385
+ "params": [
386
+ {
387
+ "name": "userSig",
388
+ "type": "Sig"
389
+ },
390
+ {
391
+ "name": "userPubKey",
392
+ "type": "PubKey"
393
+ },
394
+ {
395
+ "name": "__scrypt_ts_shPreimage",
396
+ "type": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__SHPreimage"
397
+ },
398
+ {
399
+ "name": "__scrypt_ts_preimageSig",
400
+ "type": "Sig"
401
+ },
402
+ {
403
+ "name": "__scrypt_ts_changeInfo",
404
+ "type": "_opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxOut"
405
+ },
406
+ {
407
+ "name": "__scrypt_ts_curState",
408
+ "type": "_opcat_labs_cat_sdk_3_2_0__rs__CAT721GuardConstState"
409
+ },
410
+ {
411
+ "name": "__scrypt_ts_spentAmounts",
412
+ "type": "bytes"
413
+ },
414
+ {
415
+ "name": "__scrypt_ts_spentDataHashes",
416
+ "type": "bytes"
417
+ }
418
+ ]
419
+ },
377
420
  {
378
421
  "type": "constructor",
379
422
  "params": []
380
423
  }
381
424
  ],
382
425
  "stateProps": [],
383
- "stateType": "_opcat_labs_cat_sdk_3_1_0__rs__CAT721GuardConstState",
426
+ "stateType": "_opcat_labs_cat_sdk_3_2_0__rs__CAT721GuardConstState",
384
427
  "buildType": "release",
385
428
  "file": "../cat721Guard_12_12_2.scrypt",
386
- "hex": "2102ba79df5f8ae7604a9830f03c7933028186aede0675a16f025dc4f8be8eec03822000000000000000000000000000000000000000000000000000000000000000ff2000000000000000000000000000000000000000000000000000000000000000fe2000000000000000000000000000000000000000000000000000000000000000fd2000000000000000000000000000000000000000000000000000000000000000fc5e795f7982778c7f75007f77011d79011d79011d79011d79011d79011d79011d79011d79011d79011d79011d79011d79011d79011d795d798277549d5c79827701209d5b79827701209d5a79827701209d597900a26958798277549d5779827701209d5679827701209d5579827701209d5479827701209d5379827701209d527900a2697800a26976519c6476529c6751686476539c67516864760281009c67516864760282009c67516864760283009c675168695d795d797e5c797e5b797e5a79767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c7e59797e58797e57797e56797e55797e54797e5379546e8b806e7c7f75007f6b6d6d6c7e5279546e8b806e7c7f75007f6b6d6d6c7e7854807e6b6d6d6d6d6d6d6d6ca85679ba635e795579ac67006869577901177978aa7888785878827d77527997009d6e7c966b6d6d6c7756790117796f75aa527988765379012078827d77527997009d6e7c967777779d6d7557790116796f75aa527988765379012078827d77527997009d6e7c967777779d6d755e795e795e795e795e795e79011879011579011579011579011579011579011579557955795579557953766b796c756b6d6d6c82775280567956795679567953766b796c756b6d6d6c7e567956795679567952766b796c756b6d6d6c827752807e567956795679567952766b796c756b6d6d6c7e567956795679567951766b796c756b6d6d6c827752807e567956795679567951766b796c756b6d6d6c7e567956795679567900766b796c756b6d6d6c827752807e567956795679567900766b796c756b6d6d6c7e5279827752807e52797e78827752807e787e567956795679567953766b796c756b6d6d6ca9577957795779577952766b796c756b6d6d6ca97e577957795779577951766b796c756b6d6d6ca97e577957795779577900766b796c756b6d6d6ca97e5379a97e5279a97ea97ea86b6d6d6d6c5f797653798b0120957f7553790120957f775279886d755579557955795579557955795c567956795679567953766b796c7553766b796c7587916953766b796c7552766b796c7587916953766b796c7551766b796c7587916952766b796c7552766b796c7587916952766b796c7551766b796c7587916951766b796c7551766b796c758791696d6d567956795679567953766b796c756b6d6d6c827d7701209d75567956795679567952766b796c756b6d6d6c827d7701209d75567956795679567951766b796c756b6d6d6c827d7701209d75567956795679567900766b796c756b6d6d6c827d7701209d757882775c9d78517f75007f7781764fa26376549f670068697578527f75517f7781764fa26376549f670068697578537f75527f7781764fa26376549f670068697578547f75537f7781764fa26376549f670068697578557f75547f7781764fa26376549f670068697578567f75557f7781764fa26376549f670068697578577f75567f7781764fa26376549f670068697578587f75577f7781764fa26376549f670068697578597f75587f7781764fa26376549f6700686975785a7f75597f7781764fa26376549f6700686975785b7f755a7f7781764fa26376549f6700686975785c7f755b7f7781764fa26376549f670068696d6d6d6d005b795b795b795b790052a2635a795a795a795a7953766b796c756b6d6d6c54766b796c7588685152a2635a795a795a795a7952766b796c756b6d6d6c53766b796c7588685252a2635a795a795a795a7951766b796c756b6d6d6c52766b796c7588685352a2635a795a795a795a7900766b796c756b6d6d6c51766b796c7588685a795a795a795a7953766b796c756b6d6d6c54766b796c7587645479768b567a757171557a75685a795a795a795a7952766b796c756b6d6d6c53766b796c7587645479768b567a757171557a75680055799f635a795a795a795a7953766b796c756b6d6d6c54766b796c758791695a795a795a795a7953766b796c756b6d6d6c827701209d675a795a795a795a7953766b796c756b6d6d6c54766b796c7588685155799f635a795a795a795a7952766b796c756b6d6d6c53766b796c758791695a795a795a795a7952766b796c756b6d6d6c827701209d675a795a795a795a7952766b796c756b6d6d6c53766b796c758868547900a0694f00000000000000000000000000011979011479517f75007f7781011679517f75007f77518763516700680053799f63780116799f69784f9e63011b79011b79011b79011b795456797600a26976549f69948c766b796c756b6d6d6c76012479006e8b0120957f75780120957f777777880153766b796c766b796c757876827d7701199c647601209c675168696d51787700a2696d012479006e8b0120957f75780120957f7777770154766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885279011279a0635279670111796801127a7501117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a7864760154766b796c766b796c786d77a97e55797600a269765c9f6901127a7800876375786801127a52795187637552796801127a53795287637553796801127a54795387637554796801127a55795487637555796801127a56795587637556796801127a57795687637557796801127a58795787637558796801127a59795887637559796801127a5a79598763755a796801127a5b795a8763755b796801127a5c795b8763755c79685c7a7501117a01117a01117a01117a01117a01117a755479768b567a757171557a756875677691696867784f9d686d011479527f75517f7781011679527f75517f77518763516700685153799f63780116799f69784f9e63011b79011b79011b79011b795456797600a26976549f69948c766b796c756b6d6d6c76012479516e8b0120957f75780120957f777777880151766b796c766b796c757876827d7701199c647601209c675168696d51787700a2696d012479516e8b0120957f75780120957f7777770152766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885279011279a0635279670111796801127a7501117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a7864760152766b796c766b796c786d77a97e55797600a269765c9f6901127a7800876375786801127a52795187637552796801127a53795287637553796801127a54795387637554796801127a55795487637555796801127a56795587637556796801127a57795687637557796801127a58795787637558796801127a59795887637559796801127a5a79598763755a796801127a5b795a8763755b796801127a5c795b8763755c79685c7a7501117a01117a01117a01117a01117a01117a755479768b567a757171557a756875677691696867784f9d686d011479537f75527f7781011679537f75527f77518763516700685253799f63780116799f69784f9e63011b79011b79011b79011b795456797600a26976549f69948c766b796c756b6d6d6c76012479526e8b0120957f75780120957f77777788014f766b796c766b796c757876827d7701199c647601209c675168696d51787700a2696d012479526e8b0120957f75780120957f7777770150766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885279011279a0635279670111796801127a7501117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a7864760150766b796c766b796c786d77a97e55797600a269765c9f6901127a7800876375786801127a52795187637552796801127a53795287637553796801127a54795387637554796801127a55795487637555796801127a56795587637556796801127a57795687637557796801127a58795787637558796801127a59795887637559796801127a5a79598763755a796801127a5b795a8763755b796801127a5c795b8763755c79685c7a7501117a01117a01117a01117a01117a01117a755479768b567a757171557a756875677691696867784f9d686d011479547f75537f7781011679547f75537f77518763516700685353799f63780116799f69784f9e63011b79011b79011b79011b795456797600a26976549f69948c766b796c756b6d6d6c76012479536e8b0120957f75780120957f77777788014d766b796c766b796c757876827d7701199c647601209c675168696d51787700a2696d012479536e8b0120957f75780120957f777777014e766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885279011279a0635279670111796801127a7501117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a786476014e766b796c766b796c786d77a97e55797600a269765c9f6901127a7800876375786801127a52795187637552796801127a53795287637553796801127a54795387637554796801127a55795487637555796801127a56795587637556796801127a57795687637557796801127a58795787637558796801127a59795887637559796801127a5a79598763755a796801127a5b795a8763755b796801127a5c795b8763755c79685c7a7501117a01117a01117a01117a01117a01117a755479768b567a757171557a756875677691696867784f9d686d011479557f75547f7781011679557f75547f77518763516700685453799f63780116799f69784f9e63011b79011b79011b79011b795456797600a26976549f69948c766b796c756b6d6d6c76012479546e8b0120957f75780120957f77777788014b766b796c766b796c757876827d7701199c647601209c675168696d51787700a2696d012479546e8b0120957f75780120957f777777014c766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885279011279a0635279670111796801127a7501117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a786476014c766b796c766b796c786d77a97e55797600a269765c9f6901127a7800876375786801127a52795187637552796801127a53795287637553796801127a54795387637554796801127a55795487637555796801127a56795587637556796801127a57795687637557796801127a58795787637558796801127a59795887637559796801127a5a79598763755a796801127a5b795a8763755b796801127a5c795b8763755c79685c7a7501117a01117a01117a01117a01117a01117a755479768b567a757171557a756875677691696867784f9d686d011479567f75557f7781011679567f75557f77518763516700685553799f63780116799f69784f9e63011b79011b79011b79011b795456797600a26976549f69948c766b796c756b6d6d6c76012479556e8b0120957f75780120957f777777880149766b796c766b796c757876827d7701199c647601209c675168696d51787700a2696d012479556e8b0120957f75780120957f777777014a766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885279011279a0635279670111796801127a7501117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a786476014a766b796c766b796c786d77a97e55797600a269765c9f6901127a7800876375786801127a52795187637552796801127a53795287637553796801127a54795387637554796801127a55795487637555796801127a56795587637556796801127a57795687637557796801127a58795787637558796801127a59795887637559796801127a5a79598763755a796801127a5b795a8763755b796801127a5c795b8763755c79685c7a7501117a01117a01117a01117a01117a01117a755479768b567a757171557a756875677691696867784f9d686d011479577f75567f7781011679577f75567f77518763516700685653799f63780116799f69784f9e63011b79011b79011b79011b795456797600a26976549f69948c766b796c756b6d6d6c76012479566e8b0120957f75780120957f777777880147766b796c766b796c757876827d7701199c647601209c675168696d51787700a2696d012479566e8b0120957f75780120957f7777770148766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885279011279a0635279670111796801127a7501117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a7864760148766b796c766b796c786d77a97e55797600a269765c9f6901127a7800876375786801127a52795187637552796801127a53795287637553796801127a54795387637554796801127a55795487637555796801127a56795587637556796801127a57795687637557796801127a58795787637558796801127a59795887637559796801127a5a79598763755a796801127a5b795a8763755b796801127a5c795b8763755c79685c7a7501117a01117a01117a01117a01117a01117a755479768b567a757171557a756875677691696867784f9d686d011479587f75577f7781011679587f75577f77518763516700685753799f63780116799f69784f9e63011b79011b79011b79011b795456797600a26976549f69948c766b796c756b6d6d6c76012479576e8b0120957f75780120957f777777880145766b796c766b796c757876827d7701199c647601209c675168696d51787700a2696d012479576e8b0120957f75780120957f7777770146766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885279011279a0635279670111796801127a7501117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a7864760146766b796c766b796c786d77a97e55797600a269765c9f6901127a7800876375786801127a52795187637552796801127a53795287637553796801127a54795387637554796801127a55795487637555796801127a56795587637556796801127a57795687637557796801127a58795787637558796801127a59795887637559796801127a5a79598763755a796801127a5b795a8763755b796801127a5c795b8763755c79685c7a7501117a01117a01117a01117a01117a01117a755479768b567a757171557a756875677691696867784f9d686d011479597f75587f7781011679597f75587f77518763516700685853799f63780116799f69784f9e63011b79011b79011b79011b795456797600a26976549f69948c766b796c756b6d6d6c76012479586e8b0120957f75780120957f777777880143766b796c766b796c757876827d7701199c647601209c675168696d51787700a2696d012479586e8b0120957f75780120957f7777770144766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885279011279a0635279670111796801127a7501117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a7864760144766b796c766b796c786d77a97e55797600a269765c9f6901127a7800876375786801127a52795187637552796801127a53795287637553796801127a54795387637554796801127a55795487637555796801127a56795587637556796801127a57795687637557796801127a58795787637558796801127a59795887637559796801127a5a79598763755a796801127a5b795a8763755b796801127a5c795b8763755c79685c7a7501117a01117a01117a01117a01117a01117a755479768b567a757171557a756875677691696867784f9d686d0114795a7f75597f77810116795a7f75597f77518763516700685953799f63780116799f69784f9e63011b79011b79011b79011b795456797600a26976549f69948c766b796c756b6d6d6c76012479596e8b0120957f75780120957f777777880141766b796c766b796c757876827d7701199c647601209c675168696d51787700a2696d012479596e8b0120957f75780120957f7777770142766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885279011279a0635279670111796801127a7501117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a7864760142766b796c766b796c786d77a97e55797600a269765c9f6901127a7800876375786801127a52795187637552796801127a53795287637553796801127a54795387637554796801127a55795487637555796801127a56795587637556796801127a57795687637557796801127a58795787637558796801127a59795887637559796801127a5a79598763755a796801127a5b795a8763755b796801127a5c795b8763755c79685c7a7501117a01117a01117a01117a01117a01117a755479768b567a757171557a756875677691696867784f9d686d0114795b7f755a7f77810116795b7f755a7f77518763516700685a53799f63780116799f69784f9e63011b79011b79011b79011b795456797600a26976549f69948c766b796c756b6d6d6c760124795a6e8b0120957f75780120957f77777788013f766b796c766b796c757876827d7701199c647601209c675168696d51787700a2696d0124795a6e8b0120957f75780120957f7777770140766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885279011279a0635279670111796801127a7501117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a7864760140766b796c766b796c786d77a97e55797600a269765c9f6901127a7800876375786801127a52795187637552796801127a53795287637553796801127a54795387637554796801127a55795487637555796801127a56795587637556796801127a57795687637557796801127a58795787637558796801127a59795887637559796801127a5a79598763755a796801127a5b795a8763755b796801127a5c795b8763755c79685c7a7501117a01117a01117a01117a01117a01117a755479768b567a757171557a756875677691696867784f9d686d0114795c7f755b7f77810116795c7f755b7f77518763516700685b53799f63780116799f69784f9e63011b79011b79011b79011b795456797600a26976549f69948c766b796c756b6d6d6c760124795b6e8b0120957f75780120957f77777788013d766b796c766b796c757876827d7701199c647601209c675168696d51787700a2696d0124795b6e8b0120957f75780120957f777777013e766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885279011279a0635279670111796801127a7501117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a786476013e766b796c766b796c786d77a97e55797600a269765c9f6901127a7800876375786801127a52795187637552796801127a53795287637553796801127a54795387637554796801127a55795487637555796801127a56795587637556796801127a57795687637557796801127a58795787637558796801127a59795887637559796801127a5a79598763755a796801127a5b795a8763755b796801127a5c795b8763755c79685c7a7501117a01117a01117a01117a01117a01117a755479768b567a757171557a756875677691696867784f9d686d5e7900a2635e790114798c9c6700686901387900a2630138795ca167006869000000013b799f63028200766b796c7877827700a069016b766b796c78770118799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c017955797600a269765c9f6994766b796c787700a269011356797600a269765c9f6994766b796c756f75a97e8855798b567a757171557a53796e8277528052797e78827752807e787e5279a95279a97ea97ea87777029300766b796c75788855790121790121790121790121795459797600a26976549f69948c766b796c756b6d6d6c0165766b796c755379527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d6778011e79011e79011e79011e7953766b796c756b6d6d6c87916978011e79011e79011e79011e7952766b796c756b6d6d6c8791696f750162766b796c75029300766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67028200766b796c758277009d016a766b796c754f9d0176766b796c754f9d028e00766b796c750088015e766b796c75009d6851013b799f63028100766b796c7877827700a069016a766b796c78770118799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c017955797600a269765c9f6994766b796c787700a269011356797600a269765c9f6994766b796c756f75a97e8855798b567a757171557a53796e8277528052797e78827752807e787e5279a95279a97ea97ea87777029200766b796c75788855790121790121790121790121795459797600a26976549f69948c766b796c756b6d6d6c0164766b796c755379527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d6778011e79011e79011e79011e7953766b796c756b6d6d6c87916978011e79011e79011e79011e7952766b796c756b6d6d6c8791696f750161766b796c75029200766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67028100766b796c758277009d0169766b796c754f9d0175766b796c754f9d028d00766b796c750088015d766b796c75009d6852013b799f63028000766b796c7877827700a0690169766b796c78770118799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c017955797600a269765c9f6994766b796c787700a269011356797600a269765c9f6994766b796c756f75a97e8855798b567a757171557a53796e8277528052797e78827752807e787e5279a95279a97ea97ea87777029100766b796c75788855790121790121790121790121795459797600a26976549f69948c766b796c756b6d6d6c0163766b796c755379527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d6778011e79011e79011e79011e7953766b796c756b6d6d6c87916978011e79011e79011e79011e7952766b796c756b6d6d6c8791696f750160766b796c75029100766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67028000766b796c758277009d0168766b796c754f9d0174766b796c754f9d028c00766b796c750088015c766b796c75009d6853013b799f63017f766b796c7877827700a0690168766b796c78770118799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c017955797600a269765c9f6994766b796c787700a269011356797600a269765c9f6994766b796c756f75a97e8855798b567a757171557a53796e8277528052797e78827752807e787e5279a95279a97ea97ea87777029000766b796c75788855790121790121790121790121795459797600a26976549f69948c766b796c756b6d6d6c0162766b796c755379527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d6778011e79011e79011e79011e7953766b796c756b6d6d6c87916978011e79011e79011e79011e7952766b796c756b6d6d6c8791696f75015f766b796c75029000766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67017f766b796c758277009d0167766b796c754f9d0173766b796c754f9d028b00766b796c750088015b766b796c75009d6854013b799f63017e766b796c7877827700a0690167766b796c78770118799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c017955797600a269765c9f6994766b796c787700a269011356797600a269765c9f6994766b796c756f75a97e8855798b567a757171557a53796e8277528052797e78827752807e787e5279a95279a97ea97ea87777028f00766b796c75788855790121790121790121790121795459797600a26976549f69948c766b796c756b6d6d6c0161766b796c755379527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d6778011e79011e79011e79011e7953766b796c756b6d6d6c87916978011e79011e79011e79011e7952766b796c756b6d6d6c8791696f75015e766b796c75028f00766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67017e766b796c758277009d0166766b796c754f9d0172766b796c754f9d028a00766b796c750088015a766b796c75009d6855013b799f63017d766b796c7877827700a0690166766b796c78770118799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c017955797600a269765c9f6994766b796c787700a269011356797600a269765c9f6994766b796c756f75a97e8855798b567a757171557a53796e8277528052797e78827752807e787e5279a95279a97ea97ea87777028e00766b796c75788855790121790121790121790121795459797600a26976549f69948c766b796c756b6d6d6c0160766b796c755379527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d6778011e79011e79011e79011e7953766b796c756b6d6d6c87916978011e79011e79011e79011e7952766b796c756b6d6d6c8791696f75015d766b796c75028e00766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67017d766b796c758277009d0165766b796c754f9d0171766b796c754f9d028900766b796c7500880159766b796c75009d6856013b799f63017c766b796c7877827700a0690165766b796c78770118799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c017955797600a269765c9f6994766b796c787700a269011356797600a269765c9f6994766b796c756f75a97e8855798b567a757171557a53796e8277528052797e78827752807e787e5279a95279a97ea97ea87777028d00766b796c75788855790121790121790121790121795459797600a26976549f69948c766b796c756b6d6d6c015f766b796c755379527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d6778011e79011e79011e79011e7953766b796c756b6d6d6c87916978011e79011e79011e79011e7952766b796c756b6d6d6c8791696f75015c766b796c75028d00766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67017c766b796c758277009d0164766b796c754f9d0170766b796c754f9d028800766b796c7500880158766b796c75009d6857013b799f63017b766b796c7877827700a0690164766b796c78770118799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c017955797600a269765c9f6994766b796c787700a269011356797600a269765c9f6994766b796c756f75a97e8855798b567a757171557a53796e8277528052797e78827752807e787e5279a95279a97ea97ea87777028c00766b796c75788855790121790121790121790121795459797600a26976549f69948c766b796c756b6d6d6c015e766b796c755379527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d6778011e79011e79011e79011e7953766b796c756b6d6d6c87916978011e79011e79011e79011e7952766b796c756b6d6d6c8791696f75015b766b796c75028c00766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67017b766b796c758277009d0163766b796c754f9d016f766b796c754f9d028700766b796c7500880157766b796c75009d6858013b799f63017a766b796c7877827700a0690163766b796c78770118799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c017955797600a269765c9f6994766b796c787700a269011356797600a269765c9f6994766b796c756f75a97e8855798b567a757171557a53796e8277528052797e78827752807e787e5279a95279a97ea97ea87777028b00766b796c75788855790121790121790121790121795459797600a26976549f69948c766b796c756b6d6d6c015d766b796c755379527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d6778011e79011e79011e79011e7953766b796c756b6d6d6c87916978011e79011e79011e79011e7952766b796c756b6d6d6c8791696f75015a766b796c75028b00766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67017a766b796c758277009d0162766b796c754f9d016e766b796c754f9d028600766b796c7500880156766b796c75009d6859013b799f630179766b796c7877827700a0690162766b796c78770118799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c017955797600a269765c9f6994766b796c787700a269011356797600a269765c9f6994766b796c756f75a97e8855798b567a757171557a53796e8277528052797e78827752807e787e5279a95279a97ea97ea87777028a00766b796c75788855790121790121790121790121795459797600a26976549f69948c766b796c756b6d6d6c015c766b796c755379527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d6778011e79011e79011e79011e7953766b796c756b6d6d6c87916978011e79011e79011e79011e7952766b796c756b6d6d6c8791696f750159766b796c75028a00766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d670179766b796c758277009d0161766b796c754f9d016d766b796c754f9d028500766b796c7500880155766b796c75009d685a013b799f630178766b796c7877827700a0690161766b796c78770118799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c017955797600a269765c9f6994766b796c787700a269011356797600a269765c9f6994766b796c756f75a97e8855798b567a757171557a53796e8277528052797e78827752807e787e5279a95279a97ea97ea87777028900766b796c75788855790121790121790121790121795459797600a26976549f69948c766b796c756b6d6d6c015b766b796c755379527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d6778011e79011e79011e79011e7953766b796c756b6d6d6c87916978011e79011e79011e79011e7952766b796c756b6d6d6c8791696f750158766b796c75028900766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d670178766b796c758277009d0160766b796c754f9d016c766b796c754f9d028400766b796c7500880154766b796c75009d685b013b799f630177766b796c7877827700a0690160766b796c78770118799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c017955797600a269765c9f6994766b796c787700a269011356797600a269765c9f6994766b796c756f75a97e8855798b567a757171557a53796e8277528052797e78827752807e787e5279a95279a97ea97ea87777028800766b796c75788855790121790121790121790121795459797600a26976549f69948c766b796c756b6d6d6c015a766b796c755379527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d6778011e79011e79011e79011e7953766b796c756b6d6d6c87916978011e79011e79011e79011e7952766b796c756b6d6d6c8791696f750157766b796c75028800766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d670177766b796c758277009d015f766b796c754f9d016b766b796c754f9d028300766b796c7500880153766b796c75009d68005279a2630176766b796c754f9d68515279a2630175766b796c754f9d68525279a2630174766b796c754f9d68535279a2630173766b796c754f9d68545279a2630172766b796c754f9d68555279a2630171766b796c754f9d68565279a2630170766b796c754f9d68575279a263016f766b796c754f9d68585279a263016e766b796c754f9d68595279a263016d766b796c754f9d685a5279a263016c766b796c754f9d685b5279a263016b766b796c754f9d68537952799d76aa013079876b6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c77"
429
+ "hex": "2102ba79df5f8ae7604a9830f03c7933028186aede0675a16f025dc4f8be8eec03822000000000000000000000000000000000000000000000000000000000000000ff2000000000000000000000000000000000000000000000000000000000000000fe2000000000000000000000000000000000000000000000000000000000000000fd2000000000000000000000000000000000000000000000000000000000000000fc5579008763607901117982778c7f75007f77011f79011f79011f79011f79011f79011f79011f79011f79011f79011f79011f79011f79011f79011f795d798277549d5c79827701209d5b79827701209d5a79827701209d597900a26958798277549d5779827701209d5679827701209d5579827701209d5479827701209d5379827701209d527900a2697800a26976519c6476529c6751686476539c67516864760281009c67516864760282009c67516864760283009c675168695d795d797e5c797e5b797e5a79767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c7e59797e58797e57797e56797e55797e54797e5379546e8b806e7c7f75007f6b6d6d6c7e5279546e8b806e7c7f75007f6b6d6d6c7e7854807e6b6d6d6d6d6d6d6d6ca85679ba6360795579ac67006869587901197978aa7888785878827d77527997009d6e7c966b6d6d6c7757790119796f75aa527988765379012078827d77527997009d6e7c967777779d6d7558790118796f75aa527988765379012078827d77527997009d6e7c967777779d6d756079607960796079607960796079011b7901187901187901187901187901187901187901187956798277528057797e567956795679567953766b796c756b6d6d6c827752807e567956795679567953766b796c756b6d6d6c7e567956795679567952766b796c756b6d6d6c827752807e567956795679567952766b796c756b6d6d6c7e567956795679567951766b796c756b6d6d6c827752807e567956795679567951766b796c756b6d6d6c7e567956795679567900766b796c756b6d6d6c827752807e567956795679567900766b796c756b6d6d6c7e5279827752807e52797e78827752807e787e5779a9577957795779577953766b796c756b6d6d6ca97e577957795779577952766b796c756b6d6d6ca97e577957795779577951766b796c756b6d6d6ca97e577957795779577900766b796c756b6d6d6ca97e5379a97e5279a97ea97ea86b6d6d6d6c770111797653798b0120957f7553790120957f775279886d7556795679567956795679567956795c567956795679567953766b796c7553766b796c7587916953766b796c7552766b796c7587916953766b796c7551766b796c7587916952766b796c7552766b796c7587916952766b796c7551766b796c7587916951766b796c7551766b796c758791696d6d567956795679567953766b796c756b6d6d6c827d7701209d75567956795679567952766b796c756b6d6d6c827d7701209d75567956795679567951766b796c756b6d6d6c827d7701209d75567956795679567900766b796c756b6d6d6c827d7701209d757882775c9d78517f75007f7781764fa26376549f670068697578527f75517f7781764fa26376549f670068697578537f75527f7781764fa26376549f670068697578547f75537f7781764fa26376549f670068697578557f75547f7781764fa26376549f670068697578567f75557f7781764fa26376549f670068697578577f75567f7781764fa26376549f670068697578587f75577f7781764fa26376549f670068697578597f75587f7781764fa26376549f6700686975785a7f75597f7781764fa26376549f6700686975785b7f755a7f7781764fa26376549f6700686975785c7f755b7f7781764fa26376549f670068696d6d6d6d75005c795c795c795c790052a2635a795a795a795a7953766b796c756b6d6d6c54766b796c7588685152a2635a795a795a795a7952766b796c756b6d6d6c53766b796c7588685252a2635a795a795a795a7951766b796c756b6d6d6c52766b796c7588685352a2635a795a795a795a7900766b796c756b6d6d6c51766b796c7588685a795a795a795a7953766b796c756b6d6d6c54766b796c7587645479768b567a757171557a75685a795a795a795a7952766b796c756b6d6d6c53766b796c7587645479768b567a757171557a75680055799f635a795a795a795a7953766b796c756b6d6d6c54766b796c758791695a795a795a795a7953766b796c756b6d6d6c827701209d675a795a795a795a7953766b796c756b6d6d6c54766b796c7588685155799f635a795a795a795a7952766b796c756b6d6d6c53766b796c758791695a795a795a795a7952766b796c756b6d6d6c827701209d675a795a795a795a7952766b796c756b6d6d6c53766b796c758868547900a0694f00000000000000000000000000011a79011479517f75007f7781011679517f75007f77518763516700680053799f63780116799f69784f9e63011b79011b79011b79011b795456797600a26976549f69948c766b796c756b6d6d6c76012679006e8b0120957f75780120957f777777880156766b796c766b796c757876827d7701199c647601209c675168696d51787700a2696d012679006e8b0120957f75780120957f7777770157766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885279011279a0635279670111796801127a7501117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a7864760157766b796c766b796c786d77a97e55797600a269765c9f6901127a7800876375786801127a52795187637552796801127a53795287637553796801127a54795387637554796801127a55795487637555796801127a56795587637556796801127a57795687637557796801127a58795787637558796801127a59795887637559796801127a5a79598763755a796801127a5b795a8763755b796801127a5c795b8763755c79685c7a7501117a01117a01117a01117a01117a01117a755479768b567a757171557a756875677691696867784f9d686d011479527f75517f7781011679527f75517f77518763516700685153799f63780116799f69784f9e63011b79011b79011b79011b795456797600a26976549f69948c766b796c756b6d6d6c76012679516e8b0120957f75780120957f777777880154766b796c766b796c757876827d7701199c647601209c675168696d51787700a2696d012679516e8b0120957f75780120957f7777770155766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885279011279a0635279670111796801127a7501117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a7864760155766b796c766b796c786d77a97e55797600a269765c9f6901127a7800876375786801127a52795187637552796801127a53795287637553796801127a54795387637554796801127a55795487637555796801127a56795587637556796801127a57795687637557796801127a58795787637558796801127a59795887637559796801127a5a79598763755a796801127a5b795a8763755b796801127a5c795b8763755c79685c7a7501117a01117a01117a01117a01117a01117a755479768b567a757171557a756875677691696867784f9d686d011479537f75527f7781011679537f75527f77518763516700685253799f63780116799f69784f9e63011b79011b79011b79011b795456797600a26976549f69948c766b796c756b6d6d6c76012679526e8b0120957f75780120957f777777880152766b796c766b796c757876827d7701199c647601209c675168696d51787700a2696d012679526e8b0120957f75780120957f7777770153766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885279011279a0635279670111796801127a7501117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a7864760153766b796c766b796c786d77a97e55797600a269765c9f6901127a7800876375786801127a52795187637552796801127a53795287637553796801127a54795387637554796801127a55795487637555796801127a56795587637556796801127a57795687637557796801127a58795787637558796801127a59795887637559796801127a5a79598763755a796801127a5b795a8763755b796801127a5c795b8763755c79685c7a7501117a01117a01117a01117a01117a01117a755479768b567a757171557a756875677691696867784f9d686d011479547f75537f7781011679547f75537f77518763516700685353799f63780116799f69784f9e63011b79011b79011b79011b795456797600a26976549f69948c766b796c756b6d6d6c76012679536e8b0120957f75780120957f777777880150766b796c766b796c757876827d7701199c647601209c675168696d51787700a2696d012679536e8b0120957f75780120957f7777770151766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885279011279a0635279670111796801127a7501117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a7864760151766b796c766b796c786d77a97e55797600a269765c9f6901127a7800876375786801127a52795187637552796801127a53795287637553796801127a54795387637554796801127a55795487637555796801127a56795587637556796801127a57795687637557796801127a58795787637558796801127a59795887637559796801127a5a79598763755a796801127a5b795a8763755b796801127a5c795b8763755c79685c7a7501117a01117a01117a01117a01117a01117a755479768b567a757171557a756875677691696867784f9d686d011479557f75547f7781011679557f75547f77518763516700685453799f63780116799f69784f9e63011b79011b79011b79011b795456797600a26976549f69948c766b796c756b6d6d6c76012679546e8b0120957f75780120957f77777788014e766b796c766b796c757876827d7701199c647601209c675168696d51787700a2696d012679546e8b0120957f75780120957f777777014f766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885279011279a0635279670111796801127a7501117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a786476014f766b796c766b796c786d77a97e55797600a269765c9f6901127a7800876375786801127a52795187637552796801127a53795287637553796801127a54795387637554796801127a55795487637555796801127a56795587637556796801127a57795687637557796801127a58795787637558796801127a59795887637559796801127a5a79598763755a796801127a5b795a8763755b796801127a5c795b8763755c79685c7a7501117a01117a01117a01117a01117a01117a755479768b567a757171557a756875677691696867784f9d686d011479567f75557f7781011679567f75557f77518763516700685553799f63780116799f69784f9e63011b79011b79011b79011b795456797600a26976549f69948c766b796c756b6d6d6c76012679556e8b0120957f75780120957f77777788014c766b796c766b796c757876827d7701199c647601209c675168696d51787700a2696d012679556e8b0120957f75780120957f777777014d766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885279011279a0635279670111796801127a7501117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a786476014d766b796c766b796c786d77a97e55797600a269765c9f6901127a7800876375786801127a52795187637552796801127a53795287637553796801127a54795387637554796801127a55795487637555796801127a56795587637556796801127a57795687637557796801127a58795787637558796801127a59795887637559796801127a5a79598763755a796801127a5b795a8763755b796801127a5c795b8763755c79685c7a7501117a01117a01117a01117a01117a01117a755479768b567a757171557a756875677691696867784f9d686d011479577f75567f7781011679577f75567f77518763516700685653799f63780116799f69784f9e63011b79011b79011b79011b795456797600a26976549f69948c766b796c756b6d6d6c76012679566e8b0120957f75780120957f77777788014a766b796c766b796c757876827d7701199c647601209c675168696d51787700a2696d012679566e8b0120957f75780120957f777777014b766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885279011279a0635279670111796801127a7501117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a786476014b766b796c766b796c786d77a97e55797600a269765c9f6901127a7800876375786801127a52795187637552796801127a53795287637553796801127a54795387637554796801127a55795487637555796801127a56795587637556796801127a57795687637557796801127a58795787637558796801127a59795887637559796801127a5a79598763755a796801127a5b795a8763755b796801127a5c795b8763755c79685c7a7501117a01117a01117a01117a01117a01117a755479768b567a757171557a756875677691696867784f9d686d011479587f75577f7781011679587f75577f77518763516700685753799f63780116799f69784f9e63011b79011b79011b79011b795456797600a26976549f69948c766b796c756b6d6d6c76012679576e8b0120957f75780120957f777777880148766b796c766b796c757876827d7701199c647601209c675168696d51787700a2696d012679576e8b0120957f75780120957f7777770149766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885279011279a0635279670111796801127a7501117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a7864760149766b796c766b796c786d77a97e55797600a269765c9f6901127a7800876375786801127a52795187637552796801127a53795287637553796801127a54795387637554796801127a55795487637555796801127a56795587637556796801127a57795687637557796801127a58795787637558796801127a59795887637559796801127a5a79598763755a796801127a5b795a8763755b796801127a5c795b8763755c79685c7a7501117a01117a01117a01117a01117a01117a755479768b567a757171557a756875677691696867784f9d686d011479597f75587f7781011679597f75587f77518763516700685853799f63780116799f69784f9e63011b79011b79011b79011b795456797600a26976549f69948c766b796c756b6d6d6c76012679586e8b0120957f75780120957f777777880146766b796c766b796c757876827d7701199c647601209c675168696d51787700a2696d012679586e8b0120957f75780120957f7777770147766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885279011279a0635279670111796801127a7501117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a7864760147766b796c766b796c786d77a97e55797600a269765c9f6901127a7800876375786801127a52795187637552796801127a53795287637553796801127a54795387637554796801127a55795487637555796801127a56795587637556796801127a57795687637557796801127a58795787637558796801127a59795887637559796801127a5a79598763755a796801127a5b795a8763755b796801127a5c795b8763755c79685c7a7501117a01117a01117a01117a01117a01117a755479768b567a757171557a756875677691696867784f9d686d0114795a7f75597f77810116795a7f75597f77518763516700685953799f63780116799f69784f9e63011b79011b79011b79011b795456797600a26976549f69948c766b796c756b6d6d6c76012679596e8b0120957f75780120957f777777880144766b796c766b796c757876827d7701199c647601209c675168696d51787700a2696d012679596e8b0120957f75780120957f7777770145766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885279011279a0635279670111796801127a7501117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a7864760145766b796c766b796c786d77a97e55797600a269765c9f6901127a7800876375786801127a52795187637552796801127a53795287637553796801127a54795387637554796801127a55795487637555796801127a56795587637556796801127a57795687637557796801127a58795787637558796801127a59795887637559796801127a5a79598763755a796801127a5b795a8763755b796801127a5c795b8763755c79685c7a7501117a01117a01117a01117a01117a01117a755479768b567a757171557a756875677691696867784f9d686d0114795b7f755a7f77810116795b7f755a7f77518763516700685a53799f63780116799f69784f9e63011b79011b79011b79011b795456797600a26976549f69948c766b796c756b6d6d6c760126795a6e8b0120957f75780120957f777777880142766b796c766b796c757876827d7701199c647601209c675168696d51787700a2696d0126795a6e8b0120957f75780120957f7777770143766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885279011279a0635279670111796801127a7501117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a7864760143766b796c766b796c786d77a97e55797600a269765c9f6901127a7800876375786801127a52795187637552796801127a53795287637553796801127a54795387637554796801127a55795487637555796801127a56795587637556796801127a57795687637557796801127a58795787637558796801127a59795887637559796801127a5a79598763755a796801127a5b795a8763755b796801127a5c795b8763755c79685c7a7501117a01117a01117a01117a01117a01117a755479768b567a757171557a756875677691696867784f9d686d0114795c7f755b7f77810116795c7f755b7f77518763516700685b53799f63780116799f69784f9e63011b79011b79011b79011b795456797600a26976549f69948c766b796c756b6d6d6c760126795b6e8b0120957f75780120957f777777880140766b796c766b796c757876827d7701199c647601209c675168696d51787700a2696d0126795b6e8b0120957f75780120957f7777770141766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885279011279a0635279670111796801127a7501117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a7864760141766b796c766b796c786d77a97e55797600a269765c9f6901127a7800876375786801127a52795187637552796801127a53795287637553796801127a54795387637554796801127a55795487637555796801127a56795587637556796801127a57795687637557796801127a58795787637558796801127a59795887637559796801127a5a79598763755a796801127a5b795a8763755b796801127a5c795b8763755c79685c7a7501117a01117a01117a01117a01117a01117a755479768b567a757171557a756875677691696867784f9d686d5e7900a2635e790114798c9c67006869013b7900a263013b795ca167006869000000013e799f63028500766b796c7877827700a069016e766b796c78770118799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c017c55797600a269765c9f6994766b796c787700a269011356797600a269765c9f6994766b796c756f75a97e8855798b567a757171557a53796e8277528052797e78827752807e787e5279a95279a97ea97ea87777029600766b796c75788855790121790121790121790121795459797600a26976549f69948c766b796c756b6d6d6c0168766b796c755379527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d6778011e79011e79011e79011e7953766b796c756b6d6d6c87916978011e79011e79011e79011e7952766b796c756b6d6d6c8791696f750165766b796c75029600766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67028500766b796c758277009d016d766b796c754f9d0179766b796c754f9d029100766b796c7500880161766b796c75009d6851013e799f63028400766b796c7877827700a069016d766b796c78770118799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c017c55797600a269765c9f6994766b796c787700a269011356797600a269765c9f6994766b796c756f75a97e8855798b567a757171557a53796e8277528052797e78827752807e787e5279a95279a97ea97ea87777029500766b796c75788855790121790121790121790121795459797600a26976549f69948c766b796c756b6d6d6c0167766b796c755379527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d6778011e79011e79011e79011e7953766b796c756b6d6d6c87916978011e79011e79011e79011e7952766b796c756b6d6d6c8791696f750164766b796c75029500766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67028400766b796c758277009d016c766b796c754f9d0178766b796c754f9d029000766b796c7500880160766b796c75009d6852013e799f63028300766b796c7877827700a069016c766b796c78770118799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c017c55797600a269765c9f6994766b796c787700a269011356797600a269765c9f6994766b796c756f75a97e8855798b567a757171557a53796e8277528052797e78827752807e787e5279a95279a97ea97ea87777029400766b796c75788855790121790121790121790121795459797600a26976549f69948c766b796c756b6d6d6c0166766b796c755379527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d6778011e79011e79011e79011e7953766b796c756b6d6d6c87916978011e79011e79011e79011e7952766b796c756b6d6d6c8791696f750163766b796c75029400766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67028300766b796c758277009d016b766b796c754f9d0177766b796c754f9d028f00766b796c750088015f766b796c75009d6853013e799f63028200766b796c7877827700a069016b766b796c78770118799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c017c55797600a269765c9f6994766b796c787700a269011356797600a269765c9f6994766b796c756f75a97e8855798b567a757171557a53796e8277528052797e78827752807e787e5279a95279a97ea97ea87777029300766b796c75788855790121790121790121790121795459797600a26976549f69948c766b796c756b6d6d6c0165766b796c755379527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d6778011e79011e79011e79011e7953766b796c756b6d6d6c87916978011e79011e79011e79011e7952766b796c756b6d6d6c8791696f750162766b796c75029300766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67028200766b796c758277009d016a766b796c754f9d0176766b796c754f9d028e00766b796c750088015e766b796c75009d6854013e799f63028100766b796c7877827700a069016a766b796c78770118799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c017c55797600a269765c9f6994766b796c787700a269011356797600a269765c9f6994766b796c756f75a97e8855798b567a757171557a53796e8277528052797e78827752807e787e5279a95279a97ea97ea87777029200766b796c75788855790121790121790121790121795459797600a26976549f69948c766b796c756b6d6d6c0164766b796c755379527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d6778011e79011e79011e79011e7953766b796c756b6d6d6c87916978011e79011e79011e79011e7952766b796c756b6d6d6c8791696f750161766b796c75029200766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67028100766b796c758277009d0169766b796c754f9d0175766b796c754f9d028d00766b796c750088015d766b796c75009d6855013e799f63028000766b796c7877827700a0690169766b796c78770118799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c017c55797600a269765c9f6994766b796c787700a269011356797600a269765c9f6994766b796c756f75a97e8855798b567a757171557a53796e8277528052797e78827752807e787e5279a95279a97ea97ea87777029100766b796c75788855790121790121790121790121795459797600a26976549f69948c766b796c756b6d6d6c0163766b796c755379527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d6778011e79011e79011e79011e7953766b796c756b6d6d6c87916978011e79011e79011e79011e7952766b796c756b6d6d6c8791696f750160766b796c75029100766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67028000766b796c758277009d0168766b796c754f9d0174766b796c754f9d028c00766b796c750088015c766b796c75009d6856013e799f63017f766b796c7877827700a0690168766b796c78770118799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c017c55797600a269765c9f6994766b796c787700a269011356797600a269765c9f6994766b796c756f75a97e8855798b567a757171557a53796e8277528052797e78827752807e787e5279a95279a97ea97ea87777029000766b796c75788855790121790121790121790121795459797600a26976549f69948c766b796c756b6d6d6c0162766b796c755379527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d6778011e79011e79011e79011e7953766b796c756b6d6d6c87916978011e79011e79011e79011e7952766b796c756b6d6d6c8791696f75015f766b796c75029000766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67017f766b796c758277009d0167766b796c754f9d0173766b796c754f9d028b00766b796c750088015b766b796c75009d6857013e799f63017e766b796c7877827700a0690167766b796c78770118799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c017c55797600a269765c9f6994766b796c787700a269011356797600a269765c9f6994766b796c756f75a97e8855798b567a757171557a53796e8277528052797e78827752807e787e5279a95279a97ea97ea87777028f00766b796c75788855790121790121790121790121795459797600a26976549f69948c766b796c756b6d6d6c0161766b796c755379527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d6778011e79011e79011e79011e7953766b796c756b6d6d6c87916978011e79011e79011e79011e7952766b796c756b6d6d6c8791696f75015e766b796c75028f00766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67017e766b796c758277009d0166766b796c754f9d0172766b796c754f9d028a00766b796c750088015a766b796c75009d6858013e799f63017d766b796c7877827700a0690166766b796c78770118799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c017c55797600a269765c9f6994766b796c787700a269011356797600a269765c9f6994766b796c756f75a97e8855798b567a757171557a53796e8277528052797e78827752807e787e5279a95279a97ea97ea87777028e00766b796c75788855790121790121790121790121795459797600a26976549f69948c766b796c756b6d6d6c0160766b796c755379527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d6778011e79011e79011e79011e7953766b796c756b6d6d6c87916978011e79011e79011e79011e7952766b796c756b6d6d6c8791696f75015d766b796c75028e00766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67017d766b796c758277009d0165766b796c754f9d0171766b796c754f9d028900766b796c7500880159766b796c75009d6859013e799f63017c766b796c7877827700a0690165766b796c78770118799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c017c55797600a269765c9f6994766b796c787700a269011356797600a269765c9f6994766b796c756f75a97e8855798b567a757171557a53796e8277528052797e78827752807e787e5279a95279a97ea97ea87777028d00766b796c75788855790121790121790121790121795459797600a26976549f69948c766b796c756b6d6d6c015f766b796c755379527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d6778011e79011e79011e79011e7953766b796c756b6d6d6c87916978011e79011e79011e79011e7952766b796c756b6d6d6c8791696f75015c766b796c75028d00766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67017c766b796c758277009d0164766b796c754f9d0170766b796c754f9d028800766b796c7500880158766b796c75009d685a013e799f63017b766b796c7877827700a0690164766b796c78770118799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c017c55797600a269765c9f6994766b796c787700a269011356797600a269765c9f6994766b796c756f75a97e8855798b567a757171557a53796e8277528052797e78827752807e787e5279a95279a97ea97ea87777028c00766b796c75788855790121790121790121790121795459797600a26976549f69948c766b796c756b6d6d6c015e766b796c755379527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d6778011e79011e79011e79011e7953766b796c756b6d6d6c87916978011e79011e79011e79011e7952766b796c756b6d6d6c8791696f75015b766b796c75028c00766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67017b766b796c758277009d0163766b796c754f9d016f766b796c754f9d028700766b796c7500880157766b796c75009d685b013e799f63017a766b796c7877827700a0690163766b796c78770118799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c017c55797600a269765c9f6994766b796c787700a269011356797600a269765c9f6994766b796c756f75a97e8855798b567a757171557a53796e8277528052797e78827752807e787e5279a95279a97ea97ea87777028b00766b796c75788855790121790121790121790121795459797600a26976549f69948c766b796c756b6d6d6c015d766b796c755379527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d6778011e79011e79011e79011e7953766b796c756b6d6d6c87916978011e79011e79011e79011e7952766b796c756b6d6d6c8791696f75015a766b796c75028b00766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67017a766b796c758277009d0162766b796c754f9d016e766b796c754f9d028600766b796c7500880156766b796c75009d68005279a2630179766b796c754f9d68515279a2630178766b796c754f9d68525279a2630177766b796c754f9d68535279a2630176766b796c754f9d68545279a2630175766b796c754f9d68555279a2630174766b796c754f9d68565279a2630173766b796c754f9d68575279a2630172766b796c754f9d68585279a2630171766b796c754f9d68595279a2630170766b796c754f9d685a5279a263016f766b796c754f9d685b5279a263016e766b796c754f9d68537952799d76aa013379876b6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c67557951876301127901137982778c7f75007f770121790121790121790121790121790121790121790121790121790121790121790121790121790121795d798277549d5c79827701209d5b79827701209d5a79827701209d597900a26958798277549d5779827701209d5679827701209d5579827701209d5479827701209d5379827701209d527900a2697800a26976519c6476529c6751686476539c67516864760281009c67516864760282009c67516864760283009c675168695d795d797e5c797e5b797e5a79767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c7e59797e58797e57797e56797e55797e54797e5379546e8b806e7c7f75007f6b6d6d6c7e5279546e8b806e7c7f75007f6b6d6d6c7e7854807e6b6d6d6d6d6d6d6d6ca85679ba630112795579ac670068695779011b7978aa7888785878827d77527997009d6e7c966b6d6d6c775779011a796f75aa527988765379012078827d77527997009d6e7c967777779d6d755f795f795f795f795f795f795f79011d7901177901177901177901177901177901177901177956798277528057797e567956795679567953766b796c756b6d6d6c827752807e567956795679567953766b796c756b6d6d6c7e567956795679567952766b796c756b6d6d6c827752807e567956795679567952766b796c756b6d6d6c7e567956795679567951766b796c756b6d6d6c827752807e567956795679567951766b796c756b6d6d6c7e567956795679567900766b796c756b6d6d6c827752807e567956795679567900766b796c756b6d6d6c7e5279827752807e52797e78827752807e787e5779a9577957795779577953766b796c756b6d6d6ca97e577957795779577952766b796c756b6d6d6ca97e577957795779577951766b796c756b6d6d6ca97e577957795779577900766b796c756b6d6d6ca97e5379a97e5279a97ea97ea86b6d6d6d6c7760797653798b0120957f7553790120957f775279886d750129795779787676827701219d750376a91478a97e0288ac7e7778886d012a79012a79ad01177900a0630119790118796e00a8527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6d6c77670068aa011f79876b6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c7767006868"
387
430
  }
@@ -4,6 +4,7 @@ import "../constants.scrypt";
4
4
  import "../scrypt-ts-opcat/assets/smart-contract/builtin-libs/contextUtils.scrypt";
5
5
  import "cat721StateLib.scrypt";
6
6
  import "../scrypt-ts-opcat/assets/smart-contract/builtin-libs/txUtils.scrypt";
7
+ import "../utils/ownerUtils.scrypt";
7
8
  import "../scrypt-ts-opcat/assets/smart-contract/builtin-libs/stdUtils.scrypt";
8
9
  import "../scrypt-ts-opcat/assets/smart-contract/types/structs.scrypt";
9
10
  import "../scrypt-ts-opcat/assets/smart-contract/builtin-libs/stateUtils.scrypt";
@@ -11,24 +12,24 @@ import "../scrypt-ts-opcat/assets/smart-contract/builtin-libs/stateUtils.scrypt"
11
12
 
12
13
 
13
14
 
14
- contract _opcat_labs_cat_sdk_3_1_0__rs__CAT721Guard_12_12_2 {
15
+ contract _opcat_labs_cat_sdk_3_2_0__rs__CAT721Guard_12_12_2 {
15
16
  constructor(){}
16
- public function unlock(bytes[12] nextStateHashes, bytes[12] ownerAddrOrScriptHashes, int[12] outputLocalIds, int[12] nftScriptHashIndexes, int[12] outputSatoshis, _opcat_labs_cat_sdk_3_1_0__rs__CAT721State[12] cat721States, int outputCount, _opcat_labs_scrypt_ts_opcat_3_1_0__rs__SHPreimage __scrypt_ts_shPreimage, Sig __scrypt_ts_preimageSig, _opcat_labs_cat_sdk_3_1_0__rs__CAT721GuardConstState __scrypt_ts_curState, bytes __scrypt_ts_spentAmounts, bytes __scrypt_ts_spentDataHashes, bytes __scrypt_ts_spentScriptHashes) {
17
- require(checkDataSig(Sig(__scrypt_ts_preimageSig[0 : len(__scrypt_ts_preimageSig) - 1]), sha256(_opcat_labs_scrypt_ts_opcat_3_1_0__rs__ContextUtils.serializeSHPreimage(__scrypt_ts_shPreimage)), _opcat_labs_scrypt_ts_opcat_3_1_0__rs__ContextUtils.pubKey) && checkSig(__scrypt_ts_preimageSig, _opcat_labs_scrypt_ts_opcat_3_1_0__rs__ContextUtils.pubKey));
17
+ public function unlock(bytes[12] nextStateHashes, bytes[12] ownerAddrOrScriptHashes, int[12] outputLocalIds, int[12] nftScriptHashIndexes, int[12] outputSatoshis, _opcat_labs_cat_sdk_3_2_0__rs__CAT721State[12] cat721States, int outputCount, _opcat_labs_scrypt_ts_opcat_3_2_0__rs__SHPreimage __scrypt_ts_shPreimage, Sig __scrypt_ts_preimageSig, _opcat_labs_cat_sdk_3_2_0__rs__CAT721GuardConstState __scrypt_ts_curState, bytes __scrypt_ts_spentAmounts, bytes __scrypt_ts_spentDataHashes, bytes __scrypt_ts_spentScriptHashes) {
18
+ require(checkDataSig(Sig(__scrypt_ts_preimageSig[0 : len(__scrypt_ts_preimageSig) - 1]), sha256(_opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils.serializeSHPreimage(__scrypt_ts_shPreimage)), _opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils.pubKey) && checkSig(__scrypt_ts_preimageSig, _opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils.pubKey));
18
19
 
19
- int __scrypt_ts_inputCount = _opcat_labs_scrypt_ts_opcat_3_1_0__rs__ContextUtils.checkSpentAmounts(__scrypt_ts_spentAmounts, __scrypt_ts_shPreimage.hashSpentAmounts);
20
+ int __scrypt_ts_inputCount = _opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils.checkSpentAmounts(__scrypt_ts_spentAmounts, __scrypt_ts_shPreimage.hashSpentAmounts);
20
21
 
21
- _opcat_labs_scrypt_ts_opcat_3_1_0__rs__ContextUtils.checkSpentScripts(__scrypt_ts_spentScriptHashes, __scrypt_ts_shPreimage.hashSpentScriptHashes, __scrypt_ts_inputCount);
22
+ _opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils.checkSpentScripts(__scrypt_ts_spentScriptHashes, __scrypt_ts_shPreimage.hashSpentScriptHashes, __scrypt_ts_inputCount);
22
23
 
23
- _opcat_labs_scrypt_ts_opcat_3_1_0__rs__ContextUtils.checkSpentDataHashes(__scrypt_ts_spentDataHashes, __scrypt_ts_shPreimage.hashSpentDataHashes, __scrypt_ts_inputCount);
24
+ _opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils.checkSpentDataHashes(__scrypt_ts_spentDataHashes, __scrypt_ts_shPreimage.hashSpentDataHashes, __scrypt_ts_inputCount);
24
25
 
25
- _opcat_labs_cat_sdk_3_1_0__rs__CAT721GuardConstState __scrypt_ts_nextState = __scrypt_ts_curState;
26
+ _opcat_labs_cat_sdk_3_2_0__rs__CAT721GuardConstState __scrypt_ts_nextState = __scrypt_ts_curState;
26
27
 
27
- _opcat_labs_scrypt_ts_opcat_3_1_0__rs__StateUtils.checkInputState(__scrypt_ts_shPreimage.inputIndex, _opcat_labs_cat_sdk_3_1_0__rs__CAT721Guard_12_12_2.stateHash(__scrypt_ts_curState), __scrypt_ts_spentDataHashes);
28
+ _opcat_labs_scrypt_ts_opcat_3_2_0__rs__StateUtils.checkInputState(__scrypt_ts_shPreimage.inputIndex, _opcat_labs_cat_sdk_3_2_0__rs__CAT721Guard_12_12_2.stateHash(__scrypt_ts_curState), __scrypt_ts_spentDataHashes);
28
29
 
29
- _opcat_labs_cat_sdk_3_1_0__rs__CAT721GuardStateLib.formalCheckState(__scrypt_ts_nextState, 12);
30
+ _opcat_labs_cat_sdk_3_2_0__rs__CAT721GuardStateLib.formalCheckState(__scrypt_ts_nextState, 12);
30
31
  int inputNftTypes = 0;
31
- bytes[4] nftScriptPlaceholders = [_opcat_labs_cat_sdk_3_1_0__rs__ConstantsLib.TOKEN_SCRIPT_HASH_PLACEHOLDER_FF, _opcat_labs_cat_sdk_3_1_0__rs__ConstantsLib.TOKEN_SCRIPT_HASH_PLACEHOLDER_FE, _opcat_labs_cat_sdk_3_1_0__rs__ConstantsLib.TOKEN_SCRIPT_HASH_PLACEHOLDER_FD, _opcat_labs_cat_sdk_3_1_0__rs__ConstantsLib.TOKEN_SCRIPT_HASH_PLACEHOLDER_FC];
32
+ bytes[4] nftScriptPlaceholders = [_opcat_labs_cat_sdk_3_2_0__rs__ConstantsLib.TOKEN_SCRIPT_HASH_PLACEHOLDER_FF, _opcat_labs_cat_sdk_3_2_0__rs__ConstantsLib.TOKEN_SCRIPT_HASH_PLACEHOLDER_FE, _opcat_labs_cat_sdk_3_2_0__rs__ConstantsLib.TOKEN_SCRIPT_HASH_PLACEHOLDER_FD, _opcat_labs_cat_sdk_3_2_0__rs__ConstantsLib.TOKEN_SCRIPT_HASH_PLACEHOLDER_FC];
32
33
  loop (4) : i {
33
34
  if(i >= 2) {
34
35
  require(__scrypt_ts_nextState.nftScriptHashes[(i)] == nftScriptPlaceholders[(i)]);
@@ -59,9 +60,9 @@ contract _opcat_labs_cat_sdk_3_1_0__rs__CAT721Guard_12_12_2 {
59
60
  require(nftScriptIndex < inputNftTypes);
60
61
  if(nftScriptIndex != -1) {
61
62
  bytes nftScriptHash = __scrypt_ts_nextState.nftScriptHashes[(nftScriptIndex)];
62
- require(nftScriptHash == _opcat_labs_scrypt_ts_opcat_3_1_0__rs__ContextUtils.getSpentScriptHash(__scrypt_ts_spentScriptHashes, (i)));
63
- _opcat_labs_cat_sdk_3_1_0__rs__CAT721StateLib.checkState(cat721States[(i)]);
64
- require(_opcat_labs_scrypt_ts_opcat_3_1_0__rs__ContextUtils.getSpentDataHash(__scrypt_ts_spentDataHashes, (i)) == _opcat_labs_cat_sdk_3_1_0__rs__CAT721StateLib.stateHash(cat721States[(i)]));
63
+ require(nftScriptHash == _opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils.getSpentScriptHash(__scrypt_ts_spentScriptHashes, (i)));
64
+ _opcat_labs_cat_sdk_3_2_0__rs__CAT721StateLib.checkState(cat721States[(i)]);
65
+ require(_opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils.getSpentDataHash(__scrypt_ts_spentDataHashes, (i)) == _opcat_labs_cat_sdk_3_2_0__rs__CAT721StateLib.stateHash(cat721States[(i)]));
65
66
  nftScriptIndexMax = nftScriptIndex > nftScriptIndexMax ? nftScriptIndex : nftScriptIndexMax;
66
67
  if(!burnMask) {
67
68
  nextNfts[(nextNftCount)] = nftScriptHash + hash160(pack(cat721States[(i)].localId));
@@ -90,14 +91,14 @@ contract _opcat_labs_cat_sdk_3_1_0__rs__CAT721Guard_12_12_2 {
90
91
  require(localId >= 0);
91
92
  require(nextNfts[(outputNftCount)] == nftScriptHash + hash160(pack(localId)));
92
93
  outputNftCount = outputNftCount + 1;
93
- bytes nftStateHash = _opcat_labs_cat_sdk_3_1_0__rs__CAT721StateLib.stateHash({ownerAddrOrScriptHash, localId});
94
+ bytes nftStateHash = _opcat_labs_cat_sdk_3_2_0__rs__CAT721StateLib.stateHash({ownerAddrOrScriptHash, localId});
94
95
  require(nextStateHashes[(i)] == nftStateHash);
95
- outputs += _opcat_labs_scrypt_ts_opcat_3_1_0__rs__TxUtils.buildDataOutput(__scrypt_ts_nextState.nftScriptHashes[(nftScriptIndex)], outputSatoshis[(i)], nftStateHash);
96
+ outputs += _opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxUtils.buildDataOutput(__scrypt_ts_nextState.nftScriptHashes[(nftScriptIndex)], outputSatoshis[(i)], nftStateHash);
96
97
  } else {
97
98
  loop (2) : j {
98
99
  require(ownerAddrOrScriptHash != __scrypt_ts_nextState.nftScriptHashes[j]);
99
100
  }
100
- outputs += _opcat_labs_scrypt_ts_opcat_3_1_0__rs__TxUtils.buildDataOutput(ownerAddrOrScriptHash, outputSatoshis[(i)], nextStateHashes[(i)]);
101
+ outputs += _opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxUtils.buildDataOutput(ownerAddrOrScriptHash, outputSatoshis[(i)], nextStateHashes[(i)]);
101
102
  }
102
103
  } else {
103
104
  require(len(ownerAddrOrScriptHashes[(i)]) == 0);
@@ -115,10 +116,26 @@ contract _opcat_labs_cat_sdk_3_1_0__rs__CAT721Guard_12_12_2 {
115
116
  require(nextNftCount == outputNftCount);
116
117
  require(hash256(outputs) == __scrypt_ts_shPreimage.hashOutputs);
117
118
  }
118
- static function serializeState(_opcat_labs_cat_sdk_3_1_0__rs__CAT721GuardConstState __scrypt_ts_curState): bytes {
119
- return num2bin(len(__scrypt_ts_curState.nftScriptHashes[0]), 2) + __scrypt_ts_curState.nftScriptHashes[0] + num2bin(len(__scrypt_ts_curState.nftScriptHashes[1]), 2) + __scrypt_ts_curState.nftScriptHashes[1] + num2bin(len(__scrypt_ts_curState.nftScriptHashes[2]), 2) + __scrypt_ts_curState.nftScriptHashes[2] + num2bin(len(__scrypt_ts_curState.nftScriptHashes[3]), 2) + __scrypt_ts_curState.nftScriptHashes[3] + num2bin(len(__scrypt_ts_curState.nftBurnMasks), 2) + __scrypt_ts_curState.nftBurnMasks + num2bin(len(__scrypt_ts_curState.nftScriptIndexes), 2) + __scrypt_ts_curState.nftScriptIndexes + hash160(hash160(__scrypt_ts_curState.nftScriptHashes[0]) + hash160(__scrypt_ts_curState.nftScriptHashes[1]) + hash160(__scrypt_ts_curState.nftScriptHashes[2]) + hash160(__scrypt_ts_curState.nftScriptHashes[3]) + hash160(__scrypt_ts_curState.nftBurnMasks) + hash160(__scrypt_ts_curState.nftScriptIndexes));
119
+ public function destroy(Sig userSig, PubKey userPubKey, _opcat_labs_scrypt_ts_opcat_3_2_0__rs__SHPreimage __scrypt_ts_shPreimage, Sig __scrypt_ts_preimageSig, _opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxOut __scrypt_ts_changeInfo, _opcat_labs_cat_sdk_3_2_0__rs__CAT721GuardConstState __scrypt_ts_curState, bytes __scrypt_ts_spentAmounts, bytes __scrypt_ts_spentDataHashes) {
120
+ require(checkDataSig(Sig(__scrypt_ts_preimageSig[0 : len(__scrypt_ts_preimageSig) - 1]), sha256(_opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils.serializeSHPreimage(__scrypt_ts_shPreimage)), _opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils.pubKey) && checkSig(__scrypt_ts_preimageSig, _opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils.pubKey));
121
+
122
+ int __scrypt_ts_inputCount = _opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils.checkSpentAmounts(__scrypt_ts_spentAmounts, __scrypt_ts_shPreimage.hashSpentAmounts);
123
+
124
+ _opcat_labs_scrypt_ts_opcat_3_2_0__rs__ContextUtils.checkSpentDataHashes(__scrypt_ts_spentDataHashes, __scrypt_ts_shPreimage.hashSpentDataHashes, __scrypt_ts_inputCount);
125
+
126
+ _opcat_labs_cat_sdk_3_2_0__rs__CAT721GuardConstState __scrypt_ts_nextState = __scrypt_ts_curState;
127
+
128
+ _opcat_labs_scrypt_ts_opcat_3_2_0__rs__StateUtils.checkInputState(__scrypt_ts_shPreimage.inputIndex, _opcat_labs_cat_sdk_3_2_0__rs__CAT721Guard_12_12_2.stateHash(__scrypt_ts_curState), __scrypt_ts_spentDataHashes);
129
+
130
+ _opcat_labs_cat_sdk_3_2_0__rs__OwnerUtils.checkUserOwner(userPubKey, __scrypt_ts_nextState.deployerAddr);
131
+ require(checkSig(userSig, userPubKey));
132
+ require(hash256(
133
+ (__scrypt_ts_changeInfo.satoshis > 0 ? _opcat_labs_scrypt_ts_opcat_3_2_0__rs__TxUtils.buildOutput(__scrypt_ts_changeInfo.scriptHash, __scrypt_ts_changeInfo.satoshis) : b'')) == __scrypt_ts_shPreimage.hashOutputs);
134
+ }
135
+ static function serializeState(_opcat_labs_cat_sdk_3_2_0__rs__CAT721GuardConstState __scrypt_ts_curState): bytes {
136
+ return num2bin(len(__scrypt_ts_curState.deployerAddr), 2) + __scrypt_ts_curState.deployerAddr + num2bin(len(__scrypt_ts_curState.nftScriptHashes[0]), 2) + __scrypt_ts_curState.nftScriptHashes[0] + num2bin(len(__scrypt_ts_curState.nftScriptHashes[1]), 2) + __scrypt_ts_curState.nftScriptHashes[1] + num2bin(len(__scrypt_ts_curState.nftScriptHashes[2]), 2) + __scrypt_ts_curState.nftScriptHashes[2] + num2bin(len(__scrypt_ts_curState.nftScriptHashes[3]), 2) + __scrypt_ts_curState.nftScriptHashes[3] + num2bin(len(__scrypt_ts_curState.nftBurnMasks), 2) + __scrypt_ts_curState.nftBurnMasks + num2bin(len(__scrypt_ts_curState.nftScriptIndexes), 2) + __scrypt_ts_curState.nftScriptIndexes + hash160(hash160(__scrypt_ts_curState.deployerAddr) + hash160(__scrypt_ts_curState.nftScriptHashes[0]) + hash160(__scrypt_ts_curState.nftScriptHashes[1]) + hash160(__scrypt_ts_curState.nftScriptHashes[2]) + hash160(__scrypt_ts_curState.nftScriptHashes[3]) + hash160(__scrypt_ts_curState.nftBurnMasks) + hash160(__scrypt_ts_curState.nftScriptIndexes));
120
137
  }
121
- static function stateHash(_opcat_labs_cat_sdk_3_1_0__rs__CAT721GuardConstState __scrypt_ts_curState): bytes {
122
- return sha256(num2bin(len(__scrypt_ts_curState.nftScriptHashes[0]), 2) + __scrypt_ts_curState.nftScriptHashes[0] + num2bin(len(__scrypt_ts_curState.nftScriptHashes[1]), 2) + __scrypt_ts_curState.nftScriptHashes[1] + num2bin(len(__scrypt_ts_curState.nftScriptHashes[2]), 2) + __scrypt_ts_curState.nftScriptHashes[2] + num2bin(len(__scrypt_ts_curState.nftScriptHashes[3]), 2) + __scrypt_ts_curState.nftScriptHashes[3] + num2bin(len(__scrypt_ts_curState.nftBurnMasks), 2) + __scrypt_ts_curState.nftBurnMasks + num2bin(len(__scrypt_ts_curState.nftScriptIndexes), 2) + __scrypt_ts_curState.nftScriptIndexes + hash160(hash160(__scrypt_ts_curState.nftScriptHashes[0]) + hash160(__scrypt_ts_curState.nftScriptHashes[1]) + hash160(__scrypt_ts_curState.nftScriptHashes[2]) + hash160(__scrypt_ts_curState.nftScriptHashes[3]) + hash160(__scrypt_ts_curState.nftBurnMasks) + hash160(__scrypt_ts_curState.nftScriptIndexes)));
138
+ static function stateHash(_opcat_labs_cat_sdk_3_2_0__rs__CAT721GuardConstState __scrypt_ts_curState): bytes {
139
+ return sha256(num2bin(len(__scrypt_ts_curState.deployerAddr), 2) + __scrypt_ts_curState.deployerAddr + num2bin(len(__scrypt_ts_curState.nftScriptHashes[0]), 2) + __scrypt_ts_curState.nftScriptHashes[0] + num2bin(len(__scrypt_ts_curState.nftScriptHashes[1]), 2) + __scrypt_ts_curState.nftScriptHashes[1] + num2bin(len(__scrypt_ts_curState.nftScriptHashes[2]), 2) + __scrypt_ts_curState.nftScriptHashes[2] + num2bin(len(__scrypt_ts_curState.nftScriptHashes[3]), 2) + __scrypt_ts_curState.nftScriptHashes[3] + num2bin(len(__scrypt_ts_curState.nftBurnMasks), 2) + __scrypt_ts_curState.nftBurnMasks + num2bin(len(__scrypt_ts_curState.nftScriptIndexes), 2) + __scrypt_ts_curState.nftScriptIndexes + hash160(hash160(__scrypt_ts_curState.deployerAddr) + hash160(__scrypt_ts_curState.nftScriptHashes[0]) + hash160(__scrypt_ts_curState.nftScriptHashes[1]) + hash160(__scrypt_ts_curState.nftScriptHashes[2]) + hash160(__scrypt_ts_curState.nftScriptHashes[3]) + hash160(__scrypt_ts_curState.nftBurnMasks) + hash160(__scrypt_ts_curState.nftScriptIndexes)));
123
140
  }
124
141
  }