@shipload/sdk 1.0.0-next.5 → 1.0.0-next.51

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 (145) hide show
  1. package/lib/scan.d.ts +52 -0
  2. package/lib/scan.js +162 -0
  3. package/lib/scan.js.map +1 -0
  4. package/lib/scan.m.js +152 -0
  5. package/lib/scan.m.js.map +1 -0
  6. package/lib/shipload.d.ts +3167 -1353
  7. package/lib/shipload.js +13319 -5640
  8. package/lib/shipload.js.map +1 -1
  9. package/lib/shipload.m.js +13091 -5589
  10. package/lib/shipload.m.js.map +1 -1
  11. package/lib/testing.d.ts +1037 -0
  12. package/lib/testing.js +4363 -0
  13. package/lib/testing.js.map +1 -0
  14. package/lib/testing.m.js +4357 -0
  15. package/lib/testing.m.js.map +1 -0
  16. package/package.json +20 -2
  17. package/src/capabilities/craftable.ts +51 -0
  18. package/src/capabilities/crafting.test.ts +7 -0
  19. package/src/capabilities/crafting.ts +6 -7
  20. package/src/capabilities/gathering.test.ts +29 -0
  21. package/src/capabilities/gathering.ts +37 -19
  22. package/src/capabilities/index.ts +0 -1
  23. package/src/capabilities/modules.ts +22 -0
  24. package/src/capabilities/storage.ts +16 -1
  25. package/src/contracts/platform.ts +231 -3
  26. package/src/contracts/server.ts +1178 -511
  27. package/src/coordinates/address.ts +88 -0
  28. package/src/coordinates/constants.test.ts +15 -0
  29. package/src/coordinates/constants.ts +23 -0
  30. package/src/coordinates/index.ts +15 -0
  31. package/src/coordinates/memo.test.ts +47 -0
  32. package/src/coordinates/memo.ts +20 -0
  33. package/src/coordinates/permutation.ts +77 -0
  34. package/src/coordinates/regions.ts +48 -0
  35. package/src/coordinates/sectors.ts +115 -0
  36. package/src/data/capabilities.ts +31 -16
  37. package/src/data/capability-formulas.ts +21 -14
  38. package/src/data/catalog.ts +0 -5
  39. package/src/data/colors.ts +13 -47
  40. package/src/data/entities.json +154 -10
  41. package/src/data/item-ids.ts +31 -12
  42. package/src/data/items.json +192 -74
  43. package/src/data/kind-registry.json +131 -0
  44. package/src/data/kind-registry.ts +172 -0
  45. package/src/data/metadata.ts +166 -48
  46. package/src/data/recipes-runtime.ts +5 -23
  47. package/src/data/recipes.json +1003 -163
  48. package/src/derivation/build-methods.test.ts +13 -0
  49. package/src/derivation/build-methods.ts +48 -0
  50. package/src/derivation/capabilities.test.ts +151 -0
  51. package/src/derivation/capabilities.ts +527 -0
  52. package/src/derivation/capability-mappings.ts +58 -16
  53. package/src/derivation/crafting.ts +36 -33
  54. package/src/derivation/index.ts +28 -2
  55. package/src/derivation/recipe-usage.test.ts +81 -0
  56. package/src/derivation/recipe-usage.ts +141 -0
  57. package/src/derivation/reserve-regen.ts +34 -0
  58. package/src/derivation/resources.ts +98 -19
  59. package/src/derivation/rollups.test.ts +55 -0
  60. package/src/derivation/rollups.ts +56 -0
  61. package/src/derivation/stars.test.ts +67 -0
  62. package/src/derivation/stars.ts +25 -0
  63. package/src/derivation/stats.ts +6 -6
  64. package/src/derivation/stratum.ts +26 -22
  65. package/src/derivation/tiers.ts +40 -7
  66. package/src/derivation/upgrades.ts +14 -0
  67. package/src/derivation/wormhole.ts +141 -0
  68. package/src/entities/entity.ts +98 -0
  69. package/src/entities/gamestate.ts +3 -28
  70. package/src/entities/makers.ts +131 -134
  71. package/src/entities/slot-multiplier.ts +43 -0
  72. package/src/errors.ts +12 -16
  73. package/src/format.ts +26 -4
  74. package/src/index-module.ts +294 -34
  75. package/src/managers/actions.ts +616 -105
  76. package/src/managers/base.ts +6 -2
  77. package/src/managers/cluster.test.ts +39 -0
  78. package/src/managers/cluster.ts +53 -0
  79. package/src/managers/construction-types.ts +80 -0
  80. package/src/managers/construction.ts +412 -0
  81. package/src/managers/context.ts +29 -1
  82. package/src/managers/coordinates.ts +14 -0
  83. package/src/managers/entities.ts +27 -66
  84. package/src/managers/epochs.ts +40 -0
  85. package/src/managers/flatten-gather-plan.test.ts +80 -0
  86. package/src/managers/index.ts +20 -1
  87. package/src/managers/locations.ts +25 -29
  88. package/src/managers/nft.test.ts +14 -0
  89. package/src/managers/nft.ts +70 -0
  90. package/src/managers/players.ts +25 -0
  91. package/src/managers/plot.ts +122 -0
  92. package/src/nft/atomicassets.abi.json +1342 -0
  93. package/src/nft/atomicassets.ts +237 -0
  94. package/src/nft/atomicdata.ts +130 -0
  95. package/src/nft/buildImmutableData.ts +336 -0
  96. package/src/nft/description.ts +104 -36
  97. package/src/nft/index.ts +3 -0
  98. package/src/planner/index.ts +242 -0
  99. package/src/planner/planner.test.ts +325 -0
  100. package/src/resolution/describe-module.ts +43 -25
  101. package/src/resolution/display-name.ts +38 -10
  102. package/src/resolution/resolve-item.test.ts +48 -0
  103. package/src/resolution/resolve-item.ts +74 -47
  104. package/src/scan/index.ts +244 -0
  105. package/src/scan/scan-wasm.base64.ts +2 -0
  106. package/src/scheduling/accessor.ts +65 -23
  107. package/src/scheduling/availability.ts +108 -0
  108. package/src/scheduling/cancel.test.ts +348 -0
  109. package/src/scheduling/cancel.ts +209 -0
  110. package/src/scheduling/energy.ts +47 -0
  111. package/src/scheduling/idle-resolve.ts +45 -0
  112. package/src/scheduling/lane-core.ts +128 -0
  113. package/src/scheduling/lanes.test.ts +249 -0
  114. package/src/scheduling/lanes.ts +198 -0
  115. package/src/scheduling/projection.ts +210 -107
  116. package/src/scheduling/schedule.ts +240 -117
  117. package/src/scheduling/task-cargo.ts +46 -0
  118. package/src/scheduling/unwrap.test.ts +86 -0
  119. package/src/scheduling/unwrap.ts +190 -0
  120. package/src/shipload.ts +26 -1
  121. package/src/subscriptions/manager.cluster.test.ts +51 -0
  122. package/src/subscriptions/manager.ts +245 -172
  123. package/src/subscriptions/mappers.ts +5 -8
  124. package/src/subscriptions/types.ts +28 -3
  125. package/src/testing/catalog-hash.ts +19 -0
  126. package/src/testing/index.ts +2 -0
  127. package/src/testing/projection-parity.ts +167 -0
  128. package/src/travel/reach.ts +23 -0
  129. package/src/travel/route-planner.ts +277 -0
  130. package/src/travel/route-simulator.ts +174 -0
  131. package/src/travel/travel.ts +175 -118
  132. package/src/types/capabilities.ts +29 -6
  133. package/src/types/entity.ts +3 -3
  134. package/src/types/index.ts +0 -1
  135. package/src/types.ts +39 -14
  136. package/src/utils/cargo.test.ts +14 -0
  137. package/src/utils/cargo.ts +29 -0
  138. package/src/utils/display-name.ts +70 -0
  139. package/src/utils/system.ts +36 -24
  140. package/src/capabilities/loading.ts +0 -8
  141. package/src/entities/container.ts +0 -123
  142. package/src/entities/ship-deploy.ts +0 -295
  143. package/src/entities/ship.ts +0 -221
  144. package/src/entities/warehouse.ts +0 -127
  145. package/src/types/entity-traits.ts +0 -69
@@ -0,0 +1,4357 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { readFileSync } from 'node:fs';
3
+ import { Blob, ABI, Struct, Name, Asset, UInt64, Checksum256, UInt32, TimePointSec, ExtendedAsset, UInt16, UInt8, Int64, TimePoint, Int8, BlockTimestamp, Bytes, Int32 } from '@wharfkit/antelope';
4
+ import { __decorate } from 'tslib';
5
+ import '@wharfkit/contract';
6
+
7
+ const CATALOG_FILES_REL = [
8
+ 'items.json',
9
+ 'recipes.json',
10
+ 'entities.json',
11
+ 'kind-registry.json',
12
+ 'item-ids.ts',
13
+ ];
14
+ function computeCatalogHash(filePaths) {
15
+ const hash = createHash('sha256');
16
+ for (const p of filePaths) {
17
+ hash.update(readFileSync(p));
18
+ hash.update('\0');
19
+ }
20
+ return hash.digest('hex');
21
+ }
22
+
23
+ const abiBlob$1 = Blob.from('DmVvc2lvOjphYmkvMS4yAB0LYmFsYW5jZV9yb3cAAg50b2tlbl9jb250cmFjdARuYW1lB2JhbGFuY2UFYXNzZXQKY2xlYXJ0YWJsZQADCnRhYmxlX25hbWUEbmFtZQVzY29wZQVuYW1lPwhtYXhfcm93cwd1aW50NjQ/BWNsb3NlAAMFb3duZXIEbmFtZQ50b2tlbl9jb250cmFjdARuYW1lDHRva2VuX3N5bWJvbAZzeW1ib2wLY29tcGFueV9yb3cAAgdhY2NvdW50BG5hbWUEbmFtZQZzdHJpbmcMZGViaXRkZXBvc2l0AAUFb3duZXIEbmFtZQV0b2tlbgRuYW1lBmxvY2tlZAVhc3NldAtmZWVfYWNjb3VudARuYW1lA2ZlZQVhc3NldA5kZXBvc2l0Y2ZnX3JvdwACDnRva2VuX2NvbnRyYWN0BG5hbWUMdG9rZW5fc3ltYm9sBnN5bWJvbAZlbmFibGUAAQdlbmFibGVkBGJvb2wKZW5hYmxlZ2FtZQACCGNvbnRyYWN0BG5hbWUHZW5hYmxlZARib29sDGZvdW5kY29tcGFueQACB2FjY291bnQEbmFtZQRuYW1lBnN0cmluZwtnYW1lX2NvbmZpZwAEBHNlZWQLY2hlY2tzdW0yNTYJZXBvY2h0aW1lBnVpbnQzMgVzdGFydA50aW1lX3BvaW50X3NlYwNlbmQOdGltZV9wb2ludF9zZWMJZ2FtZV9tZXRhAAQEbmFtZQZzdHJpbmcLZGVzY3JpcHRpb24Gc3RyaW5nA3VybAZzdHJpbmcHdmVyc2lvbgZzdHJpbmcIZ2FtZV9yb3cABAhjb250cmFjdARuYW1lBmNvbmZpZwtnYW1lX2NvbmZpZwRtZXRhCWdhbWVfbWV0YQVzdGF0ZQpnYW1lX3N0YXRlCmdhbWVfc3RhdGUAAQdlbmFibGVkBGJvb2wEb3BlbgADBW93bmVyBG5hbWUOdG9rZW5fY29udHJhY3QEbmFtZQx0b2tlbl9zeW1ib2wGc3ltYm9sDHJlbGdhdGVhc3NldAABCGFzc2V0X2lkBnVpbnQ2NAxyZWxnYXRlb3duZXIAAQVvd25lcgRuYW1lDHNldGVwb2NodGltZQACCGNvbnRyYWN0BG5hbWUJZXBvY2h0aW1lBnVpbnQzMghzZXR0b2tlbgACDnRva2VuX2NvbnRyYWN0BG5hbWUMdG9rZW5fc3ltYm9sBnN5bWJvbAlzdGFydGdhbWUABAhjb250cmFjdARuYW1lBmNvbmZpZwtnYW1lX2NvbmZpZwRtZXRhCWdhbWVfbWV0YQVzdGF0ZQpnYW1lX3N0YXRlCXN0YXRlX3JvdwABB2VuYWJsZWQEYm9vbAt1bndyYXBjYXJnbwADBGdhbWUEbmFtZQVvd25lcgRuYW1lCGFzc2V0X2lkBnVpbnQ2NA51bndyYXBjdXN0X3JvdwACCGFzc2V0X2lkBnVpbnQ2NAVvd25lcgRuYW1lDHVud3JhcGVudGl0eQADBGdhbWUEbmFtZQVvd25lcgRuYW1lCGFzc2V0X2lkBnVpbnQ2NAp1cGRhdGVnYW1lAAIIY29udHJhY3QEbmFtZQRtZXRhCWdhbWVfbWV0YQR3aXBlAAAId2l0aGRyYXcAAwVvd25lcgRuYW1lCHF1YW50aXR5DmV4dGVuZGVkX2Fzc2V0BG1lbW8Gc3RyaW5nCXdyYXBjYXJnbwAGBGdhbWUEbmFtZQVvd25lcgRuYW1lCWVudGl0eV9pZAZ1aW50NjQIbmV4dXNfaWQGdWludDY0CGNhcmdvX2lkBnVpbnQ2NAhxdWFudGl0eQZ1aW50NjQKd3JhcGVudGl0eQAEBGdhbWUEbmFtZQVvd25lcgRuYW1lCWVudGl0eV9pZAZ1aW50NjQIbmV4dXNfaWQGdWludDY0DHdyYXBnYXRlX3JvdwADBW93bmVyBG5hbWUEZ2FtZQRuYW1lDWxhc3RfYXNzZXRfaWQGdWludDY0EwCAisfka1RECmNsZWFydGFibGW+AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjbGVhcnRhYmxlCnN1bW1hcnk6ICdERUJVRzogY2xlYXJ0YWJsZSBhY3Rpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0AAAAAAIVpRAVjbG9zZeICLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNsb3NlCnN1bW1hcnk6ICdDbG9zZSBhIGRlcG9zaXQgYmFsYW5jZSByb3cnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNTgxMTM3ODIjZDNiZjI5MGZkZGVkZGJiN2QzMmFhODk3ZTlmN2U5ZTEzYTJhZTQ0OTU2MTQyZTIzZWI0N2I3NzA5NmEyZWE4ZAoKLS0tCgpDbG9zZSB0aGUgb3duZXIncyBkZXBvc2l0IGJhbGFuY2Ugcm93IGZvciB0aGUgZ2l2ZW4gdG9rZW4gYW5kIGZyZWUgaXRzIFJBTS4gVGhlIGJhbGFuY2UgbXVzdCBiZSB6ZXJvIGJlZm9yZSBjbG9zaW5nLiBSZXF1aXJlcyB0aGUgb3duZXIncyBhdXRob3JpdHkukB2mVaXsjkoMZGViaXRkZXBvc2l0nQQtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZGViaXRkZXBvc2l0CnN1bW1hcnk6ICdEZWJpdCBhIGRlcG9zaXQgYmFsYW5jZSBmb3IgYSB3cmFwIG9wZXJhdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE1ODExMzc4MiNkM2JmMjkwZmRkZWRkYmI3ZDMyYWE4OTdlOWY3ZTllMTNhMmFlNDQ5NTYxNDJlMjNlYjQ3Yjc3MDk2YTJlYThkCgotLS0KCkludGVybmFsIGFjdGlvbiBjYWxsZWQgaW5saW5lIGJ5IGEgcmVnaXN0ZXJlZCwgZW5hYmxlZCBnYW1lIGNvbnRyYWN0IG9ubHkuIERlYml0cyB0aGUgb3duZXIncyBkZXBvc2l0IGJhbGFuY2UgYnkgdGhlIGxvY2tlZCBhbW91bnQgcGx1cyB0aGUgZmVlLCBhbmQgY3JlZGl0cyB0aGUgZmVlIHRvIHRoZSBjb25maWd1cmVkIGZlZSBhY2NvdW50LiBVc2VkIGJ5IGEgZ2FtZSdzIHdyYXAgZmxvdyB0byBjb2xsZWN0IHRoZSB3cmFwIGNvc3QuIENhbm5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgcGxheWVycyBvciB1bnJlZ2lzdGVyZWQgYWNjb3VudHMuAAAAAKh4zFQGZW5hYmxl8wEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZW5hYmxlCnN1bW1hcnk6ICdFbmFibGUvZGlzYWJsZSBwbGF0Zm9ybScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE1ODExMzc4MiNkM2JmMjkwZmRkZWRkYmI3ZDMyYWE4OTdlOWY3ZTllMTNhMmFlNDQ5NTYxNDJlMjNlYjQ3Yjc3MDk2YTJlYThkCgotLS0KCkVuYWJsZSBvciBkaXNhYmxlIHRoZSBwbGF0Zm9ybSBjb250cmFjdC4AgJKGqXjMVAplbmFibGVnYW1l/AEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZW5hYmxlZ2FtZQpzdW1tYXJ5OiAnRW5hYmxlL2Rpc2JhYmxlIGEgZ2FtZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE1ODExMzc4MiNkM2JmMjkwZmRkZWRkYmI3ZDMyYWE4OTdlOWY3ZTllMTNhMmFlNDQ5NTYxNDJlMjNlYjQ3Yjc3MDk2YTJlYThkCgotLS0KCkVuYWJsZSBvciBkaXNhYmxlIHRoZSBzcGVjaWZpZWQgZ2FtZSBjb250cmFjdC7gp6mSojQ1XQxmb3VuZGNvbXBhbnmDAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBmb3VuZGNvbXBhbnkKc3VtbWFyeTogJ0ZvdW5kIGEgbmV3IGNvbXBhbnknCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNTgxMTM3ODIjZDNiZjI5MGZkZGVkZGJiN2QzMmFhODk3ZTlmN2U5ZTEzYTJhZTQ0OTU2MTQyZTIzZWI0N2I3NzA5NmEyZWE4ZAoKLS0tCgpGb3VuZCBhIG5ldyBjb21wYW55IGluIHRoZSBTaGlwbG9hZCBwbGF0Zm9ybSBjb250cmFjdC4AAAAAADBVpQRvcGVumwMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogb3BlbgpzdW1tYXJ5OiAnT3BlbiBhIGRlcG9zaXQgYmFsYW5jZSByb3cnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNTgxMTM3ODIjZDNiZjI5MGZkZGVkZGJiN2QzMmFhODk3ZTlmN2U5ZTEzYTJhZTQ0OTU2MTQyZTIzZWI0N2I3NzA5NmEyZWE4ZAoKLS0tCgpPcGVuIGEgemVyby1iYWxhbmNlIGRlcG9zaXQgcm93IGZvciB0aGUgZ2l2ZW4gb3duZXIgYW5kIHRva2VuLCB3aXRoIFJBTSBwYWlkIGJ5IHRoZSBvd25lci4gSGFzIG5vIGVmZmVjdCBpZiB0aGUgcm93IGFscmVhZHkgZXhpc3RzLiBNdXN0IGJlIGNhbGxlZCBiZWZvcmUgdGhlIG93bmVyIGNhbiByZWNlaXZlIHRva2VuIGRlcG9zaXRzIG9yIHdyYXAgcmVmdW5kcy6QFcZGZcOiugxyZWxnYXRlYXNzZXQAcNXkVGXDoroMcmVsZ2F0ZW93bmVyAKCkyw3RqrLCDHNldGVwb2NodGltZcQCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHNldGVwb2NodGltZQpzdW1tYXJ5OiAnREVCVUc6IG92ZXJyaWRlIGEgZ2FtZScncyBlcG9jaCB0aW1lJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpPdmVycmlkZSB0aGUgZXBvY2ggZHVyYXRpb24gaW4gdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHNwZWNpZmllZCBnYW1lIGNvbnRyYWN0LiBSZXF1aXJlcyBwbGF0Zm9ybSBjb250cmFjdCBhdXRob3JpdHkuAAAAU0Gas8IIc2V0dG9rZW6dAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBzZXR0b2tlbgpzdW1tYXJ5OiAnU2V0IHRoZSBhY2NlcHRlZCBkZXBvc2l0IHRva2VuJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTU4MTEzNzgyI2QzYmYyOTBmZGRlZGRiYjdkMzJhYTg5N2U5ZjdlOWUxM2EyYWU0NDk1NjE0MmUyM2ViNDdiNzcwOTZhMmVhOGQKCi0tLQoKQWRtaW4gYWN0aW9uIHRoYXQgc2V0cyB0aGUgYWNjZXB0ZWQgZGVwb3NpdCB0b2tlbiAoY29udHJhY3QgYWNjb3VudCBhbmQgc3ltYm9sKSBmb3IgdGhlIHBsYXRmb3JtLiBBbGwgcGxheWVyIGRlcG9zaXRzIGFuZCB3cmFwIGNvc3RzIGFyZSBkZW5vbWluYXRlZCBpbiB0aGlzIHRva2VuLiBSZXF1aXJlcyBwbGF0Zm9ybSBjb250cmFjdCBhdXRob3JpdHkuAABQ0rB8TcYJc3RhcnRnYW1l/wEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogc3RhcnRnYW1lCnN1bW1hcnk6ICdTdGFydCBhIG5ldyBnYW1lJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTU4MTEzNzgyI2QzYmYyOTBmZGRlZGRiYjdkMzJhYTg5N2U5ZjdlOWUxM2EyYWU0NDk1NjE0MmUyM2ViNDdiNzcwOTZhMmVhOGQKCi0tLQoKU3RhcnQgYSBuZXcgZ2FtZSBvZiBTaGlwbG9hZCBkZXBsb3llZCB0byBhIG5ldyBjb250cmFjdC4AKLsGVXP51At1bndyYXBjYXJnb88ELS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHVud3JhcGNhcmdvCnN1bW1hcnk6ICdEZXBvc2l0IGFuIE5GVCBpbnRvIGEgaG9zdCBlbnRpdHknCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkRlcG9zaXQgYW4gQXRvbWljQXNzZXRzIE5GVCBpbnRvIGEgaG9zdCBlbnRpdHkncyBjYXJnby4gUGFpcnMgd2l0aCBhbiBhdG9taWNhc3NldHM6OnRyYW5zZmVyIGNhcnJ5aW5nIHRoZSAndW53cmFwJyBtZW1vIGluIHRoZSBzYW1lIHRyYW5zYWN0aW9uLiBUaGUgY2FsbGVyIG11c3Qgb3duIHRoZSBob3N0LCB0aGUgaG9zdCBtdXN0IGhhdmUgbG9hZGVycywgYW5kIHRoZSBob3N0IG11c3QgaGF2ZSBjYXBhY2l0eSBoZWFkcm9vbSBmb3IgdGhlIHVud3JhcHBlZCBtYXNzLiBTY2hlZHVsZXMgYSBUQVNLX1VOV1JBUCBvbiB0aGUgaG9zdCB0aGF0LCBvbiByZXNvbHV0aW9uLCBwbGFjZXMgdGhlIGRlY29kZWQgaXRlbSBpbnRvIHRoZSBob3N0J3MgY2FyZ28gYW5kIGJ1cm5zIHRoZSBORlQu4LPLU1Vz+dQMdW53cmFwZW50aXR54gQtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogdW53cmFwZW50aXR5CnN1bW1hcnk6ICdEZXBsb3kgYW4gZW50aXR5IE5GVCBkaXJlY3RseSB0byBhIG5leHVzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpEZXBsb3kgYSBwYWNrZWQtZW50aXR5IEF0b21pY0Fzc2V0cyBORlQgKG9yYml0YWwgdmVzc2VsOiBzaGlwIG9yIGNvbnRhaW5lcikgZGlyZWN0bHkgYXMgYSBsaXZlIGVudGl0eS4gUGFpcnMgd2l0aCBhbiBhdG9taWNhc3NldHM6OnRyYW5zZmVyIGNhcnJ5aW5nIHRoZSAnZGVwbG95JyBtZW1vIGluIHRoZSBzYW1lIHRyYW5zYWN0aW9uLiBUaGUgTkZUIGlzIGJ1cm5lZCwgYSBuZXcgZW50aXR5IHJvdyBpcyBlbXBsYWNlZCBhdCB0aGUgTkZUJ3Mgd3JhcCBvcmlnaW4gcGFpZCBieSB0aGUgb3duZXIsIGFuZCBUQVNLX1RSQVZFTCBwbHVzIFRBU0tfUkVDSEFSR0UgYXJlIHF1ZXVlZCB0byBkZWxpdmVyIHRoZSBlbnRpdHkgdG8gdGhlIHRhcmdldCBuZXh1cyBhbmQgYnJpbmcgaXQgdG8gZnVsbCBlbmVyZ3kuAICShqlsUtUKdXBkYXRlZ2FtZY0CLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHVwZGF0ZWdhbWUKc3VtbWFyeTogJ1VwZGF0ZSBnYW1lIGluZm9ybWF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTU4MTEzNzgyI2QzYmYyOTBmZGRlZGRiYjdkMzJhYTg5N2U5ZjdlOWUxM2EyYWU0NDk1NjE0MmUyM2ViNDdiNzcwOTZhMmVhOGQKCi0tLQoKVXBkYXRlIHRoZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc3BlY2lmaWVkIGdhbWUgY29udHJhY3QuCgotLS0AAAAAAKCq4wR3aXBlsgEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogd2lwZQpzdW1tYXJ5OiAnREVCVUc6IHdpcGUgYWN0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tAAAA3NzUsuMId2l0aGRyYXeXAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB3aXRoZHJhdwpzdW1tYXJ5OiAnV2l0aGRyYXcgdG9rZW5zIGZyb20gYSBkZXBvc2l0IGJhbGFuY2UnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNTgxMTM3ODIjZDNiZjI5MGZkZGVkZGJiN2QzMmFhODk3ZTlmN2U5ZTEzYTJhZTQ0OTU2MTQyZTIzZWI0N2I3NzA5NmEyZWE4ZAoKLS0tCgpXaXRoZHJhdyB0b2tlbnMgZnJvbSB0aGUgb3duZXIncyBkZXBvc2l0IGJhbGFuY2UuIERlYml0cyB0aGUgbGVkZ2VyIGJ5IHRoZSByZXF1ZXN0ZWQgYW1vdW50IGFuZCB0cmFuc2ZlcnMgdGhlIHRva2VucyB0byB0aGUgb3duZXIuIFJlcXVpcmVzIGEgc3VmZmljaWVudCBiYWxhbmNlIGFuZCB0aGUgb3duZXIncyBhdXRob3JpdHkuAACg7BpUzeUJd3JhcGNhcmdvAACAzy5PVc3lCndyYXBlbnRpdHm1BC0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB3cmFwZW50aXR5CnN1bW1hcnk6ICdXcmFwIGEgZGVwbG95ZWQgZW50aXR5IGludG8gYW4gTkZUJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpXcmFwIGFuIGVudGl0eSBpbnRvIGFuIEF0b21pY0Fzc2V0cyBORlQgbWludGVkIHRvIGl0cyBvd25lci4gVGhlIGVudGl0eSBtdXN0IGJlIGF0IGEgbmV4dXMsIGlkbGUgd2l0aCBlbXB0eSBjYXJnbywgYW5kIGhhdmUgYW4gbmZ0Y29uZmlnIG1hcHBpbmcgZm9yIGl0cyBpdGVtIGlkLiBFcmFzZXMgdGhlIGVudGl0eSBhbmQgbWludHMgdGhlIE5GVCBpbmxpbmUsIHByZXNlcnZpbmcgaXRzIHN0YXRzIGFuZCBpbnN0YWxsZWQgbW9kdWxlczsgdGhlIHBsYXllciBwYXlzIFJBTSBmb3IgdGhlIG5ldyBhc3NldCByb3cuIFJlcXVpcmVzIHRoZSBvd25lcidzIGFjdGl2ZSBwZXJtaXNzaW9uIChubyBzZXNzaW9uLWtleSBjb21wYXRpYmlsaXR5KS4HAAAAQKFpojkDaTY0AAALYmFsYW5jZV9yb3cAAADAT1MlRQNpNjQAAAtjb21wYW55X3JvdwAAWyg7TKtKA2k2NAAADmRlcG9zaXRjZmdfcm93AAAAAACspGEDaTY0AAAIZ2FtZV9yb3cAAAAAAJVNxgNpNjQAAAlzdGF0ZV9yb3cAQMYaVXP51ANpNjQAAA51bndyYXBjdXN0X3JvdwAAACobVs3lA2k2NAAADHdyYXBnYXRlX3JvdwETU2hpcGxvYWQgKFBsYXRmb3JtKRNTaGlwbG9hZCAoUGxhdGZvcm0pAAAAAA==');
24
+ ABI.from(abiBlob$1);
25
+ var Types$1;
26
+ (function (Types) {
27
+ let balance_row = class balance_row extends Struct {
28
+ };
29
+ __decorate([
30
+ Struct.field(Name)
31
+ ], balance_row.prototype, "token_contract", void 0);
32
+ __decorate([
33
+ Struct.field(Asset)
34
+ ], balance_row.prototype, "balance", void 0);
35
+ balance_row = __decorate([
36
+ Struct.type('balance_row')
37
+ ], balance_row);
38
+ Types.balance_row = balance_row;
39
+ let cleartable = class cleartable extends Struct {
40
+ };
41
+ __decorate([
42
+ Struct.field(Name)
43
+ ], cleartable.prototype, "table_name", void 0);
44
+ __decorate([
45
+ Struct.field(Name, { optional: true })
46
+ ], cleartable.prototype, "scope", void 0);
47
+ __decorate([
48
+ Struct.field(UInt64, { optional: true })
49
+ ], cleartable.prototype, "max_rows", void 0);
50
+ cleartable = __decorate([
51
+ Struct.type('cleartable')
52
+ ], cleartable);
53
+ Types.cleartable = cleartable;
54
+ let close = class close extends Struct {
55
+ };
56
+ __decorate([
57
+ Struct.field(Name)
58
+ ], close.prototype, "owner", void 0);
59
+ __decorate([
60
+ Struct.field(Name)
61
+ ], close.prototype, "token_contract", void 0);
62
+ __decorate([
63
+ Struct.field(Asset.Symbol)
64
+ ], close.prototype, "token_symbol", void 0);
65
+ close = __decorate([
66
+ Struct.type('close')
67
+ ], close);
68
+ Types.close = close;
69
+ let company_row = class company_row extends Struct {
70
+ };
71
+ __decorate([
72
+ Struct.field(Name)
73
+ ], company_row.prototype, "account", void 0);
74
+ __decorate([
75
+ Struct.field('string')
76
+ ], company_row.prototype, "name", void 0);
77
+ company_row = __decorate([
78
+ Struct.type('company_row')
79
+ ], company_row);
80
+ Types.company_row = company_row;
81
+ let debitdeposit = class debitdeposit extends Struct {
82
+ };
83
+ __decorate([
84
+ Struct.field(Name)
85
+ ], debitdeposit.prototype, "owner", void 0);
86
+ __decorate([
87
+ Struct.field(Name)
88
+ ], debitdeposit.prototype, "token", void 0);
89
+ __decorate([
90
+ Struct.field(Asset)
91
+ ], debitdeposit.prototype, "locked", void 0);
92
+ __decorate([
93
+ Struct.field(Name)
94
+ ], debitdeposit.prototype, "fee_account", void 0);
95
+ __decorate([
96
+ Struct.field(Asset)
97
+ ], debitdeposit.prototype, "fee", void 0);
98
+ debitdeposit = __decorate([
99
+ Struct.type('debitdeposit')
100
+ ], debitdeposit);
101
+ Types.debitdeposit = debitdeposit;
102
+ let depositcfg_row = class depositcfg_row extends Struct {
103
+ };
104
+ __decorate([
105
+ Struct.field(Name)
106
+ ], depositcfg_row.prototype, "token_contract", void 0);
107
+ __decorate([
108
+ Struct.field(Asset.Symbol)
109
+ ], depositcfg_row.prototype, "token_symbol", void 0);
110
+ depositcfg_row = __decorate([
111
+ Struct.type('depositcfg_row')
112
+ ], depositcfg_row);
113
+ Types.depositcfg_row = depositcfg_row;
114
+ let enable = class enable extends Struct {
115
+ };
116
+ __decorate([
117
+ Struct.field('bool')
118
+ ], enable.prototype, "enabled", void 0);
119
+ enable = __decorate([
120
+ Struct.type('enable')
121
+ ], enable);
122
+ Types.enable = enable;
123
+ let enablegame = class enablegame extends Struct {
124
+ };
125
+ __decorate([
126
+ Struct.field(Name)
127
+ ], enablegame.prototype, "contract", void 0);
128
+ __decorate([
129
+ Struct.field('bool')
130
+ ], enablegame.prototype, "enabled", void 0);
131
+ enablegame = __decorate([
132
+ Struct.type('enablegame')
133
+ ], enablegame);
134
+ Types.enablegame = enablegame;
135
+ let foundcompany = class foundcompany extends Struct {
136
+ };
137
+ __decorate([
138
+ Struct.field(Name)
139
+ ], foundcompany.prototype, "account", void 0);
140
+ __decorate([
141
+ Struct.field('string')
142
+ ], foundcompany.prototype, "name", void 0);
143
+ foundcompany = __decorate([
144
+ Struct.type('foundcompany')
145
+ ], foundcompany);
146
+ Types.foundcompany = foundcompany;
147
+ let game_config = class game_config extends Struct {
148
+ };
149
+ __decorate([
150
+ Struct.field(Checksum256)
151
+ ], game_config.prototype, "seed", void 0);
152
+ __decorate([
153
+ Struct.field(UInt32)
154
+ ], game_config.prototype, "epochtime", void 0);
155
+ __decorate([
156
+ Struct.field(TimePointSec)
157
+ ], game_config.prototype, "start", void 0);
158
+ __decorate([
159
+ Struct.field(TimePointSec)
160
+ ], game_config.prototype, "end", void 0);
161
+ game_config = __decorate([
162
+ Struct.type('game_config')
163
+ ], game_config);
164
+ Types.game_config = game_config;
165
+ let game_meta = class game_meta extends Struct {
166
+ };
167
+ __decorate([
168
+ Struct.field('string')
169
+ ], game_meta.prototype, "name", void 0);
170
+ __decorate([
171
+ Struct.field('string')
172
+ ], game_meta.prototype, "description", void 0);
173
+ __decorate([
174
+ Struct.field('string')
175
+ ], game_meta.prototype, "url", void 0);
176
+ __decorate([
177
+ Struct.field('string')
178
+ ], game_meta.prototype, "version", void 0);
179
+ game_meta = __decorate([
180
+ Struct.type('game_meta')
181
+ ], game_meta);
182
+ Types.game_meta = game_meta;
183
+ let game_state = class game_state extends Struct {
184
+ };
185
+ __decorate([
186
+ Struct.field('bool')
187
+ ], game_state.prototype, "enabled", void 0);
188
+ game_state = __decorate([
189
+ Struct.type('game_state')
190
+ ], game_state);
191
+ Types.game_state = game_state;
192
+ let game_row = class game_row extends Struct {
193
+ };
194
+ __decorate([
195
+ Struct.field(Name)
196
+ ], game_row.prototype, "contract", void 0);
197
+ __decorate([
198
+ Struct.field(game_config)
199
+ ], game_row.prototype, "config", void 0);
200
+ __decorate([
201
+ Struct.field(game_meta)
202
+ ], game_row.prototype, "meta", void 0);
203
+ __decorate([
204
+ Struct.field(game_state)
205
+ ], game_row.prototype, "state", void 0);
206
+ game_row = __decorate([
207
+ Struct.type('game_row')
208
+ ], game_row);
209
+ Types.game_row = game_row;
210
+ let open = class open extends Struct {
211
+ };
212
+ __decorate([
213
+ Struct.field(Name)
214
+ ], open.prototype, "owner", void 0);
215
+ __decorate([
216
+ Struct.field(Name)
217
+ ], open.prototype, "token_contract", void 0);
218
+ __decorate([
219
+ Struct.field(Asset.Symbol)
220
+ ], open.prototype, "token_symbol", void 0);
221
+ open = __decorate([
222
+ Struct.type('open')
223
+ ], open);
224
+ Types.open = open;
225
+ let relgateasset = class relgateasset extends Struct {
226
+ };
227
+ __decorate([
228
+ Struct.field(UInt64)
229
+ ], relgateasset.prototype, "asset_id", void 0);
230
+ relgateasset = __decorate([
231
+ Struct.type('relgateasset')
232
+ ], relgateasset);
233
+ Types.relgateasset = relgateasset;
234
+ let relgateowner = class relgateowner extends Struct {
235
+ };
236
+ __decorate([
237
+ Struct.field(Name)
238
+ ], relgateowner.prototype, "owner", void 0);
239
+ relgateowner = __decorate([
240
+ Struct.type('relgateowner')
241
+ ], relgateowner);
242
+ Types.relgateowner = relgateowner;
243
+ let setepochtime = class setepochtime extends Struct {
244
+ };
245
+ __decorate([
246
+ Struct.field(Name)
247
+ ], setepochtime.prototype, "contract", void 0);
248
+ __decorate([
249
+ Struct.field(UInt32)
250
+ ], setepochtime.prototype, "epochtime", void 0);
251
+ setepochtime = __decorate([
252
+ Struct.type('setepochtime')
253
+ ], setepochtime);
254
+ Types.setepochtime = setepochtime;
255
+ let settoken = class settoken extends Struct {
256
+ };
257
+ __decorate([
258
+ Struct.field(Name)
259
+ ], settoken.prototype, "token_contract", void 0);
260
+ __decorate([
261
+ Struct.field(Asset.Symbol)
262
+ ], settoken.prototype, "token_symbol", void 0);
263
+ settoken = __decorate([
264
+ Struct.type('settoken')
265
+ ], settoken);
266
+ Types.settoken = settoken;
267
+ let startgame = class startgame extends Struct {
268
+ };
269
+ __decorate([
270
+ Struct.field(Name)
271
+ ], startgame.prototype, "contract", void 0);
272
+ __decorate([
273
+ Struct.field(game_config)
274
+ ], startgame.prototype, "config", void 0);
275
+ __decorate([
276
+ Struct.field(game_meta)
277
+ ], startgame.prototype, "meta", void 0);
278
+ __decorate([
279
+ Struct.field(game_state)
280
+ ], startgame.prototype, "state", void 0);
281
+ startgame = __decorate([
282
+ Struct.type('startgame')
283
+ ], startgame);
284
+ Types.startgame = startgame;
285
+ let state_row = class state_row extends Struct {
286
+ };
287
+ __decorate([
288
+ Struct.field('bool')
289
+ ], state_row.prototype, "enabled", void 0);
290
+ state_row = __decorate([
291
+ Struct.type('state_row')
292
+ ], state_row);
293
+ Types.state_row = state_row;
294
+ let unwrapcargo = class unwrapcargo extends Struct {
295
+ };
296
+ __decorate([
297
+ Struct.field(Name)
298
+ ], unwrapcargo.prototype, "game", void 0);
299
+ __decorate([
300
+ Struct.field(Name)
301
+ ], unwrapcargo.prototype, "owner", void 0);
302
+ __decorate([
303
+ Struct.field(UInt64)
304
+ ], unwrapcargo.prototype, "asset_id", void 0);
305
+ unwrapcargo = __decorate([
306
+ Struct.type('unwrapcargo')
307
+ ], unwrapcargo);
308
+ Types.unwrapcargo = unwrapcargo;
309
+ let unwrapcust_row = class unwrapcust_row extends Struct {
310
+ };
311
+ __decorate([
312
+ Struct.field(UInt64)
313
+ ], unwrapcust_row.prototype, "asset_id", void 0);
314
+ __decorate([
315
+ Struct.field(Name)
316
+ ], unwrapcust_row.prototype, "owner", void 0);
317
+ unwrapcust_row = __decorate([
318
+ Struct.type('unwrapcust_row')
319
+ ], unwrapcust_row);
320
+ Types.unwrapcust_row = unwrapcust_row;
321
+ let unwrapentity = class unwrapentity extends Struct {
322
+ };
323
+ __decorate([
324
+ Struct.field(Name)
325
+ ], unwrapentity.prototype, "game", void 0);
326
+ __decorate([
327
+ Struct.field(Name)
328
+ ], unwrapentity.prototype, "owner", void 0);
329
+ __decorate([
330
+ Struct.field(UInt64)
331
+ ], unwrapentity.prototype, "asset_id", void 0);
332
+ unwrapentity = __decorate([
333
+ Struct.type('unwrapentity')
334
+ ], unwrapentity);
335
+ Types.unwrapentity = unwrapentity;
336
+ let updategame = class updategame extends Struct {
337
+ };
338
+ __decorate([
339
+ Struct.field(Name)
340
+ ], updategame.prototype, "contract", void 0);
341
+ __decorate([
342
+ Struct.field(game_meta)
343
+ ], updategame.prototype, "meta", void 0);
344
+ updategame = __decorate([
345
+ Struct.type('updategame')
346
+ ], updategame);
347
+ Types.updategame = updategame;
348
+ let wipe = class wipe extends Struct {
349
+ };
350
+ wipe = __decorate([
351
+ Struct.type('wipe')
352
+ ], wipe);
353
+ Types.wipe = wipe;
354
+ let withdraw = class withdraw extends Struct {
355
+ };
356
+ __decorate([
357
+ Struct.field(Name)
358
+ ], withdraw.prototype, "owner", void 0);
359
+ __decorate([
360
+ Struct.field(ExtendedAsset)
361
+ ], withdraw.prototype, "quantity", void 0);
362
+ __decorate([
363
+ Struct.field('string')
364
+ ], withdraw.prototype, "memo", void 0);
365
+ withdraw = __decorate([
366
+ Struct.type('withdraw')
367
+ ], withdraw);
368
+ Types.withdraw = withdraw;
369
+ let wrapcargo = class wrapcargo extends Struct {
370
+ };
371
+ __decorate([
372
+ Struct.field(Name)
373
+ ], wrapcargo.prototype, "game", void 0);
374
+ __decorate([
375
+ Struct.field(Name)
376
+ ], wrapcargo.prototype, "owner", void 0);
377
+ __decorate([
378
+ Struct.field(UInt64)
379
+ ], wrapcargo.prototype, "entity_id", void 0);
380
+ __decorate([
381
+ Struct.field(UInt64)
382
+ ], wrapcargo.prototype, "nexus_id", void 0);
383
+ __decorate([
384
+ Struct.field(UInt64)
385
+ ], wrapcargo.prototype, "cargo_id", void 0);
386
+ __decorate([
387
+ Struct.field(UInt64)
388
+ ], wrapcargo.prototype, "quantity", void 0);
389
+ wrapcargo = __decorate([
390
+ Struct.type('wrapcargo')
391
+ ], wrapcargo);
392
+ Types.wrapcargo = wrapcargo;
393
+ let wrapentity = class wrapentity extends Struct {
394
+ };
395
+ __decorate([
396
+ Struct.field(Name)
397
+ ], wrapentity.prototype, "game", void 0);
398
+ __decorate([
399
+ Struct.field(Name)
400
+ ], wrapentity.prototype, "owner", void 0);
401
+ __decorate([
402
+ Struct.field(UInt64)
403
+ ], wrapentity.prototype, "entity_id", void 0);
404
+ __decorate([
405
+ Struct.field(UInt64)
406
+ ], wrapentity.prototype, "nexus_id", void 0);
407
+ wrapentity = __decorate([
408
+ Struct.type('wrapentity')
409
+ ], wrapentity);
410
+ Types.wrapentity = wrapentity;
411
+ let wrapgate_row = class wrapgate_row extends Struct {
412
+ };
413
+ __decorate([
414
+ Struct.field(Name)
415
+ ], wrapgate_row.prototype, "owner", void 0);
416
+ __decorate([
417
+ Struct.field(Name)
418
+ ], wrapgate_row.prototype, "game", void 0);
419
+ __decorate([
420
+ Struct.field(UInt64)
421
+ ], wrapgate_row.prototype, "last_asset_id", void 0);
422
+ wrapgate_row = __decorate([
423
+ Struct.type('wrapgate_row')
424
+ ], wrapgate_row);
425
+ Types.wrapgate_row = wrapgate_row;
426
+ })(Types$1 || (Types$1 = {}));
427
+ ({
428
+ balance: Types$1.balance_row,
429
+ company: Types$1.company_row,
430
+ depositcfg: Types$1.depositcfg_row,
431
+ games: Types$1.game_row,
432
+ state: Types$1.state_row,
433
+ unwrapcust: Types$1.unwrapcust_row,
434
+ wrapgate: Types$1.wrapgate_row,
435
+ });
436
+
437
+ const abiBlob = Blob.from('DmVvc2lvOjphYmkvMS4yAhVCX3ZlY3Rvcl9lbnRpdHlfcmVmX0UMZW50aXR5X3JlZltdDWxvY2F0aW9uX3R5cGUFdWludDjBAQlhZGRtb2R1bGUABAllbnRpdHlfaWQGdWludDY0DG1vZHVsZV9pbmRleAV1aW50OAptb2R1bGVfcmVmCWNhcmdvX3JlZgp0YXJnZXRfcmVmCmNhcmdvX3JlZj8IYWRkbmV4dXMAAwpuZXh1c19uYW1lBnN0cmluZwF4BWludDY0AXkFaW50NjQJYWRkb3JhY2xlAAEJb3JhY2xlX2lkBG5hbWUFYmxlbmQAAgJpZAZ1aW50NjQGaW5wdXRzDGNhcmdvX2l0ZW1bXQlidWlsZHBsb3QAAgpidWlsZGVyX2lkBnVpbnQ2NAdwbG90X2lkBnVpbnQ2NAZjYW5jZWwAAwJpZAZ1aW50NjQIbGFuZV9rZXkFdWludDgFY291bnQGdWludDY0DmNhbmNlbF9yZXN1bHRzAAYJZW50aXR5X2lkBnVpbnQ2NAtlbnRpdHlfdHlwZQRuYW1lD2NhbmNlbGxlZF9jb3VudAV1aW50OBBzY2hlZHVsZV9zdGFydGVkC3RpbWVfcG9pbnQ/C2VudGl0eWdyb3VwB3VpbnQ2ND8NZ3JvdXBfbWVtYmVycxZCX3ZlY3Rvcl9lbnRpdHlfcmVmX0U/CmNhcmdvX2l0ZW0ABQdpdGVtX2lkBnVpbnQxNgVzdGF0cwZ1aW50NjQHbW9kdWxlcw5tb2R1bGVfZW50cnlbXQhxdWFudGl0eQZ1aW50MzIJZW50aXR5X2lkB3VpbnQ2ND8JY2FyZ29fcmVmAAQHaXRlbV9pZAZ1aW50MTYFc3RhdHMGdWludDY0B21vZHVsZXMObW9kdWxlX2VudHJ5W10JZW50aXR5X2lkB3VpbnQ2ND8JY2FyZ29fcm93AAcCaWQGdWludDY0CWVudGl0eV9pZAZ1aW50NjQHaXRlbV9pZAZ1aW50NjQIcXVhbnRpdHkGdWludDY0BXN0YXRzBnVpbnQ2NAdtb2R1bGVzDm1vZHVsZV9lbnRyeVtdC3NlcXVlbmNlX2lkB3VpbnQ2ND8KY2FyZ29fdmlldwAGB2l0ZW1faWQGdWludDE2BXN0YXRzBnVpbnQ2NAdtb2R1bGVzDm1vZHVsZV9lbnRyeVtdCHF1YW50aXR5BnVpbnQzMgJpZAZ1aW50NjQJZW50aXR5X2lkB3VpbnQ2ND8JY2xhaW1fcm93AAEFb3duZXIEbmFtZQljbGFpbXBsb3QAAwpidWlsZGVyX2lkBnVpbnQ2NA50YXJnZXRfaXRlbV9pZAZ1aW50MTYEc2xvdAxjbHVzdGVyX3Nsb3QMY2xhaW1zdGFydGVyAAEFb3duZXIEbmFtZQljbGVhbnJzdnAAAgVlcG9jaAZ1aW50NjQIbWF4X3Jvd3MGdWludDY0CmNsZWFydGFibGUAAwp0YWJsZV9uYW1lBG5hbWUFc2NvcGUFbmFtZT8IbWF4X3Jvd3MHdWludDY0PwxjbHVzdGVyX2NlbGwAAwJneARpbnQ4Amd5BGludDgGZW50aXR5BnVpbnQ2NAtjbHVzdGVyX3JvdwACBHJvb3QGdWludDY0BWNlbGxzDmNsdXN0ZXJfY2VsbFtdDGNsdXN0ZXJfc2xvdAADA2h1YgZ1aW50NjQCZ3gEaW50OAJneQRpbnQ4BmNvbW1pdAADCW9yYWNsZV9pZARuYW1lBWVwb2NoBnVpbnQ2NAZjb21taXQLY2hlY2tzdW0yNTYKY29tbWl0X3JvdwAEAmlkBnVpbnQ2NAVlcG9jaAZ1aW50NjQJb3JhY2xlX2lkBG5hbWUGY29tbWl0C2NoZWNrc3VtMjU2CWNvbmZpZ2xvZwABBmNvbmZpZwtnYW1lX2NvbmZpZwtjb29yZGluYXRlcwADAXgFaW50NjQBeQVpbnQ2NAF6B3VpbnQxNj8FY3JhZnQABgJpZAZ1aW50NjQJcmVjaXBlX2lkBnVpbnQxNghxdWFudGl0eQZ1aW50MzIGaW5wdXRzDGNhcmdvX2l0ZW1bXQZ0YXJnZXQHdWludDY0PwRzbG90BnVpbnQ4PwxjcmFmdGVyX2xhbmUABApzbG90X2luZGV4BXVpbnQ4BXNwZWVkBnVpbnQxNgVkcmFpbgZ1aW50MzIKb3V0cHV0X3BjdAZ1aW50MTYIZGVtb2xpc2gAAQllbnRpdHlfaWQGdWludDY0BmRlcGxveQADAmlkBnVpbnQ2NANyZWYJY2FyZ29fcmVmBHNsb3QNY2x1c3Rlcl9zbG90PwpkZXNjZW50aXR5AAQHaXRlbV9pZAZ1aW50MTYKaHVsbF9zdGF0cwZ1aW50NjQMbW9kdWxlX2l0ZW1zCHVpbnQxNltdDG1vZHVsZV9zdGF0cwh1aW50NjRbXQZlbmFibGUAAQdlbmFibGVkBGJvb2wMZW5lcmd5X3N0YXRzAAIIY2FwYWNpdHkGdWludDMyCHJlY2hhcmdlBnVpbnQzMhRlbnRpdHlfY3VycmVudF9zdGF0ZQACC2Nvb3JkaW5hdGVzC2Nvb3JkaW5hdGVzBmVuZXJneQZ1aW50MzIPZW50aXR5X2RlZmF1bHRzAAILd2FyZWhvdXNlX3oGdWludDE2C2NvbnRhaW5lcl96BnVpbnQxNgtlbnRpdHlfaW5mbwAWBHR5cGUEbmFtZQJpZAZ1aW50NjQFb3duZXIEbmFtZQtlbnRpdHlfbmFtZQZzdHJpbmcLY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMHaXRlbV9pZAZ1aW50MTYJY2FyZ29tYXNzBnVpbnQzMgVjYXJnbwxjYXJnb192aWV3W10HbW9kdWxlcw5tb2R1bGVfZW50cnlbXQZlbmVyZ3kHdWludDMyPwhodWxsbWFzcwd1aW50MzI/CGNhcGFjaXR5B3VpbnQzMj8HZW5naW5lcw9tb3ZlbWVudF9zdGF0cz8Ed2FycAt3YXJwX3N0YXRzPwlnZW5lcmF0b3INZW5lcmd5X3N0YXRzPwZoYXVsZXINaGF1bGVyX3N0YXRzPw5nYXRoZXJlcl9sYW5lcw9nYXRoZXJlcl9sYW5lW10NY3JhZnRlcl9sYW5lcw5jcmFmdGVyX2xhbmVbXQxsb2FkZXJfbGFuZXMNbG9hZGVyX2xhbmVbXQhsYXVuY2hlcg9sYXVuY2hlcl9zdGF0cz8FbGFuZXMGbGFuZVtdBWhvbGRzBmhvbGRbXQ1lbnRpdHlfbGF5b3V0AAIOZW50aXR5X2l0ZW1faWQGdWludDE2BXNsb3RzCnNsb3RfZGVmW10VZW50aXR5X2xheW91dHNfcmVzdWx0AAEIZW50aXRpZXMPZW50aXR5X2xheW91dFtdCmVudGl0eV9yZWYAAgtlbnRpdHlfdHlwZQRuYW1lCWVudGl0eV9pZAZ1aW50NjQKZW50aXR5X3JvdwAMAmlkBnVpbnQ2NAVvd25lcgRuYW1lBGtpbmQEbmFtZQdpdGVtX2lkBnVpbnQxNgRuYW1lBnN0cmluZwVzdGF0cwZ1aW50NjQLY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMGZW5lcmd5B3VpbnQzMj8JY2FyZ29tYXNzBnVpbnQzMgdtb2R1bGVzDm1vZHVsZV9lbnRyeVtdBWxhbmVzBmxhbmVbXQVob2xkcwZob2xkW10OZW50aXR5X3NlcV9yb3cAAQduZXh0X2lkBnVpbnQ2NA5lbnRpdHlfc3VtbWFyeQAIBHR5cGUEbmFtZQJpZAZ1aW50NjQFb3duZXIEbmFtZQtlbnRpdHlfbmFtZQZzdHJpbmcLY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMHaXNfaWRsZQRib29sDnJlc29sdmVkX2NvdW50BnVpbnQzMg1wZW5kaW5nX2NvdW50BnVpbnQzMhBlbnRpdHlfdGFza19pbmZvAAQJZW50aXR5X2lkBnVpbnQ2NAtlbnRpdHlfdHlwZQRuYW1lCnRhc2tfY291bnQFdWludDgQc2NoZWR1bGVfc3RhcnRlZAp0aW1lX3BvaW50D2VudGl0eWdyb3VwX3JvdwACAmlkBnVpbnQ2NAxwYXJ0aWNpcGFudHMMZW50aXR5X3JlZltdC2VudW1fbWVtYmVyAAIFdmFsdWUFdWludDgEbmFtZQZzdHJpbmcLZW51bV9yZXN1bHQAAQdtZW1iZXJzDWVudW1fbWVtYmVyW10JZXBvY2hfcm93AAQFZXBvY2gGdWludDY0Cm9yYWNsZV9pZHMGbmFtZVtdCXRocmVzaG9sZAV1aW50OARzZWVkC2NoZWNrc3VtMjU2DGZpeGNhcmdvbWFzcwABCWVudGl0eV9pZAZ1aW50NjQQZm9vdHByaW50X3Jlc3VsdAABBWNlbGxzC2dyaWRfY2VsbFtdC2ZvcmNlcmV2ZWFsAAEFZXBvY2gGdWludDY0C2dhbWVfY29uZmlnAAMHdmVyc2lvbgZ1aW50MzIIZGVmYXVsdHMPZW50aXR5X2RlZmF1bHRzBWl0ZW1zCml0ZW1fZGVmW10GZ2F0aGVyAAUJc291cmNlX2lkBnVpbnQ2NA5kZXN0aW5hdGlvbl9pZAZ1aW50NjQHc3RyYXR1bQZ1aW50MTYIcXVhbnRpdHkGdWludDMyBHNsb3QGdWludDg/DWdhdGhlcmVyX2xhbmUABQpzbG90X2luZGV4BXVpbnQ4BXlpZWxkBnVpbnQxNgVkcmFpbgZ1aW50MzIFZGVwdGgGdWludDE2Cm91dHB1dF9wY3QGdWludDE2DGdlbmVzaXNmbGVldAABCGVudGl0aWVzDGVudGl0eV9yb3dbXQpnZXRjbHVzdGVyAAEGaHViX2lkBnVpbnQ2NAlnZXRjb25maWcAAApnZXRkZXBvc2l0AAIFb3duZXIEbmFtZQhhc3NldF9pZAZ1aW50NjQLZ2V0ZGlzdGFuY2UABAJheAVpbnQ2NAJheQVpbnQ2NAJieAVpbnQ2NAJieQVpbnQ2NAtnZXRlbGlnaWJsZQACBmNvb3Jkcwtjb29yZGluYXRlcwdzdHJhdHVtBnVpbnQxNglnZXRlbnRjbHMAAAtnZXRlbnRpdGllcwACBW93bmVyBG5hbWULZW50aXR5X3R5cGUFbmFtZT8JZ2V0ZW50aXR5AAEJZW50aXR5X2lkBnVpbnQ2NAxnZXRmb290cHJpbnQAAQdpdGVtX2lkBnVpbnQxNgtnZXRpdGVtZGF0YQAACmdldGl0ZW1pZHMAAAhnZXRpdGVtcwAAC2dldGl0ZW10eXBlAAEHaXRlbV9pZAZ1aW50MTYMZ2V0aXRlbXR5cGVzAAALZ2V0a2luZG1ldGEAAAtnZXRsb2NhdGlvbgACAXgFaW50NjQBeQVpbnQ2NApnZXRsb2NkYXRhAAIBeAVpbnQ2NAF5BWludDY0C2dldG1vZHR5cGVzAAAKZ2V0bW9kdWxlcwAACWdldG5lYXJieQACCWVudGl0eV9pZAZ1aW50NjQIcmVjaGFyZ2UEYm9vbApnZXRuZnRiYXNlAAAKZ2V0bmZ0aW5mbwAACWdldHBsYXllcgABB2FjY291bnQEbmFtZQxnZXRwcm9qc3RhdGUAAgllbnRpdHlfaWQGdWludDY0CnRhc2tfY291bnQGdWludDg/CWdldHJlY2lwZQABDm91dHB1dF9pdGVtX2lkBnVpbnQxNgpnZXRyZWNpcGVzAAILbG93ZXJfYm91bmQGdWludDE2BWxpbWl0BXVpbnQ4CmdldHJlc2NhdHMAAAtnZXRyZXNlcnZlcwACAXgFaW50NjQBeQVpbnQ2NAxnZXRyZXNvdXJjZXMAAAhnZXRzbG90cwAACmdldHN0cmF0dW0AAwF4BWludDY0AXkFaW50NjQHc3RyYXR1bQZ1aW50MTYMZ2V0c3VtbWFyaWVzAAIFb3duZXIEbmFtZQtlbnRpdHlfdHlwZQVuYW1lPwtnZXR3b3JtaG9sZQACAXgFaW50NjQBeQVpbnQ2NAlncmlkX2NlbGwAAgJneARpbnQ4Amd5BGludDgMZ3JvdXB0cmFuc2l0AAUIZW50aXRpZXMMZW50aXR5X3JlZltdAmF4BWludDY0AmF5BWludDY0AmJ4BWludDY0AmJ5BWludDY0C2dyb3VwdHJhdmVsAAQIZW50aXRpZXMMZW50aXR5X3JlZltdAXgFaW50NjQBeQVpbnQ2NAhyZWNoYXJnZQRib29sBGhhc2gAAQV2YWx1ZQZzdHJpbmcHaGFzaDUxMgABBXZhbHVlBnN0cmluZwxoYXVsZXJfc3RhdHMABAhjYXBhY2l0eQV1aW50OAplZmZpY2llbmN5BnVpbnQxNgVkcmFpbgZ1aW50MzIQY2FwYWNpdHlfYnlfdGllchFoYXVsZXJfdGllcl9jYXBbXQ9oYXVsZXJfdGllcl9jYXAAAgR0aWVyBXVpbnQ4CGNhcGFjaXR5BXVpbnQ4BGhvbGQABQJpZAZ1aW50NjQEa2luZAV1aW50OAtjb3VudGVycGFydAplbnRpdHlfcmVmBXVudGlsCnRpbWVfcG9pbnQNaW5jb21pbmdfbWFzcwZ1aW50MzILaW1wb3J0Y2FyZ28AAQNyb3cJY2FyZ29fcm93DGltcG9ydGVudGl0eQABA3JvdwplbnRpdHlfcm93C2ltcG9ydGdyb3VwAAEDcm93D2VudGl0eWdyb3VwX3JvdwxpbXBvcnRwbGF5ZXIAAQVvd25lcgRuYW1lDWltcG9ydHJlc2VydmUAAgtlcG9jaF9zY29wZQZ1aW50MzIDcm93C3Jlc2VydmVfcm93C2ltcG9ydHN0YXRlAAEDcm93CXN0YXRlX3JvdwhpdGVtX2RlZgAFAmlkBnVpbnQxNgRtYXNzBnVpbnQzMgR0eXBlBXVpbnQ4B3N1YnR5cGUFdWludDgEdGllcgV1aW50OAxpdGVtX2lkX3BhaXIAAgJpZAZ1aW50MTYEbmFtZQZzdHJpbmcPaXRlbV9pZHNfcmVzdWx0AAEFaXRlbXMOaXRlbV9pZF9wYWlyW10PaXRlbWRhdGFfcmVzdWx0AAIFaXRlbXMKaXRlbV9kZWZbXQdyZWNpcGVzDnJlY2lwZXNfcmVzdWx0Cml0ZW1zX2luZm8AAQVpdGVtcwppdGVtX2RlZltdBGpvaW4AAQdhY2NvdW50BG5hbWUQa2luZF9tZXRhX3Jlc3VsdAACBWtpbmRzD2tpbmRfbWV0YV9yb3dbXQl0ZW1wbGF0ZXMTdGVtcGxhdGVfbWV0YV9yb3dbXQ1raW5kX21ldGFfcm93AAUEa2luZARuYW1lDmNsYXNzaWZpY2F0aW9uBXVpbnQ4EGNhcGFiaWxpdHlfZmxhZ3MFdWludDgHel9jb29yZAZ1aW50MzINZGVmYXVsdF9sYWJlbAZzdHJpbmcEbGFuZQACCGxhbmVfa2V5BXVpbnQ4CHNjaGVkdWxlCHNjaGVkdWxlBmxhdW5jaAADC2xhdW5jaGVyX2lkBnVpbnQ2NApjYXRjaGVyX2lkBnVpbnQ2NAVpdGVtcwxjYXJnb19pdGVtW10ObGF1bmNoZXJfc3RhdHMAAwtjaGFyZ2VfcmF0ZQZ1aW50MTYIdmVsb2NpdHkGdWludDE2BWRyYWluBnVpbnQxNgRsb2FkAAMCaWQGdWludDY0B2Zyb21faWQGdWludDY0BWl0ZW1zDGNhcmdvX2l0ZW1bXQtsb2FkZXJfbGFuZQAECnNsb3RfaW5kZXgFdWludDgEbWFzcwZ1aW50MzIGdGhydXN0BnVpbnQxNgpvdXRwdXRfcGN0BnVpbnQxNhBsb2NhdGlvbl9kZXJpdmVkAAIMc3RhdGljX3Byb3BzD2xvY2F0aW9uX3N0YXRpYwRzaXplBnVpbnQxNg1sb2NhdGlvbl9pbmZvAAMGY29vcmRzC2Nvb3JkaW5hdGVzCWlzX3N5c3RlbQRib29sC2lzX3dvcm1ob2xlBGJvb2wPbG9jYXRpb25fc3RhdGljAAUGY29vcmRzC2Nvb3JkaW5hdGVzBHR5cGUNbG9jYXRpb25fdHlwZQdzdWJ0eXBlBXVpbnQ4BXNlZWQwBXVpbnQ4BXNlZWQxBXVpbnQ4DG1vZHVsZV9lbnRyeQACBHR5cGUFdWludDgJaW5zdGFsbGVkDnBhY2tlZF9tb2R1bGU/C21vZHVsZV9pbmZvAAQCaWQGdWludDE2BG1hc3MGdWludDMyC21vZHVsZV90eXBlBXVpbnQ4BHRpZXIFdWludDgObW9kdWxlc19yZXN1bHQAAQdtb2R1bGVzDW1vZHVsZV9pbmZvW10ObW92ZW1lbnRfc3RhdHMAAgZ0aHJ1c3QGdWludDMyBWRyYWluBnVpbnQzMghtb3ZldGlsZQAFBmh1Yl9pZAZ1aW50NjQHZnJvbV9neARpbnQ4B2Zyb21fZ3kEaW50OAV0b19neARpbnQ4BXRvX2d5BGludDgLbmVhcmJ5X2luZm8ABQpjYW5fdHJhdmVsBGJvb2wHY3VycmVudBRlbnRpdHlfY3VycmVudF9zdGF0ZQlwcm9qZWN0ZWQUZW50aXR5X2N1cnJlbnRfc3RhdGUKbWF4X2VuZXJneQZ1aW50MzIHc3lzdGVtcw9uZWFyYnlfc3lzdGVtW10NbmVhcmJ5X3N5c3RlbQAECGRpc3RhbmNlBnVpbnQ2NAtlbmVyZ3lfY29zdAZ1aW50NjQLZmxpZ2h0X3RpbWUGdWludDMyCGxvY2F0aW9uDWxvY2F0aW9uX2luZm8ObmZ0X2NhcmdvX2l0ZW0ABAdpdGVtX2lkBnVpbnQxNgVzdGF0cwZ1aW50NjQHbW9kdWxlcw5tb2R1bGVfZW50cnlbXQhxdWFudGl0eQZ1aW50MzIQbmZ0X2l0ZW1fcGF5bG9hZAACBGl0ZW0ObmZ0X2NhcmdvX2l0ZW0IbG9jYXRpb24MY29vcmRpbmF0ZXM/Dm5mdF9zY2hlbWFfZGVmAAILc2NoZW1hX25hbWUEbmFtZQZmaWVsZHMOc2NoZW1hX2ZpZWxkW10QbmZ0X3RlbXBsYXRlX2RlZgADB2l0ZW1faWQGdWludDE2C3NjaGVtYV9uYW1lBG5hbWULdGVtcGxhdGVfaWQFaW50MzINbmZ0Y29uZmlnX3JvdwADB2l0ZW1faWQGdWludDE2C3RlbXBsYXRlX2lkBWludDMyC3NjaGVtYV9uYW1lBG5hbWUJbmZ0aW1ndXJsAAIEaXRlbQpjYXJnb19pdGVtCGxvY2F0aW9uDGNvb3JkaW5hdGVzPw5uZnRpbmZvX3Jlc3VsdAACB3NjaGVtYXMQbmZ0X3NjaGVtYV9kZWZbXQl0ZW1wbGF0ZXMSbmZ0X3RlbXBsYXRlX2RlZltdBm5vdGlmeQABBWV2ZW50CnRhc2tfZXZlbnQRb3JhY2xlX2NvbmZpZ19yb3cAAQl0aHJlc2hvbGQFdWludDgKb3JhY2xlX3JvdwABAmlkBG5hbWUNcGFja2VkX21vZHVsZQACB2l0ZW1faWQGdWludDE2BXN0YXRzBnVpbnQ2NApwbGFjZWNhcmdvAAMFb3duZXIEbmFtZQdob3N0X2lkBnVpbnQ2NAhhc3NldF9pZAZ1aW50NjQLcGxhY2VlbnRpdHkAAwVvd25lcgRuYW1lCGFzc2V0X2lkBnVpbnQ2NA90YXJnZXRfbmV4dXNfaWQGdWludDY0C3BsYXllcl9pbmZvAAMFb3duZXIEbmFtZQlpc19wbGF5ZXIEYm9vbAxjb21wYW55X25hbWUGc3RyaW5nCnBsYXllcl9yb3cAAQVvd25lcgRuYW1lD3Byb2plY3RlZF9zdGF0ZQAQBW93bmVyBG5hbWULY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMGZW5lcmd5B3VpbnQzMj8JY2FyZ29tYXNzBnVpbnQzMgVjYXJnbwxjYXJnb192aWV3W10IaHVsbG1hc3MHdWludDMyPwhjYXBhY2l0eQd1aW50MzI/B2VuZ2luZXMPbW92ZW1lbnRfc3RhdHM/BHdhcnALd2FycF9zdGF0cz8JZ2VuZXJhdG9yDWVuZXJneV9zdGF0cz8GaGF1bGVyDWhhdWxlcl9zdGF0cz8OZ2F0aGVyZXJfbGFuZXMPZ2F0aGVyZXJfbGFuZVtdDWNyYWZ0ZXJfbGFuZXMOY3JhZnRlcl9sYW5lW10MbG9hZGVyX2xhbmVzDWxvYWRlcl9sYW5lW10IbGF1bmNoZXIPbGF1bmNoZXJfc3RhdHM/BHRpZXIFdWludDgIcmVjaGFyZ2UAAQJpZAZ1aW50NjQMcmVjaXBlX2lucHV0AAIHaXRlbV9pZAZ1aW50MTYIcXVhbnRpdHkGdWludDMyEHJlY2lwZV9pdGVtX2luZm8AAgJpZAZ1aW50MTYEbWFzcwZ1aW50MzIPcmVjaXBlX3Jlc3BvbnNlAAgOb3V0cHV0X2l0ZW1faWQGdWludDE2C291dHB1dF9tYXNzBnVpbnQzMgZpbnB1dHMOcmVjaXBlX2lucHV0W10Kc3RhdF9zbG90cxRzdGF0X3Nsb3RfcmVzcG9uc2VbXQ1ibGVuZF93ZWlnaHRzBWJ5dGVzC291dHB1dF9pdGVtEHJlY2lwZV9pdGVtX2luZm8LaW5wdXRfaXRlbXMScmVjaXBlX2l0ZW1faW5mb1tdD3NvdXJjZV9zdWJjbGFzcwd1aW50MTY/DnJlY2lwZXNfcmVzdWx0AAEHcmVjaXBlcxFyZWNpcGVfcmVzcG9uc2VbXQxyZWZyc2hlbnRpdHkAAQllbnRpdHlfaWQGdWludDY0DHJlbW92ZW9yYWNsZQABCW9yYWNsZV9pZARuYW1lBnJlbmFtZQACAmlkBnVpbnQ2NARuYW1lBnN0cmluZwtyZXNlcnZlX3JvdwAFAmlkBnVpbnQ2NAhjb29yZF9pZAZ1aW50NjQHc3RyYXR1bQZ1aW50MTYJcmVtYWluaW5nBnVpbnQzMgpsYXN0X2Jsb2NrFGJsb2NrX3RpbWVzdGFtcF90eXBlB3Jlc29sdmUAAgJpZAZ1aW50NjQFY291bnQHdWludDY0Pw9yZXNvbHZlX3Jlc3VsdHMABgllbnRpdHlfaWQGdWludDY0C2VudGl0eV90eXBlBG5hbWUOcmVzb2x2ZWRfY291bnQGdWludDMyFG5ld19zY2hlZHVsZV9zdGFydGVkC3RpbWVfcG9pbnQ/C2VudGl0eWdyb3VwB3VpbnQ2ND8NZ3JvdXBfbWVtYmVycxZCX3ZlY3Rvcl9lbnRpdHlfcmVmX0U/CnJlc29sdmVhbGwAAQVvd25lcgRuYW1lEnJlc29sdmVhbGxfcmVzdWx0cwACB3NjYW5uZWQGdWludDMyCHJlc29sdmVkBnVpbnQzMg1yZXNvdXJjZV9pbmZvAAQCaWQGdWludDE2BG1hc3MGdWludDMyCGNhdGVnb3J5BXVpbnQ4BHRpZXIFdWludDgOcmVzb3VyY2Vfc3RhdHMAAwVzdGF0MQZ1aW50MTYFc3RhdDIGdWludDE2BXN0YXQzBnVpbnQxNhByZXNvdXJjZXNfcmVzdWx0AAEJcmVzb3VyY2VzD3Jlc291cmNlX2luZm9bXQZyZXZlYWwAAwlvcmFjbGVfaWQEbmFtZQVlcG9jaAZ1aW50NjQGcmV2ZWFsC2NoZWNrc3VtMjU2CnJldmVhbF9yb3cABAJpZAZ1aW50NjQFZXBvY2gGdWludDY0CW9yYWNsZV9pZARuYW1lBnJldmVhbAtjaGVja3N1bTI1NghybW1vZHVsZQADCWVudGl0eV9pZAZ1aW50NjQMbW9kdWxlX2luZGV4BXVpbnQ4CnRhcmdldF9yZWYKY2FyZ29fcmVmPwhybW5mdGNmZwABB2l0ZW1faWQGdWludDE2DnJvdXRlX3dheXBvaW50AAIBeAVpbnQ2NAF5BWludDY0CHNjaGVkdWxlAAIHc3RhcnRlZAp0aW1lX3BvaW50BXRhc2tzBnRhc2tbXQxzY2hlbWFfZmllbGQAAgRuYW1lBnN0cmluZwpmaWVsZF90eXBlBnN0cmluZwlzZXRjb29yZHMAAwllbnRpdHlfaWQGdWludDY0AXgFaW50NjQBeQVpbnQ2NAlzZXRuZnRjZmcAAwdpdGVtX2lkBnVpbnQxNgt0ZW1wbGF0ZV9pZAVpbnQzMgtzY2hlbWFfbmFtZQRuYW1lDHNldHRocmVzaG9sZAABCXRocmVzaG9sZAV1aW50OAtzZXR3cmFwY29zdAADCWl0ZW1fdHlwZQV1aW50OAR0aWVyBXVpbnQ4BmFtb3VudAZ1aW50NjQKc2V0d3JhcGZlZQACB2ZlZV9wY3QGdWludDE2C2ZlZV9hY2NvdW50BG5hbWUIc2xvdF9kZWYAAwR0eXBlBXVpbnQ4Cm91dHB1dF9wY3QGdWludDE2CG1heF90aWVyBXVpbnQ4EnN0YXRfc2xvdF9yZXNwb25zZQABB3NvdXJjZXMNc3RhdF9zb3VyY2VbXQtzdGF0X3NvdXJjZQACC2lucHV0X2luZGV4BXVpbnQ4EGlucHV0X3N0YXRfaW5kZXgFdWludDgJc3RhdGVfcm93AAMHZW5hYmxlZARib29sBWVwb2NoBnVpbnQzMgRzZWVkC2NoZWNrc3VtMjU2CXN0b3djYXJnbwAFBW93bmVyBG5hbWUJZW50aXR5X2lkBnVpbnQ2NAhuZXh1c19pZAZ1aW50NjQIY2FyZ29faWQGdWludDY0CHF1YW50aXR5BnVpbnQ2NApzdG93ZW50aXR5AAMFb3duZXIEbmFtZQllbnRpdHlfaWQGdWludDY0CG5leHVzX2lkBnVpbnQ2NAxzdHJhdHVtX2RhdGEAAgdzdHJhdHVtDHN0cmF0dW1faW5mbwVzdGF0cw5yZXNvdXJjZV9zdGF0cwxzdHJhdHVtX2luZm8ABQdpdGVtX2lkBnVpbnQxNgRzZWVkBnVpbnQ2NAhyaWNobmVzcwZ1aW50MTYHcmVzZXJ2ZQZ1aW50MzILcmVzZXJ2ZV9tYXgGdWludDMyEXN0cmF0dW1fcmVtYWluaW5nAAMHc3RyYXR1bQZ1aW50MTYJcmVtYWluaW5nBnVpbnQzMgpsYXN0X2Jsb2NrFGJsb2NrX3RpbWVzdGFtcF90eXBlCnN3YXBtb2R1bGUAAwllbnRpdHlfaWQGdWludDY0DG1vZHVsZV9pbmRleAV1aW50OAptb2R1bGVfcmVmCWNhcmdvX3JlZghzd2FwdGlsZQAFBmh1Yl9pZAZ1aW50NjQEYV9neARpbnQ4BGFfZ3kEaW50OARiX2d4BGludDgEYl9neQRpbnQ4BHRhc2sACgR0eXBlBXVpbnQ4CGR1cmF0aW9uBnVpbnQzMgpjYW5jZWxhYmxlBXVpbnQ4C2Nvb3JkaW5hdGVzDGNvb3JkaW5hdGVzPwVjYXJnbwxjYXJnb19pdGVtW10MZW50aXR5dGFyZ2V0C2VudGl0eV9yZWY/C2VudGl0eWdyb3VwB3VpbnQ2ND8LZW5lcmd5X2Nvc3QHdWludDMyPwRob2xkB3VpbnQ2ND8OdGFyZ2V0X2l0ZW1faWQHdWludDE2Pwp0YXNrX2V2ZW50AAoKZXZlbnRfdHlwZQV1aW50OAVvd25lcgRuYW1lC2VudGl0eV90eXBlBG5hbWUJZW50aXR5X2lkBnVpbnQ2NAp0YXNrX2luZGV4BnVpbnQzMgR0YXNrBHRhc2sJc3RhcnRzX2F0CnRpbWVfcG9pbnQMY29tcGxldGVzX2F0CnRpbWVfcG9pbnQKbmV3X2VuZXJneQd1aW50MzI/CGxhbmVfa2V5BXVpbnQ4DHRhc2tfcmVzdWx0cwABCGVudGl0aWVzEmVudGl0eV90YXNrX2luZm9bXRF0ZW1wbGF0ZV9tZXRhX3JvdwADB2l0ZW1faWQGdWludDE2BGtpbmQEbmFtZQ1kaXNwbGF5X2xhYmVsBnN0cmluZwd0cmFuc2l0AAUCaWQGdWludDY0AmF4BWludDY0AmF5BWludDY0AmJ4BWludDY0AmJ5BWludDY0BnRyYXZlbAAEAmlkBnVpbnQ2NAF4BWludDY0AXkFaW50NjQIcmVjaGFyZ2UEYm9vbAt0cmF2ZWxyb3V0ZQADCGVudGl0aWVzDGVudGl0eV9yZWZbXQl3YXlwb2ludHMQcm91dGVfd2F5cG9pbnRbXQhyZWNoYXJnZQRib29sCXR5cGVzX3JvdwAFAmlkBnVpbnQ2NBNlbnRpdHlfc3VtbWFyeV90eXBlDmVudGl0eV9zdW1tYXJ5EGdhbWVfY29uZmlnX3R5cGULZ2FtZV9jb25maWcWc3RyYXR1bV9yZW1haW5pbmdfdHlwZRFzdHJhdHVtX3JlbWFpbmluZxVuZnRfaXRlbV9wYXlsb2FkX3R5cGUQbmZ0X2l0ZW1fcGF5bG9hZAh1bmRlcGxveQACB2hvc3RfaWQGdWludDY0CXRhcmdldF9pZAZ1aW50NjQGdW5sb2FkAAMCaWQGdWludDY0BXRvX2lkBnVpbnQ2NAVpdGVtcwxjYXJnb19pdGVtW10HdXBncmFkZQAFCmJ1aWxkZXJfaWQGdWludDY0CXRhcmdldF9pZAZ1aW50NjQOdGFyZ2V0X2l0ZW1faWQGdWludDE2BmlucHV0cwxjYXJnb19pdGVtW10Ec2xvdAZ1aW50OD8Ed2FycAADAmlkBnVpbnQ2NAF4BWludDY0AXkFaW50NjQKd2FycF9zdGF0cwABBXJhbmdlBnVpbnQzMgR3aXBlAAANd29ybWhvbGVfaW5mbwADBmNvb3Jkcwtjb29yZGluYXRlcwtpc193b3JtaG9sZQRib29sC2Rlc3RpbmF0aW9uC2Nvb3JkaW5hdGVzDndyYXBjb25maWdfcm93AAIHZmVlX3BjdAZ1aW50MTYLZmVlX2FjY291bnQEbmFtZQx3cmFwY29zdF9yb3cAAwlpdGVtX3R5cGUFdWludDgEdGllcgV1aW50OAZhbW91bnQGdWludDY0YgAAUFEnKlMyCWFkZG1vZHVsZccDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGFkZG1vZHVsZQpzdW1tYXJ5OiAnSW5zdGFsbCBhIG1vZHVsZSBpbnRvIGEgc2xvdCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW5zdGFsbCBhIG1vZHVsZSBmcm9tIGNhcmdvIGludG8gYSBtb2R1bGUgc2xvdCBvbiBhIGxpdmUgZW50aXR5IG9yIGEgcGFja2VkIGVudGl0eSBpbiBjYXJnby4gVGhlIGVudGl0eSBtdXN0IGJlIGlkbGUgd2l0aCBubyBzY2hlZHVsZWQgdGFza3MuIFRoZSBtb2R1bGUgdHlwZSBtdXN0IGJlIGNvbXBhdGlibGUgd2l0aCB0aGUgdGFyZ2V0IHNsb3QgdHlwZS4gVGhlIG1vZHVsZSBpdGVtIGlzIHJlbW92ZWQgZnJvbSBjYXJnbyB1cG9uIGluc3RhbGxhdGlvbi4AAABYdzVTMghhZGRuZXh1c6cDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGFkZG5leHVzCnN1bW1hcnk6ICdBZGQgYSBuZXh1cyBsb2NhdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQ3JlYXRlIGEgbmV3IG5leHVzIGVudGl0eSBhdCB0aGUgZ2l2ZW4gY29vcmRpbmF0ZXMuIE5leHVzZXMgYXJlIG93bmVkIGJ5IHRoZSBjb250cmFjdCBhbmQgc2VydmUgYXMgZml4ZWQgZ2F0aGVyaW5nIHBvaW50cyB3aGVyZSBwbGF5ZXJzIGNhbiB3cmFwLCB1bndyYXAsIGRlcGxveSwgYW5kIG90aGVyd2lzZSBpbnRlcmFjdCB3aXRoIE5GVC1iYWNrZWQgYXNzZXRzLiBSZXF1aXJlcyBjb250cmFjdCBhdXRob3JpdHkuAABQEZlLUzIJYWRkb3JhY2xlAAAAAACANFU8BWJsZW5k/AItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogYmxlbmQKc3VtbWFyeTogJ0JsZW5kIGNhcmdvIHN0YWNrcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQ29tYmluZSBtdWx0aXBsZSBjYXJnbyBzdGFja3Mgb2YgdGhlIHNhbWUgaXRlbSB0eXBlIGludG8gYSBzaW5nbGUgc3RhY2sgd2l0aCBuZXcgYmxlbmRlZCBzdGF0cy4gQWxsIGlucHV0IHN0YWNrcyBtdXN0IHNoYXJlIHRoZSBzYW1lIGl0ZW0gaWQuIFRoZSBvdXRwdXQgc3RhY2sgaGFzIHRoZSBjb21iaW5lZCBxdWFudGl0eSBvZiBhbGwgaW5wdXRzLgAAyDTWFJ0+CWJ1aWxkcGxvdAAAAAAARIWmQQZjYW5jZWzCAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjYW5jZWwKc3VtbWFyeTogJ0NhbmNlbCBzY2hlZHVsZWQgdGFza3MnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkNhbmNlbCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiB0YXNrcyBmcm9tIHRoZSBlbmQgb2YgYW4gZW50aXR5J3Mgc2NoZWR1bGUuIFRhc2tzIHRoYXQgYXJlIGltbXV0YWJsZSBhbmQgaW4gcHJvZ3Jlc3MgY2Fubm90IGJlIGNhbmNlbGxlZC4AAMg0VulMRAljbGFpbXBsb3QAcFW+JmPpTEQMY2xhaW1zdGFydGVyAAAAqBvfaVRECWNsZWFucnN2cOwCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNsZWFucnN2cApzdW1tYXJ5OiAnQ2xlYW4gdXAgcGFzdCBlcG9jaCByZXNlcnZlcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKRXJhc2UgcmVzZXJ2ZSB0YWJsZSByb3dzIGZyb20gYSBwYXN0IGVwb2NoLiBDYW5ub3QgY2xlYW4gdGhlIGN1cnJlbnQgb3IgZnV0dXJlIGVwb2Nocy4gVGhlIG1heF9yb3dzIHBhcmFtZXRlciBjYXBzIHRoZSBudW1iZXIgb2Ygcm93cyBlcmFzZWQgcGVyIGNhbGwgdG8gbGltaXQgQ1BVIHVzYWdlLgCAisfka1RECmNsZWFydGFibGW+AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjbGVhcnRhYmxlCnN1bW1hcnk6ICdERUJVRzogY2xlYXJ0YWJsZSBhY3Rpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0AAAAAZCclRQZjb21taXTsAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjb21taXQKc3VtbWFyeTogJ1NldCBjb21taXQgdmFsdWUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClNldCB0aGUgaW5pdGlhbCBjb21taXQgdmFsdWUgZHVyaW5nIGdhbWUgaW5pdGlhbGl6YXRpb24uAABgNDK3JkUJY29uZmlnbG9n3QItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY29uZmlnbG9nCnN1bW1hcnk6ICdMb2cgZ2FtZSBjb25maWd1cmF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbnRlcm5hbCBhY3Rpb24gdGhhdCBsb2dzIHRoZSBjdXJyZW50IGdhbWUgY29uZmlndXJhdGlvbi4gQ2FsbGVkIGlubGluZSBhZnRlciBpbml0aWFsaXphdGlvbiB0byBicm9hZGNhc3QgY29uZmlnIHZpYSBhY3Rpb24gdHJhY2VzLiBSZXF1aXJlcyBjb250cmFjdCBhdXRob3JpdHkuAAAAAIC8zEUFY3JhZnTIAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjcmFmdApzdW1tYXJ5OiAnQ3JhZnQgaXRlbXMgZnJvbSBhIHJlY2lwZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVHJhbnNmb3JtIGNhcmdvIGl0ZW1zIGludG8gYSBuZXcgaXRlbSB1c2luZyBhIHJlY2lwZS4gVGhlIGVudGl0eSBtdXN0IGhhdmUgYSBjcmFmdGVyIG1vZHVsZSBpbnN0YWxsZWQuIENvbnN1bWVzIGVuZXJneSBhbmQgc2NoZWR1bGVzIGEgY3JhZnRpbmcgdGFzayB3aXRoIGR1cmF0aW9uIGJhc2VkIG9uIHRvdGFsIGlucHV0IG1hc3MgYW5kIGNyYWZ0ZXIgc3BlZWQuIElucHV0IHF1YW50aXRpZXMgbXVzdCBleGFjdGx5IG1hdGNoIHRoZSByZWNpcGUgcmVxdWlyZW1lbnRzLgAAAA27SKVKCGRlbW9saXNo8QMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZGVtb2xpc2gKc3VtbWFyeTogJ0RlbW9saXNoIGEgc3RhdGlvbmFyeSBlbnRpdHknCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkRlY29tbWlzc2lvbiBhbiBlbnRpdHksIGVyYXNpbmcgaXQgZnJvbSB0aGUgZ2FtZS4gVGhlIGVudGl0eSBtdXN0IGJlIGlkbGUsIGhhdmUgZW1wdHkgY2FyZ28sIGFuZCBoYXZlIG5vIGluc3RhbGxlZCBtb2R1bGVzIChyZW1vdmUgZWFjaCB2aWEgcm1tb2R1bGUgZmlyc3QpLiBTY2hlZHVsZXMgYSBkZW1vbGlzaCB0YXNrIHRoYXQgZXJhc2VzIHRoZSBlbnRpdHkgb24gcmVzb2x1dGlvbi4gT25seSB2YWxpZCBmb3IgZW50aXRpZXMgdGhhdCBjYW5ub3QgbW92ZTsgdXNlIHVuZGVwbG95IG9yIHdyYXBlbnRpdHkgZm9yIHRoZSByZXN0LgAAAAB4GqtKBmRlcGxveewCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGRlcGxveQpzdW1tYXJ5OiAnRGVwbG95IGEgcGFja2VkIGVudGl0eScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVW5wYWNrIGEgcGFja2VkIGVudGl0eSBpdGVtIChwYWNrZWQgc2hpcCBvciBwYWNrZWQgY29udGFpbmVyKSBmcm9tIGNhcmdvLCBzY2hlZHVsaW5nIGEgZGVwbG95IHRhc2sgdGhhdCBjcmVhdGVzIHRoZSBuZXcgZW50aXR5IGF0IHRoZSBkZXBsb3lpbmcgZW50aXR5J3MgbG9jYXRpb24gdXBvbiByZXNvbHV0aW9uLgCAzy5PhbBKCmRlc2NlbnRpdHnJAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBkZXNjZW50aXR5CnN1bW1hcnk6ICdEZXNjcmliZSBhIHBhY2tlZCBlbnRpdHknCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIGEgaHVtYW4tcmVhZGFibGUgZGVzY3JpcHRpb24gc3RyaW5nIGZvciBhIHBhY2tlZCBlbnRpdHksIGRlcml2ZWQgZnJvbSB0aGUgZW50aXR5IGl0ZW0gaWQsIGh1bGwgc3RhdHMsIGFuZCB0aGUgbGlzdCBvZiBpbnN0YWxsZWQgbW9kdWxlIGl0ZW0gaWRzIGFuZCBzdGF0cy4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyBhbmQgTkZUIHJlbmRlcmVycyB0byBkaXNwbGF5IHBhY2tlZCBlbnRpdGllcy4AAAAAqHjMVAZlbmFibGXdAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBlbmFibGUKc3VtbWFyeTogJ1NldCBlbmFibGVkIHN0YXRlJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpFbmFibGUgb3IgZGlzYWJsZSB0aGlzIGdhbWUgb2YgU2hpcGxvYWQugLGRlF2DulsMZml4Y2FyZ29tYXNzkAMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZml4Y2FyZ29tYXNzCnN1bW1hcnk6ICdERUJVRzogcmVjb21wdXRlIGVudGl0eSBjYXJnbyBtYXNzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpSZWNvbXB1dGUgYW5kIHJld3JpdGUgYW4gZW50aXR5J3MgY2FyZ28gbWFzcyBmcm9tIGl0cyBjdXJyZW50IGNhcmdvLiBSZXF1aXJlcyBjb250cmFjdCBhdXRob3JpdHkuIEF2YWlsYWJsZSBmb3IgcmVwYWlyaW5nIGRyaWZ0IGJldHdlZW4gY2FjaGVkIGNhcmdvIG1hc3MgYW5kIHRoZSB0cnVlIG1hc3MgZGVyaXZlZCBmcm9tIGNhcmdvIHJvd3MuAKJRW12FLl0LZm9yY2VyZXZlYWy+BC0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBmb3JjZXJldmVhbApzdW1tYXJ5OiAnREVCVUc6IGZvcmNlLWZpbmFsaXplIGFuIGVwb2NoIGZyb20gZXhpc3RpbmcgcmV2ZWFscycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKRmluYWxpemUgYSBzdHVjayBlcG9jaCBieSBjb21wdXRpbmcgaXRzIHNlZWQgZnJvbSB0aGUgcmV2ZWFscyBhbHJlYWR5IHN1Ym1pdHRlZCwgd2l0aG91dCB3YWl0aW5nIGZvciB0aGUgY29uZmlndXJlZCB0aHJlc2hvbGQuIFJlcXVpcmVzIGNvbnRyYWN0IGF1dGhvcml0eS4gVGhlIHNlZWQgaXMgZGVyaXZlZCBzb2xlbHkgZnJvbSB0aGUgcHJlLWltYWdlLWxvY2tlZCByZXZlYWxzIGFscmVhZHkgb24gY2hhaW47IG5vIGFkbWluLXN1cHBsaWVkIGVudHJvcHkgaXMgaW50cm9kdWNlZC4gVXNlZCB0byB1bmJsb2NrIGVwb2NoIHByb2dyZXNzaW9uIHdoZW4gdGhlIHRocmVzaG9sZCBjYW5ub3Qgb3RoZXJ3aXNlIGJlIG1ldC4AAAAAXNWyYQZnYXRoZXKXAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnYXRoZXIKc3VtbWFyeTogJ0dhdGhlciByZXNvdXJjZXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkdhdGhlciByZXNvdXJjZXMgYXQgdGhlIHNoaXAncyBjdXJyZW50IGxvY2F0aW9uLiBPbmx5IHdvcmtzIGF0IGdhdGhlcmFibGUgbG9jYXRpb24gdHlwZXMuIFNjaGVkdWxlcyBhIGdhdGhlciB0YXNrIHRoYXQgY29uc3VtZXMgZW5lcmd5IGFuZCB5aWVsZHMgY2FyZ28gYmFzZWQgb24gdGhlIHNoaXAncyBnYXRoZXJlciBzdGF0cyBhbmQgdGhlIGxvY2F0aW9uJ3MgcmVzb3VyY2UgY29tcG9zaXRpb24ukJWKCzuspmIMZ2VuZXNpc2ZsZWV0qQQtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2VuZXNpc2ZsZWV0CnN1bW1hcnk6ICdNaW50IHRoZSBvbmUtdGltZSBnZW5lc2lzIGZsZWV0JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpFbXBsYWNlIHRoZSBvbmUtdGltZSBnZW5lc2lzIGZsZWV0OiBhIGNhbGxlci1zdXBwbGllZCBzZXQgb2YgZW50aXRpZXMgKHNoaXBzLCBzdHJ1Y3R1cmVzLCBhbmQgY29udGFpbmVycykgd3JpdHRlbiB0byB0aGUgd29ybGQgYXMtaXMuIFZhbGlkIG9ubHkgZHVyaW5nIHRoZSBwcmUtZ2VuZXNpcyB3aW5kb3csIGJlZm9yZSBlcG9jaCAxIGlzIGZpbmFsaXplZC4gVGhlIHN1cHBsaWVkIGVudGl0eSBpZHMgYXJlIGhvbm9yZWQgYW5kIHRoZSBpZCBzZXF1ZW5jZSBpcyBhZHZhbmNlZCBwYXN0IHRoZW07IGlkIDAgaXMgcmVzZXJ2ZWQgZm9yIHRoZSBHZW5lc2lzIE5leHVzLiBSZXF1aXJlcyBjb250cmFjdCBhdXRob3JpdHkuAMBVGeuIsmIKZ2V0Y2x1c3RlcgAAAGBuTYqyYglnZXRjb25maWfKAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRjb25maWcKc3VtbWFyeTogJ0dldCBnYW1lIGNvbmZpZ3VyYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIHJldHVybnMgdGhlIGdhbWUgY29uZmlndXJhdGlvbiBpbmNsdWRpbmcgZGVmYXVsdCBlbnRpdHkgc3RhdHMgZm9yIHdhcmVob3VzZXMgYW5kIGNvbnRhaW5lcnMsIGFuZCB0aGUgZnVsbCBpdGVtIGRlZmluaXRpb25zIHRhYmxlLgBAdphWlbJiCmdldGRlcG9zaXQAABSaJmOXsmILZ2V0ZGlzdGFuY2UAAFQ8jrmosmILZ2V0ZWxpZ2libGXIAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRlbGlnaWJsZQpzdW1tYXJ5OiAnR2V0IGVsaWdpYmxlIHJlc291cmNlIGl0ZW0gSURzIGF0IGEgbG9jYXRpb24gYW5kIHN0cmF0dW0nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBsaXN0IG9mIHJlc291cmNlIGl0ZW0gSURzIGVsaWdpYmxlIHRvIGJlIGdhdGhlcmVkIGF0IHRoZSBnaXZlbiBjb29yZGluYXRlcyBhbmQgc3RyYXR1bSBkZXB0aC4gSXRlbXMgYXJlIGdhdGVkIGJ5IGJvdGggdGhlIGxvY2F0aW9uJ3MgcmVzb3VyY2UgcHJvZmlsZSBhbmQgdGhlIGRlcHRoIHRocmVzaG9sZCBmb3IgZWFjaCB0aWVyLgAAwBHlqbJiCWdldGVudGNsc4wDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGVudGNscwpzdW1tYXJ5OiAnR2V0IGVudGl0eSBjbGFzcyBlbnVtIHZhbHVlcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgdGhlIGZ1bGwgc2V0IG9mIGVudGl0eSBjbGFzcyBlbnVtIHZhbHVlcyBhbmQgdGhlaXIgc3RyaW5nIG5hbWVzIChPcmJpdGFsVmVzc2VsLCBQbGFuZXRhcnlTdHJ1Y3R1cmUpLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIGRlY29kZSBlbnRpdHkgY2xhc3MgaWRlbnRpZmllcnMuALBy2eWpsmILZ2V0ZW50aXRpZXOkAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRlbnRpdGllcwpzdW1tYXJ5OiAnR2V0IGFsbCBlbnRpdGllcyBmb3IgYSBwbGF5ZXInCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJldHVybnMgZnVsbCBlbnRpdHkgaW5mbyBmb3IgYWxsIGVudGl0aWVzIG93bmVkIGJ5IGEgcGxheWVyLiBPcHRpb25hbGx5IGZpbHRlciBieSBlbnRpdHkgdHlwZS4AAPDZ5amyYglnZXRlbnRpdHmiAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRlbnRpdHkKc3VtbWFyeTogJ0dldCBlbnRpdHkgc3RhdGUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJldHVybnMgdGhlIGN1cnJlbnQgc3RhdGUgb2YgYW4gZW50aXR5IGluY2x1ZGluZyBpZGVudGl0eSwgY2FyZ28sIHNjaGVkdWxlIHN0YXRlLCBhbmQgdHlwZS1zcGVjaWZpYyBmaWVsZHMukKe7NVO6smIMZ2V0Zm9vdHByaW50AABMNkmq7LJiC2dldGl0ZW1kYXRhqAMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0aXRlbWRhdGEKc3VtbWFyeTogJ0dldCBmdWxsIGl0ZW0gY2F0YWxvZycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgdGhlIGNvbXBsZXRlIGl0ZW0gY2F0YWxvZyBhcyB0aGUgY29udHJhY3Qgc2VlcyBpdCwgaW5jbHVkaW5nIHR5cGUsIHN1YnR5cGUsIHRpZXIsIG1hc3MsIGFuZCBvdGhlciBzdGF0aWMgbWV0YWRhdGEuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgYW5kIGNsaWVudHMgdG8gbWlycm9yIHRoZSBjb250cmFjdCdzIGl0ZW0gZGVmaW5pdGlvbnMuAABOTqrssmIKZ2V0aXRlbWlkc4YDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGl0ZW1pZHMKc3VtbWFyeTogJ0dldCBpdGVtIGlkIHRvIG5hbWUgbWFwcGluZ3MnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBmdWxsIG1hcHBpbmcgb2YgaXRlbSBpZCBjb25zdGFudHMgdG8gdGhlaXIgY2Fub25pY2FsIHN0cmluZyBuYW1lcy4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyB0byByZXNvbHZlIG51bWVyaWMgaXRlbSBpZHMgdG8gaHVtYW4tcmVhZGFibGUgaWRlbnRpZmllcnMuAAAAWKrssmIIZ2V0aXRlbXOaAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRpdGVtcwpzdW1tYXJ5OiAnR2V0IGFsbCBhdmFpbGFibGUgaXRlbXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIHJldHVybnMgYSBsaXN0IG9mIGFsbCBpdGVtcyBpbiB0aGUgZ2FtZSBpbmNsdWRpbmcgdGhlaXIgaWQsIGJhc2UgcHJpY2UsIGFuZCBtYXNzLgBU9Vmq7LJiC2dldGl0ZW10eXBlAIBV9Vmq7LJiDGdldGl0ZW10eXBlc4gDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGl0ZW10eXBlcwpzdW1tYXJ5OiAnR2V0IGl0ZW0gdHlwZSBlbnVtIHZhbHVlcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgdGhlIGZ1bGwgc2V0IG9mIGl0ZW0gdHlwZSBlbnVtIHZhbHVlcyBhbmQgdGhlaXIgc3RyaW5nIG5hbWVzIChyZXNvdXJjZSwgY29tcG9uZW50LCBtb2R1bGUsIGVudGl0eSkuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gZGVjb2RlIGl0ZW0gdHlwZSBpZGVudGlmaWVycy4ATFYyTQezYgtnZXRraW5kbWV0YfgDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGtpbmRtZXRhCnN1bW1hcnk6ICdHZXQgZW50aXR5IGtpbmQgbWV0YWRhdGEnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBlbnRpdHkga2luZCByZWdpc3RyeSBhbmQgdGVtcGxhdGUgcmVnaXN0cnksIGluY2x1ZGluZyBlYWNoIGtpbmQncyBjbGFzc2lmaWNhdGlvbiwgY2FwYWJpbGl0eSBmbGFncywgWi1jb29yZGluYXRlLCBhbmQgZGVmYXVsdCBsYWJlbCwgcGx1cyB0aGUgbWFwcGluZyBvZiBlbnRpdHkgaXRlbSBpZHMgdG8ga2luZHMgd2l0aCBkaXNwbGF5IGxhYmVscy4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyB0byBpbnRlcnByZXQgZW50aXR5IGtpbmRzIGFuZCBjYXBhYmlsaXRpZXMuACZ12SAas2ILZ2V0bG9jYXRpb27iAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRsb2NhdGlvbgpzdW1tYXJ5OiAnR2V0IGxvY2F0aW9uIGluZm9ybWF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIGluZm9ybWF0aW9uIGFib3V0IGEgbG9jYXRpb24gaW5jbHVkaW5nIHdoZXRoZXIgYSBzeXN0ZW0gZXhpc3RzLCBhbmQgZm9yIGVhY2ggaXRlbTogcHJpY2UsIHN1cHBseSwgcmFyaXR5IG11bHRpcGxpZXIsIGFuZCBsb2NhdGlvbiBtdWx0aXBsaWVyLgCAySYhGrNiCmdldGxvY2RhdGH+Ai0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRsb2NkYXRhCnN1bW1hcnk6ICdHZXQgZGVyaXZlZCBsb2NhdGlvbiBkYXRhJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIGRlcml2ZWQgbG9jYXRpb24gZGF0YSBpbmNsdWRpbmcgc3RhdGljIHByb3BlcnRpZXMgKHR5cGUsIGRpZmZpY3VsdHksIHNlZWRzKSBmcm9tIHRoZSBnYW1lIHNlZWQgYW5kIGVwb2NoLXNwZWNpZmljIHByb3BlcnRpZXMgKGFjdGl2ZSwgc2VlZHMpIGZyb20gdGhlIGN1cnJlbnQgZXBvY2ggc2VlZC4AsKo+JyqzYgtnZXRtb2R0eXBlc9YDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldG1vZHR5cGVzCnN1bW1hcnk6ICdHZXQgbW9kdWxlIHR5cGUgZW51bSB2YWx1ZXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBmdWxsIHNldCBvZiBtb2R1bGUgdHlwZSBlbnVtIHZhbHVlcyBhbmQgdGhlaXIgc3RyaW5nIG5hbWVzIChhbnksIGVuZ2luZSwgZ2VuZXJhdG9yLCBnYXRoZXJlciwgbG9hZGVyLCB3YXJwLCBjcmFmdGVyLCBsYXVuY2hlciwgc3RvcmFnZSwgaGF1bGVyKS4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyB0byBkZWNvZGUgbW9kdWxlIHN1YnR5cGUgaWRlbnRpZmllcnMgYW5kIHNsb3QgY29tcGF0aWJpbGl0eS4AAFZRJyqzYgpnZXRtb2R1bGVzgAMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0bW9kdWxlcwpzdW1tYXJ5OiAnR2V0IGFsbCBtb2R1bGUgaXRlbXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBzdWJzZXQgb2YgaXRlbXMgY2xhc3NpZmllZCBhcyBtb2R1bGVzLCBpbmNsdWRpbmcgZWFjaCBtb2R1bGUncyBpZCwgbWFzcywgc3VidHlwZSwgYW5kIHRpZXIuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gZW51bWVyYXRlIGluc3RhbGxhYmxlIGVxdWlwbWVudC4AAPDnGjWzYglnZXRuZWFyYnnKAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRuZWFyYnkKc3VtbWFyeTogJ0dldCBuZWFyYnkgcmVhY2hhYmxlIHN5c3RlbXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIHJldHVybnMgbmVhcmJ5IHN5c3RlbXMgcmVhY2hhYmxlIGJ5IGFuIGVudGl0eSBmcm9tIGl0cyBwcm9qZWN0ZWQgbG9jYXRpb24uIFJldHVybnMgY3VycmVudCBzdGF0ZSAod2l0aCBjb21wbGV0ZWQgdGFza3MgcmVzb2x2ZWQpLCBwcm9qZWN0ZWQgc3RhdGUgKGFmdGVyIGFsbCBzY2hlZHVsZWQgdGFza3MpLCBhbmQgYSBsaXN0IG9mIHJlYWNoYWJsZSBzeXN0ZW1zIHdpdGggZGlzdGFuY2UsIGVuZXJneSBjb3N0LCBhbmQgZmxpZ2h0IHRpbWUuAIDC5uQ1s2IKZ2V0bmZ0YmFzZQAAAF3T5TWzYgpnZXRuZnRpbmZv8AMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0bmZ0aW5mbwpzdW1tYXJ5OiAnR2V0IE5GVCBzY2hlbWEgYW5kIHRlbXBsYXRlIGNvbmZpZ3VyYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBmdWxsIHNldCBvZiBBdG9taWNBc3NldHMgc2NoZW1hcyBhbmQgdGVtcGxhdGVzIHRoZSBnYW1lIGNvbnRyYWN0IGV4cGVjdHMsIHBsdXMgdGhlIGN1cnJlbnQgYGl0ZW1faWQg4oaSICh0ZW1wbGF0ZV9pZCwgc2NoZW1hX25hbWUpYCBtYXBwaW5nIHN0b3JlZCBpbiB0aGUgYG5mdGNvbmZpZ2AgdGFibGUuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gc3luYyBhdG9taWNhc3NldHMgc3RhdGUgd2l0aCB0aGUgY29udHJhY3QuAAC4yptYs2IJZ2V0cGxheWVy/QItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0cGxheWVyCnN1bW1hcnk6ICdHZXQgcGxheWVyIGluZm9ybWF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIGluZm9ybWF0aW9uIGFib3V0IGEgcGxheWVyIGluY2x1ZGluZyBiYWxhbmNlLCBkZWJ0LCBuZXR3b3J0aCwgZW50aXR5IGNvdW50cywgYW5kIHByaWNpbmcgZm9yIG5leHQgcHVyY2hhc2VzLiBSZXR1cm5zIGlzX3BsYXllcj1mYWxzZSBpZiB0aGUgYWNjb3VudCBoYXMgbm90IGpvaW5lZCB0aGUgZ2FtZS6gssn40VuzYgxnZXRwcm9qc3RhdGXLAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRwcm9qc3RhdGUKc3VtbWFyeTogJ0dldCBwcm9qZWN0ZWQgZW50aXR5IHN0YXRlJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgcHJvamVjdGVkIHN0YXRlIG9mIGFuIGVudGl0eSBhZnRlciBhcHBseWluZyB0aGUgbmV4dCB0YXNrX2NvdW50IHNjaGVkdWxlZCB0YXNrcyAob3IgYWxsIHRhc2tzIGlmIHRhc2tfY291bnQgaXMgb21pdHRlZCkuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gcHJldmlldyB0aGUgcmVzdWx0IG9mIGFuIGVudGl0eSdzIHNjaGVkdWxlIHdpdGhvdXQgcmVzb2x2aW5nIG9uLWNoYWluLgAAUNUhdbNiCWdldHJlY2lwZaYDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHJlY2lwZQpzdW1tYXJ5OiAnR2V0IGEgc2luZ2xlIGNyYWZ0aW5nIHJlY2lwZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgdGhlIHJlY2lwZSB3aG9zZSBvdXRwdXQgbWF0Y2hlcyB0aGUgZ2l2ZW4gaXRlbSBpZCwgaW5jbHVkaW5nIGl0cyBpbnB1dHMsIGJsZW5kIHdlaWdodHMsIHN0YXQgc2xvdHMsIGFuZCByZXNvbHZlZCBpdGVtIG1hc3MgaW5mby4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyB0byBkaXNwbGF5IGNyYWZ0aW5nIHJlcXVpcmVtZW50cy4AAFbVIXWzYgpnZXRyZWNpcGVzrAMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0cmVjaXBlcwpzdW1tYXJ5OiAnTGlzdCBjcmFmdGluZyByZWNpcGVzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyBhIHBhZ2luYXRlZCBsaXN0IG9mIGNyYWZ0aW5nIHJlY2lwZXMgc3RhcnRpbmcgYXQgdGhlIHByb3ZpZGVkIGxvd2VyIGJvdW5kIG91dHB1dCBpdGVtIGlkLCB1cCB0byB0aGUgc3BlY2lmaWVkIGxpbWl0LiBFYWNoIGVudHJ5IGluY2x1ZGVzIGlucHV0cywgYmxlbmQgd2VpZ2h0cywgc3RhdCBzbG90cywgYW5kIHJlc29sdmVkIGl0ZW0gbWFzcyBpbmZvLgAAzgZhdbNiCmdldHJlc2NhdHOeAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRyZXNjYXRzCnN1bW1hcnk6ICdHZXQgcmVzb3VyY2UgY2F0ZWdvcnkgZW51bSB2YWx1ZXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBmdWxsIHNldCBvZiByZXNvdXJjZSBjYXRlZ29yeSBlbnVtIHZhbHVlcyBhbmQgdGhlaXIgc3RyaW5nIG5hbWVzIChvcmUsIGdhcywgcmVnb2xpdGgsIGJpb21hc3MsIGNyeXN0YWwpLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIGRlY29kZSByZXNvdXJjZSBzdWJ0eXBlIGlkZW50aWZpZXJzLgCw2ldhdbNiC2dldHJlc2VydmVz/AMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0cmVzZXJ2ZXMKc3VtbWFyeTogJ0dldCBjdXJyZW50IHJlc2VydmUgbW9kaWZpY2F0aW9ucyBhdCBhIGxvY2F0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIHRoZSBjaGFpbidzIG1vZGlmaWNhdGlvbnMgdG8gZGVyaXZlZCByZXNlcnZlcyBhdCB0aGUgZ2l2ZW4gY29vcmRpbmF0ZSBmb3IgdGhlIGN1cnJlbnQgZXBvY2ggYXMgYSBsaXN0IG9mIHtzdHJhdHVtLCByZW1haW5pbmd9IHBhaXJzLiBTdHJhdGEgbm90IHByZXNlbnQgaW4gdGhlIHJlc3BvbnNlIHVzZSB0aGVpciBkZXJpdmVkIGluaXRpYWwgcmVzZXJ2ZS4gQ29tcG9zZSB3aXRoIFNESyBkZXJpdmF0aW9uIHRvIGdldCB0aGUgZnVsbCBwZXItbG9jYXRpb24gc3RyYXRhIHZpZXcugBW6mmJ1s2IMZ2V0cmVzb3VyY2VzhwMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0cmVzb3VyY2VzCnN1bW1hcnk6ICdHZXQgYWxsIHJlc291cmNlIGl0ZW1zJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgc3Vic2V0IG9mIGl0ZW1zIGNsYXNzaWZpZWQgYXMgcmVzb3VyY2VzLCBpbmNsdWRpbmcgZWFjaCByZXNvdXJjZSdzIGlkLCBtYXNzLCBzdWJ0eXBlLCBhbmQgdGllci4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyB0byBlbnVtZXJhdGUgZ2F0aGVyYWJsZSBtYXRlcmlhbHMuAAAAONOIs2IIZ2V0c2xvdHO7Ay0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRzbG90cwpzdW1tYXJ5OiAnR2V0IGVudGl0eSBzbG90IGxheW91dHMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBtb2R1bGUgc2xvdCBsYXlvdXQgZm9yIGV2ZXJ5IGVudGl0eSBpdGVtIHR5cGUsIGxpc3RpbmcgdGhlIG9yZGVyZWQgc2xvdCB0eXBlcyBhdmFpbGFibGUgZm9yIG1vZHVsZSBpbnN0YWxsYXRpb24uIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gZGV0ZXJtaW5lIHdoaWNoIG1vZHVsZSB0eXBlcyBhcmUgY29tcGF0aWJsZSB3aXRoIGEgZ2l2ZW4gZW50aXR5IGh1bGwuAIDU2dyMs2IKZ2V0c3RyYXR1bdICLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHN0cmF0dW0Kc3VtbWFyeTogJ0dldCByZXNvdXJjZSBzdHJhdHVtIGRhdGEnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIHJldHVybnMgcmVzb3VyY2Ugc3RyYXR1bSBkYXRhIGZvciBhIHNwZWNpZmljIGRlcHRoIGxheWVyIGF0IGEgY29vcmRpbmF0ZSwgaW5jbHVkaW5nIHRoZSBzdHJhdHVtIHNlZWQgaW5mbyBhbmQgZGVyaXZlZCByZXNvdXJjZSBzdGF0cy6AlbtGSo2zYgxnZXRzdW1tYXJpZXPoAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRzdW1tYXJpZXMKc3VtbWFyeTogJ0dldCBlbnRpdHkgc3VtbWFyaWVzIGZvciBhIHBsYXllcicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUmV0dXJucyBsaWdodHdlaWdodCBzdW1tYXJpZXMgb2YgYWxsIGVudGl0aWVzIG93bmVkIGJ5IGEgcGxheWVyIGluY2x1ZGluZyB0eXBlLCBpZCwgb3duZXIsIG5hbWUsIGxvY2F0aW9uLCBhbmQgaWRsZSBzdGF0dXMuIE9wdGlvbmFsbHkgZmlsdGVyIGJ5IGVudGl0eSB0eXBlLgBUpE1eyrNiC2dldHdvcm1ob2xlAJAdnubmqullDGdyb3VwdHJhbnNpdAAAotrm5qrpZQtncm91cHRyYXZlbJoELS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdyb3VwdHJhdmVsCnN1bW1hcnk6ICdNb3ZlIG11bHRpcGxlIGVudGl0aWVzIHRvZ2V0aGVyJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbml0aWF0ZSBncm91cCB0cmF2ZWwgZm9yIG11bHRpcGxlIGVudGl0aWVzIHRvIGEgZGVzdGluYXRpb24uIEFsbCBlbnRpdGllcyBtdXN0IGJlIGF0IHRoZSBzYW1lIGxvY2F0aW9uIGFuZCBvd25lZCBieSB0aGUgY2FsbGVyLiBBdCBsZWFzdCBvbmUgZW50aXR5IHdpdGggZW5naW5lcyBpcyByZXF1aXJlZCB0byBwcm92aWRlIHRocnVzdC4gRmxpZ2h0IGR1cmF0aW9uIGlzIGNhbGN1bGF0ZWQgZnJvbSBjb21iaW5lZCB0aHJ1c3QgYW5kIHRvdGFsIG1hc3Mgb2YgYWxsIGVudGl0aWVzLiBDcmVhdGVzIGFuIGVudGl0eWdyb3VwIGZvciBhdG9taWMgcmVzb2x1dGlvbiBhbmQgY2FuY2VsbGF0aW9uLgAAAAAA0LBpBGhhc2j4AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBoYXNoCnN1bW1hcnk6ICdDYWxjdWxhdGUgc2hhMjU2IGhhc2gnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkNhbGN1bGF0ZXMgdGhlIHNoYTI1NiBoYXNoIG9mIGEgc3RyaW5nIGJhc2VkIHVzaW5nIHRoZSBnYW1lIHNlZWQuAAAAQITSsGkHaGFzaDUxMvsBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGhhc2g1MTIKc3VtbWFyeTogJ0NhbGN1bGF0ZSBzaGE1MTIgaGFzaCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQ2FsY3VsYXRlcyB0aGUgc2hhNTEyIGhhc2ggb2YgYSBzdHJpbmcgYmFzZWQgdXNpbmcgdGhlIGdhbWUgc2VlZC4AKLsG5UurdAtpbXBvcnRjYXJnbwDgs8tT5UurdAxpbXBvcnRlbnRpdHkAAKqml+VLq3QLaW1wb3J0Z3JvdXAAcJU3seZLq3QMaW1wb3J0cGxheWVyALqvwurmS6t0DWltcG9ydHJlc2VydmUAAFQ2GedLq3QLaW1wb3J0c3RhdGUAAAAAAAAwHX0Eam9pbsQBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGpvaW4Kc3VtbWFyeTogJ0pvaW4gYSBnYW1lJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpKb2luIGEgZ2FtZSBvZiBTaGlwbG9hZAAAAAA0NLWJBmxhdW5jaAAAAAAAAJAMjQRsb2FkAAAAACq6rDaVCG1vdmV0aWxlAAAAiFcz6fKaCW5mdGltZ3VybLIDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IG5mdGltZ3VybApzdW1tYXJ5OiAnR2V0IE5GVCBpbWFnZSBVUkwgZm9yIGEgY2FyZ28gaXRlbScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgdGhlIGltYWdlIFVSTCB0aGUgY29udHJhY3QgZW1pdHMgZm9yIGEgZ2l2ZW4gY2FyZ28gaXRlbSwgb3B0aW9uYWxseSBzY29wZWQgdG8gYSBsb2NhdGlvbi4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyBhbmQgTkZUIHJlbmRlcmVycyB0byBmZXRjaCB0aGUgY2Fub25pY2FsIGFydHdvcmsgZm9yIGFuIGl0ZW0gb3IgcGFja2VkIGVudGl0eS4AAAAA+OUynQZub3RpZnmKAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBub3RpZnkKc3VtbWFyeTogJ1Rhc2sgbGlmZWN5Y2xlIG5vdGlmaWNhdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW50ZXJuYWwgYWN0aW9uIHRoYXQgbm90aWZpZXMgZW50aXR5IG93bmVycyBvZiB0YXNrIGxpZmVjeWNsZSBldmVudHMgKHJlc29sdmVkLCBjYW5jZWxsZWQpLiBDYWxsZWQgaW5saW5lIHdoZW4gdGFza3MgY2hhbmdlIHN0YXRlLiBVc2VzIHJlcXVpcmVfcmVjaXBpZW50IHRvIGVuYWJsZSBvZmYtY2hhaW4gbW9uaXRvcmluZyB2aWEgYWN0aW9uIHRyYWNlcy4AAGXXIIVMrApwbGFjZWNhcmdvyQQtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogcGxhY2VjYXJnbwpzdW1tYXJ5OiAnUmVzdG9yZSBORlQgY2FyZ28gb250byBhIGhvc3QgZW50aXR5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbnRlcm5hbCBhY3Rpb24gY2FsbGVkIGlubGluZSBieSB0aGUgcGxhdGZvcm0gY29udHJhY3Qgb25seS4gUmVzdG9yZXMgdGhlIGNhcmdvIHJlY29yZGVkIGluIGFuIHVud3JhcHBlZCBORlQgb250byBhIGhvc3QgZW50aXR5LiBWYWxpZGF0ZXMgaG9zdCBvd25lcnNoaXAsIGxvYWRlcnMsIGFuZCByZW1haW5pbmcgY2FwYWNpdHksIGRlc2VyaWFsaXplcyB0aGUgTkZUJ3MgaXRlbSBkYXRhLCBhbmQgYXBwZW5kcyBhbiB1bndyYXAgdGFzayB0byBkZWxpdmVyIHRoZSBjYXJnbyB0byB0aGUgaG9zdC4gVGhlIHBsYXRmb3JtIGNvbnRyYWN0IGNyZWRpdHMgdGhlIGRlcG9zaXQgcmVmdW5kIGFuZCBidXJucyB0aGUgYXNzZXQuIFJlcXVpcmVzIGNvbnRyYWN0IGF1dGhvcml0eS4AfHZ5KoVMrAtwbGFjZWVudGl0ecAELS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHBsYWNlZW50aXR5CnN1bW1hcnk6ICdNYXRlcmlhbGl6ZSBhIHBhY2tlZC1lbnRpdHkgTkZUIGFzIGEgbGl2ZSBlbnRpdHknCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkludGVybmFsIGFjdGlvbiBjYWxsZWQgaW5saW5lIGJ5IHRoZSBwbGF0Zm9ybSBjb250cmFjdCBvbmx5LiBFbXBsYWNlcyBhIGxpdmUgb3JiaXRhbCB2ZXNzZWwgKHNoaXAgb3IgY29udGFpbmVyKSBmcm9tIGl0cyBwYWNrZWQtZW50aXR5IE5GVCBkYXRhIGF0IHRoZSByZWNvcmRlZCB3cmFwIG9yaWdpbiwgdGhlbiBxdWV1ZXMgdHJhdmVsIGFuZCByZWNoYXJnZSB0YXNrcyB0byBkZWxpdmVyIGl0IHRvIHRoZSB0YXJnZXQgbmV4dXMgYXQgZnVsbCBlbmVyZ3kuIFRoZSBwbGF0Zm9ybSBjb250cmFjdCBjcmVkaXRzIHRoZSBkZXBvc2l0IHJlZnVuZCBhbmQgYnVybnMgdGhlIGFzc2V0LiBSZXF1aXJlcyBjb250cmFjdCBhdXRob3JpdHkuAAAAil3TkLoIcmVjaGFyZ2XNAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiByZWNoYXJnZQpzdW1tYXJ5OiAnUmVjaGFyZ2Ugc2hpcCBlbmVyZ3knCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClNjaGVkdWxlIGEgcmVjaGFyZ2UgdGFzayBmb3IgYW4gZW50aXR5IHRvIHJlc3RvcmUgZW5lcmd5IHRvIGZ1bGwgY2FwYWNpdHkuIFRoZSByZWNoYXJnZSBkdXJhdGlvbiBkZXBlbmRzIG9uIGN1cnJlbnQgZW5lcmd5IGxldmVsIGFuZCByZWNoYXJnZSByYXRlLuCzy1M1fJe6DHJlZnJzaGVudGl0ebgDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHJlZnJzaGVudGl0eQpzdW1tYXJ5OiAnUmVmcmVzaCBkZXJpdmVkIGVudGl0eSBzdGF0ZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUmVjb21wdXRlIGRlcml2ZWQgZmllbGRzIG9uIGFuIGVudGl0eSBmcm9tIGl0cyBjdXJyZW50IGNhcmdvIGFuZCBtb2R1bGVzLCByZWZyZXNoaW5nIGNhcGFiaWxpdHkgc3RhdHMgYW5kIGNhcmdvIG1hc3MuIFRoZSBlbnRpdHkgbXVzdCBiZSBpZGxlIHdpdGggbm8gc2NoZWR1bGVkIHRhc2tzLiBVc2VkIHRvIHJlY29uY2lsZSBkZXJpdmVkIHN0YXRlIGFmdGVyIGRhdGEgbWlncmF0aW9ucyBvciBjb250cmFjdCB1cGdyYWRlcy6gIjKXqk2lugxyZW1vdmVvcmFjbGUAAAAAAChpproGcmVuYW1lAAAAAEDtSLG6B3Jlc29sdmXQAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiByZXNvbHZlCnN1bW1hcnk6ICdDb21wbGV0ZSBzY2hlZHVsZWQgdGFza3MnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJlc29sdmUgY29tcGxldGVkIHRhc2tzIGluIGFuIGVudGl0eSdzIHNjaGVkdWxlLCBhcHBseWluZyB0aGVpciBlZmZlY3RzIChyZWNoYXJnZSBlbmVyZ3ksIHVwZGF0ZSBsb2NhdGlvbiwgbG9hZC91bmxvYWQgY2FyZ28pLiBJZiBjb3VudCBpcyBzcGVjaWZpZWQsIHJlc29sdmUgZXhhY3RseSB0aGF0IG1hbnkgdGFza3M7IG90aGVyd2lzZSByZXNvbHZlIGFsbCBjb21wbGV0ZWQgdGFza3MuIEZhaWxzIGlmIGNvdW50IGV4Y2VlZHMgdGhlIG51bWJlciBvZiBjb21wbGV0ZWQgdGFza3MuAECMRu1IsboKcmVzb2x2ZWFsbAAAAAAARKO2ugZyZXZlYWwAAAAAKupEpbwIcm1tb2R1bGW8Ay0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBybW1vZHVsZQpzdW1tYXJ5OiAnUmVtb3ZlIGEgbW9kdWxlIGZyb20gYSBzbG90JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpSZW1vdmUgYW4gaW5zdGFsbGVkIG1vZHVsZSBmcm9tIGEgc2xvdCBvbiBhIGxpdmUgZW50aXR5IG9yIGEgcGFja2VkIGVudGl0eSBpbiBjYXJnby4gVGhlIGVudGl0eSBtdXN0IGJlIGlkbGUgd2l0aCBubyBzY2hlZHVsZWQgdGFza3MuIFRoZSBtb2R1bGUgaXMgcmV0dXJuZWQgdG8gY2FyZ28uIEZhaWxzIGlmIHRoZSBlbnRpdHkgZG9lcyBub3QgaGF2ZSBlbm91Z2ggY2FyZ28gY2FwYWNpdHkgdG8gaG9sZCB0aGUgcmV0dXJuZWQgbW9kdWxlLgAAAGyhvKa8CHJtbmZ0Y2ZnoQMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogcm1uZnRjZmcKc3VtbWFyeTogJ1JlbW92ZSBORlQgdGVtcGxhdGUgbWFwcGluZyBmb3IgYW4gaXRlbScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUmVtb3ZlIHRoZSBBdG9taWNBc3NldHMgdGVtcGxhdGUgbWFwcGluZyBmb3IgdGhlIHNwZWNpZmllZCBpdGVtIGlkIGZyb20gdGhlIGBuZnRjb25maWdgIHRhYmxlLiBBZnRlciByZW1vdmFsIHRoZSBpdGVtIGNhbiBubyBsb25nZXIgYmUgd3JhcHBlZCBvciB1bndyYXBwZWQgdW50aWwgYSBuZXcgbWFwcGluZyBpcyBzZXQuIFJlcXVpcmVzIGNvbnRyYWN0IGF1dGhvcml0eS4AAMDpUoqywglzZXRjb29yZHMAAABgC+U1s8IJc2V0bmZ0Y2ZnxAMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogc2V0bmZ0Y2ZnCnN1bW1hcnk6ICdTZXQgTkZUIHRlbXBsYXRlIG1hcHBpbmcgZm9yIGFuIGl0ZW0nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkJpbmQgYW4gaXRlbSBpZCB0byBhbiBBdG9taWNBc3NldHMgdGVtcGxhdGUgaWQgYW5kIHNjaGVtYSBuYW1lLiBVc2VkIHRvIGNvbmZpZ3VyZSBob3cgdGhlIGNvbnRyYWN0IG1pbnRzIGFuZCByZWNvZ25pemVzIE5GVHMgZm9yIGEgZ2l2ZW4gaXRlbS4gSW5zZXJ0cyBhIG5ldyBtYXBwaW5nIGlmIG9uZSBkb2VzIG5vdCBleGlzdCwgb3IgdXBkYXRlcyB0aGUgZXhpc3RpbmcgbWFwcGluZy4gUmVxdWlyZXMgY29udHJhY3QgYXV0aG9yaXR5LpAibVjdlrPCDHNldHRocmVzaG9sZAAAMqaomsuzwgtzZXR3cmFwY29zdAAAgFKrmsuzwgpzZXR3cmFwZmVlAAAAoOwaxGnGCXN0b3djYXJnb9UFLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHN0b3djYXJnbwpzdW1tYXJ5OiAnUmVzZXJ2ZSBhIGNhcmdvIHN0YWNrIGZvciB3cmFwcGluZyBpbnRvIGFuIE5GVCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW50ZXJuYWwgYWN0aW9uIGNhbGxlZCBpbmxpbmUgYnkgdGhlIHBsYXRmb3JtIGNvbnRyYWN0IG9ubHkuIFJlc2VydmVzIGFuZCBjb25zdW1lcyBhIGNhcmdvIHN0YWNrIG9uIGEgbGl2ZSBlbnRpdHkgZm9yIHdyYXBwaW5nIGludG8gYW4gTkZULiBWYWxpZGF0ZXMgZW50aXR5IG93bmVyc2hpcCwgbG9hZGVycywgYW5kIHByZXNlbmNlIGF0IHRoZSBuZXh1cywgYW5kIGNvbmZpcm1zIHRoZSB0YXJnZXQgY2FyZ28gc3RhY2sgaXMgYXZhaWxhYmxlIGFuZCBub3QgcmVzZXJ2ZWQgYnkgYSBwZW5kaW5nIHRhc2suIENvbXB1dGVzIHRoZSB3cmFwIGNvc3QgYW5kIGZlZSwgZGViaXRzIHRoZW0gZnJvbSB0aGUgb3duZXIncyBwbGF0Zm9ybSBkZXBvc2l0IGJhbGFuY2UsIGRlcml2ZXMgdGhlIE5GVCdzIGltbXV0YWJsZSBkYXRhLCBhbmQgbWludHMgdGhlIE5GVCBpbmxpbmUgYXMgdGhlIGdhbWUgY29udHJhY3QgYmVmb3JlIGNvbnN1bWluZyB0aGUgY2FyZ28uIFJlcXVpcmVzIGNvbnRyYWN0IGF1dGhvcml0eS4AgM8uT8VpxgpzdG93ZW50aXR5mQUtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogc3Rvd2VudGl0eQpzdW1tYXJ5OiAnUmVzZXJ2ZSBhbiBlbnRpdHkgZm9yIHdyYXBwaW5nIGludG8gYW4gTkZUJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbnRlcm5hbCBhY3Rpb24gY2FsbGVkIGlubGluZSBieSB0aGUgcGxhdGZvcm0gY29udHJhY3Qgb25seS4gUmVzZXJ2ZXMgYSB3aG9sZSBlbnRpdHkgKHNoaXAsIGNvbnRhaW5lciwgb3IgcGxhbmV0YXJ5IHN0cnVjdHVyZSkgZm9yIHdyYXBwaW5nIGludG8gYW4gTkZULiBUaGUgZW50aXR5IG11c3QgYmUgaWRsZSB3aXRoIGVtcHR5IGNhcmdvIGFuZCBubyBzY2hlZHVsZWQgdGFza3MuIENvbXB1dGVzIHRoZSB3cmFwIGNvc3QgYW5kIGZlZSwgZGViaXRzIHRoZW0gZnJvbSB0aGUgb3duZXIncyBwbGF0Zm9ybSBkZXBvc2l0IGJhbGFuY2UsIGRlcml2ZXMgdGhlIGVudGl0eSBORlQncyBpbW11dGFibGUgZGF0YSwgbWludHMgdGhlIE5GVCBpbmxpbmUgYXMgdGhlIGdhbWUgY29udHJhY3QsIGFuZCBlcmFzZXMgdGhlIGVudGl0eSBmcm9tIHRoZSB3b3JsZC4gUmVxdWlyZXMgY29udHJhY3QgYXV0aG9yaXR5LgCAijpRWQ3HCnN3YXBtb2R1bGUAAAAAKrpcDccIc3dhcHRpbGUAAAAAIDs8zc0HdHJhbnNpdAAAAAAARLXNzQZ0cmF2ZWz7AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB0cmF2ZWwKc3VtbWFyeTogJ01vdmUgYSBzaGlwJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbml0aWF0ZSB0cmF2ZWwgb2YgYW4gZW50aXR5IGZyb20gaXRzIGN1cnJlbnQgbG9jYXRpb24gdG8gYSBuZXcgZGVzdGluYXRpb24uAFTW9Ea1zc0LdHJhdmVscm91dGUAAAAAnsaq0tQIdW5kZXBsb3nnBC0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB1bmRlcGxveQpzdW1tYXJ5OiAnUGFjayBhIGRlcGxveWVkIGVudGl0eSBpbnRvIGEgaG9zdCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUGFjayBhbiBlbnRpdHkgaW50byBhIGhvc3QgZW50aXR5J3MgY2FyZ28gYXMgYSBwYWNrZWQtZW50aXR5IGl0ZW0uIEhvc3QgYW5kIHRhcmdldCBtdXN0IHNoYXJlIHRoZSBzYW1lIG93bmVyIGFuZCBjb29yZGluYXRlcywgdGhlIGhvc3QgbXVzdCBoYXZlIGxvYWRlcnMgYW5kIGVub3VnaCBjYXBhY2l0eSBmb3IgdGhlIHBhY2tlZCBtYXNzLCBhbmQgdGhlIHRhcmdldCBtdXN0IGJlIGlkbGUgd2l0aCBlbXB0eSBjYXJnby4gQ3JlYXRlcyBhbiBlbnRpdHlncm91cCBhbmQgc2NoZWR1bGVzIHVuZGVwbG95IHRhc2tzIG9uIGJvdGggZW50aXRpZXM7IG9uIHJlc29sdXRpb24gdGhlIHRhcmdldCBpcyBlcmFzZWQgYW5kIHRoZSBwYWNrZWQgZW50aXR5IGlzIGFkZGVkIHRvIHRoZSBob3N0J3MgY2FyZ28uIEludmVyc2Ugb2YgZGVwbG95LgAAAAAkQ+PUBnVubG9hZAAAAABAJXNZ1Qd1cGdyYWRlAAAAAAAAUK/hBHdhcnCfAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB3YXJwCnN1bW1hcnk6ICdXYXJwIHRvIGEgZGVzdGluYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkluc3RhbnRseSB0ZWxlcG9ydCBhbiBlbnRpdHkgdG8gYSBkZXN0aW5hdGlvbiBzeXN0ZW0uIFJlcXVpcmVzIHdhcnAgY2FwYWJpbGl0eSwgZnVsbCBlbmVyZ3ksIGVtcHR5IGNhcmdvLCBhbmQgYW4gZW1wdHkgc2NoZWR1bGUuIFRoZSBkZXN0aW5hdGlvbiBtdXN0IGJlIGEgdmFsaWQgc3lzdGVtIHdpdGhpbiB3YXJwIHJhbmdlLiBSZXNvbHZlcyBpbW1lZGlhdGVseSBhcyBhIHplcm8tZHVyYXRpb24gdGFzay4AAAAAAKCq4wR3aXBlsgEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogd2lwZQpzdW1tYXJ5OiAnREVCVUc6IHdpcGUgYWN0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tEgAAAAAAyq5BA2k2NAAACWNhcmdvX3JvdwAAAABg6UxEA2k2NAAACWNsYWltX3JvdwAAAOCqjHVEA2k2NAAAC2NsdXN0ZXJfcm93AAAAAGQnJUUDaTY0AAAKY29tbWl0X3JvdwAAAAD47PJUA2k2NAAACmVudGl0eV9yb3cAqqaX+ezyVANpNjQAAA9lbnRpdHlncm91cF9yb3cAALAK++zyVANpNjQAAA5lbnRpdHlfc2VxX3JvdwAAAACAhmhVA2k2NAAACWVwb2NoX3JvdwAAYG5NivKaA2k2NAAADW5mdGNvbmZpZ19yb3cAAGALqYjMpQNpNjQAABFvcmFjbGVfY29uZmlnX3JvdwAAAACriMylA2k2NAAACm9yYWNsZV9yb3cAAAAAXOVNrANpNjQAAApwbGF5ZXJfcm93AAAAQO2rsLoDaTY0AAALcmVzZXJ2ZV9yb3cAAAAARKO2ugNpNjQAAApyZXZlYWxfcm93AAAAAACVTcYDaTY0AAAJc3RhdGVfcm93AAAAAACsqs8DaTY0AAAJdHlwZXNfcm93AABza1JUzeUDaTY0AAAOd3JhcGNvbmZpZ19yb3cAAAAZU1TN5QNpNjQAAAx3cmFwY29zdF9yb3cBEVNoaXBsb2FkIChTZXJ2ZXIpEVNoaXBsb2FkIChTZXJ2ZXIpAAAAQAAAyDTWFJ0+DHRhc2tfcmVzdWx0cwAAAABEhaZBDmNhbmNlbF9yZXN1bHRzAADINFbpTEQMdGFza19yZXN1bHRzAAAAAIC8zEUMdGFza19yZXN1bHRzAAAADbtIpUoMdGFza19yZXN1bHRzAAAAAHgaq0oMdGFza19yZXN1bHRzAIDPLk+FsEoGc3RyaW5nAAAAAFzVsmEMdGFza19yZXN1bHRzAMBVGeuIsmILY2x1c3Rlcl9yb3cAAGBuTYqyYgtnYW1lX2NvbmZpZwBAdphWlbJiDmV4dGVuZGVkX2Fzc2V0ABSaJmOXsmIGdWludDY0AFQ8jrmosmIIdWludDE2W10AAMAR5amyYgtlbnVtX3Jlc3VsdACwctnlqbJiDWVudGl0eV9pbmZvW10AAPDZ5amyYgtlbnRpdHlfaW5mb5CnuzVTurJiEGZvb3RwcmludF9yZXN1bHQATDZJquyyYg9pdGVtZGF0YV9yZXN1bHQAAE5OquyyYg9pdGVtX2lkc19yZXN1bHQAAABYquyyYgppdGVtc19pbmZvAFT1WarssmIFdWludDiAVfVZquyyYgtlbnVtX3Jlc3VsdABMVjJNB7NiEGtpbmRfbWV0YV9yZXN1bHQAJnXZIBqzYg1sb2NhdGlvbl9pbmZvAIDJJiEas2IQbG9jYXRpb25fZGVyaXZlZACwqj4nKrNiC2VudW1fcmVzdWx0AABWUScqs2IObW9kdWxlc19yZXN1bHQAAPDnGjWzYgtuZWFyYnlfaW5mbwCAwubkNbNiCHN0cmluZ1tdAABd0+U1s2IObmZ0aW5mb19yZXN1bHQAALjKm1izYgtwbGF5ZXJfaW5mb6CyyfjRW7NiD3Byb2plY3RlZF9zdGF0ZQAAUNUhdbNiDnJlY2lwZXNfcmVzdWx0AABW1SF1s2IOcmVjaXBlc19yZXN1bHQAAM4GYXWzYgtlbnVtX3Jlc3VsdACw2ldhdbNiE3N0cmF0dW1fcmVtYWluaW5nW12AFbqaYnWzYhByZXNvdXJjZXNfcmVzdWx0AAAAONOIs2IVZW50aXR5X2xheW91dHNfcmVzdWx0AIDU2dyMs2IMc3RyYXR1bV9kYXRhgJW7RkqNs2IQZW50aXR5X3N1bW1hcnlbXQBUpE1eyrNiDXdvcm1ob2xlX2luZm+QHZ7m5qrpZQx0YXNrX3Jlc3VsdHMAotrm5qrpZQx0YXNrX3Jlc3VsdHMAAAAAANCwaQtjaGVja3N1bTI1NgAAAECE0rBpC2NoZWNrc3VtNTEyAAAAADQ0tYkMdGFza19yZXN1bHRzAAAAAACQDI0MdGFza19yZXN1bHRzAAAAKrqsNpUMdGFza19yZXN1bHRzAACIVzPp8poGc3RyaW5nAABl1yCFTKwMdGFza19yZXN1bHRzAHx2eSqFTKwMdGFza19yZXN1bHRzAAAAil3TkLoMdGFza19yZXN1bHRzAAAAQO1IsboPcmVzb2x2ZV9yZXN1bHRzAECMRu1IsboScmVzb2x2ZWFsbF9yZXN1bHRzAACg7BrEacYMdGFza19yZXN1bHRzAIDPLk/FacYMdGFza19yZXN1bHRzAAAAKrpcDccMdGFza19yZXN1bHRzAAAAIDs8zc0MdGFza19yZXN1bHRzAAAAAES1zc0MdGFza19yZXN1bHRzAFTW9Ea1zc0MdGFza19yZXN1bHRzAAAAnsaq0tQMdGFza19yZXN1bHRzAAAAACRD49QMdGFza19yZXN1bHRzAAAAQCVzWdUMdGFza19yZXN1bHRzAAAAAABQr+EMdGFza19yZXN1bHRz');
438
+ ABI.from(abiBlob);
439
+ var Types;
440
+ (function (Types) {
441
+ let packed_module = class packed_module extends Struct {
442
+ };
443
+ __decorate([
444
+ Struct.field(UInt16)
445
+ ], packed_module.prototype, "item_id", void 0);
446
+ __decorate([
447
+ Struct.field(UInt64)
448
+ ], packed_module.prototype, "stats", void 0);
449
+ packed_module = __decorate([
450
+ Struct.type('packed_module')
451
+ ], packed_module);
452
+ Types.packed_module = packed_module;
453
+ let module_entry = class module_entry extends Struct {
454
+ };
455
+ __decorate([
456
+ Struct.field(UInt8)
457
+ ], module_entry.prototype, "type", void 0);
458
+ __decorate([
459
+ Struct.field(packed_module, { optional: true })
460
+ ], module_entry.prototype, "installed", void 0);
461
+ module_entry = __decorate([
462
+ Struct.type('module_entry')
463
+ ], module_entry);
464
+ Types.module_entry = module_entry;
465
+ let cargo_ref = class cargo_ref extends Struct {
466
+ };
467
+ __decorate([
468
+ Struct.field(UInt16)
469
+ ], cargo_ref.prototype, "item_id", void 0);
470
+ __decorate([
471
+ Struct.field(UInt64)
472
+ ], cargo_ref.prototype, "stats", void 0);
473
+ __decorate([
474
+ Struct.field(module_entry, { array: true })
475
+ ], cargo_ref.prototype, "modules", void 0);
476
+ __decorate([
477
+ Struct.field(UInt64, { optional: true })
478
+ ], cargo_ref.prototype, "entity_id", void 0);
479
+ cargo_ref = __decorate([
480
+ Struct.type('cargo_ref')
481
+ ], cargo_ref);
482
+ Types.cargo_ref = cargo_ref;
483
+ let addmodule = class addmodule extends Struct {
484
+ };
485
+ __decorate([
486
+ Struct.field(UInt64)
487
+ ], addmodule.prototype, "entity_id", void 0);
488
+ __decorate([
489
+ Struct.field(UInt8)
490
+ ], addmodule.prototype, "module_index", void 0);
491
+ __decorate([
492
+ Struct.field(cargo_ref)
493
+ ], addmodule.prototype, "module_ref", void 0);
494
+ __decorate([
495
+ Struct.field(cargo_ref, { optional: true })
496
+ ], addmodule.prototype, "target_ref", void 0);
497
+ addmodule = __decorate([
498
+ Struct.type('addmodule')
499
+ ], addmodule);
500
+ Types.addmodule = addmodule;
501
+ let addnexus = class addnexus extends Struct {
502
+ };
503
+ __decorate([
504
+ Struct.field('string')
505
+ ], addnexus.prototype, "nexus_name", void 0);
506
+ __decorate([
507
+ Struct.field(Int64)
508
+ ], addnexus.prototype, "x", void 0);
509
+ __decorate([
510
+ Struct.field(Int64)
511
+ ], addnexus.prototype, "y", void 0);
512
+ addnexus = __decorate([
513
+ Struct.type('addnexus')
514
+ ], addnexus);
515
+ Types.addnexus = addnexus;
516
+ let addoracle = class addoracle extends Struct {
517
+ };
518
+ __decorate([
519
+ Struct.field(Name)
520
+ ], addoracle.prototype, "oracle_id", void 0);
521
+ addoracle = __decorate([
522
+ Struct.type('addoracle')
523
+ ], addoracle);
524
+ Types.addoracle = addoracle;
525
+ let cargo_item = class cargo_item extends Struct {
526
+ };
527
+ __decorate([
528
+ Struct.field(UInt16)
529
+ ], cargo_item.prototype, "item_id", void 0);
530
+ __decorate([
531
+ Struct.field(UInt64)
532
+ ], cargo_item.prototype, "stats", void 0);
533
+ __decorate([
534
+ Struct.field(module_entry, { array: true })
535
+ ], cargo_item.prototype, "modules", void 0);
536
+ __decorate([
537
+ Struct.field(UInt32)
538
+ ], cargo_item.prototype, "quantity", void 0);
539
+ __decorate([
540
+ Struct.field(UInt64, { optional: true })
541
+ ], cargo_item.prototype, "entity_id", void 0);
542
+ cargo_item = __decorate([
543
+ Struct.type('cargo_item')
544
+ ], cargo_item);
545
+ Types.cargo_item = cargo_item;
546
+ let blend = class blend extends Struct {
547
+ };
548
+ __decorate([
549
+ Struct.field(UInt64)
550
+ ], blend.prototype, "id", void 0);
551
+ __decorate([
552
+ Struct.field(cargo_item, { array: true })
553
+ ], blend.prototype, "inputs", void 0);
554
+ blend = __decorate([
555
+ Struct.type('blend')
556
+ ], blend);
557
+ Types.blend = blend;
558
+ let buildplot = class buildplot extends Struct {
559
+ };
560
+ __decorate([
561
+ Struct.field(UInt64)
562
+ ], buildplot.prototype, "builder_id", void 0);
563
+ __decorate([
564
+ Struct.field(UInt64)
565
+ ], buildplot.prototype, "plot_id", void 0);
566
+ buildplot = __decorate([
567
+ Struct.type('buildplot')
568
+ ], buildplot);
569
+ Types.buildplot = buildplot;
570
+ let cancel = class cancel extends Struct {
571
+ };
572
+ __decorate([
573
+ Struct.field(UInt64)
574
+ ], cancel.prototype, "id", void 0);
575
+ __decorate([
576
+ Struct.field(UInt8)
577
+ ], cancel.prototype, "lane_key", void 0);
578
+ __decorate([
579
+ Struct.field(UInt64)
580
+ ], cancel.prototype, "count", void 0);
581
+ cancel = __decorate([
582
+ Struct.type('cancel')
583
+ ], cancel);
584
+ Types.cancel = cancel;
585
+ let entity_ref = class entity_ref extends Struct {
586
+ };
587
+ __decorate([
588
+ Struct.field(Name)
589
+ ], entity_ref.prototype, "entity_type", void 0);
590
+ __decorate([
591
+ Struct.field(UInt64)
592
+ ], entity_ref.prototype, "entity_id", void 0);
593
+ entity_ref = __decorate([
594
+ Struct.type('entity_ref')
595
+ ], entity_ref);
596
+ Types.entity_ref = entity_ref;
597
+ let cancel_results = class cancel_results extends Struct {
598
+ };
599
+ __decorate([
600
+ Struct.field(UInt64)
601
+ ], cancel_results.prototype, "entity_id", void 0);
602
+ __decorate([
603
+ Struct.field(Name)
604
+ ], cancel_results.prototype, "entity_type", void 0);
605
+ __decorate([
606
+ Struct.field(UInt8)
607
+ ], cancel_results.prototype, "cancelled_count", void 0);
608
+ __decorate([
609
+ Struct.field(TimePoint, { optional: true })
610
+ ], cancel_results.prototype, "schedule_started", void 0);
611
+ __decorate([
612
+ Struct.field(UInt64, { optional: true })
613
+ ], cancel_results.prototype, "entitygroup", void 0);
614
+ __decorate([
615
+ Struct.field(entity_ref, { array: true, optional: true })
616
+ ], cancel_results.prototype, "group_members", void 0);
617
+ cancel_results = __decorate([
618
+ Struct.type('cancel_results')
619
+ ], cancel_results);
620
+ Types.cancel_results = cancel_results;
621
+ let cargo_row = class cargo_row extends Struct {
622
+ };
623
+ __decorate([
624
+ Struct.field(UInt64)
625
+ ], cargo_row.prototype, "id", void 0);
626
+ __decorate([
627
+ Struct.field(UInt64)
628
+ ], cargo_row.prototype, "entity_id", void 0);
629
+ __decorate([
630
+ Struct.field(UInt64)
631
+ ], cargo_row.prototype, "item_id", void 0);
632
+ __decorate([
633
+ Struct.field(UInt64)
634
+ ], cargo_row.prototype, "quantity", void 0);
635
+ __decorate([
636
+ Struct.field(UInt64)
637
+ ], cargo_row.prototype, "stats", void 0);
638
+ __decorate([
639
+ Struct.field(module_entry, { array: true })
640
+ ], cargo_row.prototype, "modules", void 0);
641
+ __decorate([
642
+ Struct.field(UInt64, { optional: true })
643
+ ], cargo_row.prototype, "sequence_id", void 0);
644
+ cargo_row = __decorate([
645
+ Struct.type('cargo_row')
646
+ ], cargo_row);
647
+ Types.cargo_row = cargo_row;
648
+ let cargo_view = class cargo_view extends Struct {
649
+ };
650
+ __decorate([
651
+ Struct.field(UInt16)
652
+ ], cargo_view.prototype, "item_id", void 0);
653
+ __decorate([
654
+ Struct.field(UInt64)
655
+ ], cargo_view.prototype, "stats", void 0);
656
+ __decorate([
657
+ Struct.field(module_entry, { array: true })
658
+ ], cargo_view.prototype, "modules", void 0);
659
+ __decorate([
660
+ Struct.field(UInt32)
661
+ ], cargo_view.prototype, "quantity", void 0);
662
+ __decorate([
663
+ Struct.field(UInt64)
664
+ ], cargo_view.prototype, "id", void 0);
665
+ __decorate([
666
+ Struct.field(UInt64, { optional: true })
667
+ ], cargo_view.prototype, "entity_id", void 0);
668
+ cargo_view = __decorate([
669
+ Struct.type('cargo_view')
670
+ ], cargo_view);
671
+ Types.cargo_view = cargo_view;
672
+ let claim_row = class claim_row extends Struct {
673
+ };
674
+ __decorate([
675
+ Struct.field(Name)
676
+ ], claim_row.prototype, "owner", void 0);
677
+ claim_row = __decorate([
678
+ Struct.type('claim_row')
679
+ ], claim_row);
680
+ Types.claim_row = claim_row;
681
+ let cluster_slot = class cluster_slot extends Struct {
682
+ };
683
+ __decorate([
684
+ Struct.field(UInt64)
685
+ ], cluster_slot.prototype, "hub", void 0);
686
+ __decorate([
687
+ Struct.field(Int8)
688
+ ], cluster_slot.prototype, "gx", void 0);
689
+ __decorate([
690
+ Struct.field(Int8)
691
+ ], cluster_slot.prototype, "gy", void 0);
692
+ cluster_slot = __decorate([
693
+ Struct.type('cluster_slot')
694
+ ], cluster_slot);
695
+ Types.cluster_slot = cluster_slot;
696
+ let claimplot = class claimplot extends Struct {
697
+ };
698
+ __decorate([
699
+ Struct.field(UInt64)
700
+ ], claimplot.prototype, "builder_id", void 0);
701
+ __decorate([
702
+ Struct.field(UInt16)
703
+ ], claimplot.prototype, "target_item_id", void 0);
704
+ __decorate([
705
+ Struct.field(cluster_slot)
706
+ ], claimplot.prototype, "slot", void 0);
707
+ claimplot = __decorate([
708
+ Struct.type('claimplot')
709
+ ], claimplot);
710
+ Types.claimplot = claimplot;
711
+ let claimstarter = class claimstarter extends Struct {
712
+ };
713
+ __decorate([
714
+ Struct.field(Name)
715
+ ], claimstarter.prototype, "owner", void 0);
716
+ claimstarter = __decorate([
717
+ Struct.type('claimstarter')
718
+ ], claimstarter);
719
+ Types.claimstarter = claimstarter;
720
+ let cleanrsvp = class cleanrsvp extends Struct {
721
+ };
722
+ __decorate([
723
+ Struct.field(UInt64)
724
+ ], cleanrsvp.prototype, "epoch", void 0);
725
+ __decorate([
726
+ Struct.field(UInt64)
727
+ ], cleanrsvp.prototype, "max_rows", void 0);
728
+ cleanrsvp = __decorate([
729
+ Struct.type('cleanrsvp')
730
+ ], cleanrsvp);
731
+ Types.cleanrsvp = cleanrsvp;
732
+ let cleartable = class cleartable extends Struct {
733
+ };
734
+ __decorate([
735
+ Struct.field(Name)
736
+ ], cleartable.prototype, "table_name", void 0);
737
+ __decorate([
738
+ Struct.field(Name, { optional: true })
739
+ ], cleartable.prototype, "scope", void 0);
740
+ __decorate([
741
+ Struct.field(UInt64, { optional: true })
742
+ ], cleartable.prototype, "max_rows", void 0);
743
+ cleartable = __decorate([
744
+ Struct.type('cleartable')
745
+ ], cleartable);
746
+ Types.cleartable = cleartable;
747
+ let cluster_cell = class cluster_cell extends Struct {
748
+ };
749
+ __decorate([
750
+ Struct.field(Int8)
751
+ ], cluster_cell.prototype, "gx", void 0);
752
+ __decorate([
753
+ Struct.field(Int8)
754
+ ], cluster_cell.prototype, "gy", void 0);
755
+ __decorate([
756
+ Struct.field(UInt64)
757
+ ], cluster_cell.prototype, "entity", void 0);
758
+ cluster_cell = __decorate([
759
+ Struct.type('cluster_cell')
760
+ ], cluster_cell);
761
+ Types.cluster_cell = cluster_cell;
762
+ let cluster_row = class cluster_row extends Struct {
763
+ };
764
+ __decorate([
765
+ Struct.field(UInt64)
766
+ ], cluster_row.prototype, "root", void 0);
767
+ __decorate([
768
+ Struct.field(cluster_cell, { array: true })
769
+ ], cluster_row.prototype, "cells", void 0);
770
+ cluster_row = __decorate([
771
+ Struct.type('cluster_row')
772
+ ], cluster_row);
773
+ Types.cluster_row = cluster_row;
774
+ let commit = class commit extends Struct {
775
+ };
776
+ __decorate([
777
+ Struct.field(Name)
778
+ ], commit.prototype, "oracle_id", void 0);
779
+ __decorate([
780
+ Struct.field(UInt64)
781
+ ], commit.prototype, "epoch", void 0);
782
+ __decorate([
783
+ Struct.field(Checksum256)
784
+ ], commit.prototype, "commit", void 0);
785
+ commit = __decorate([
786
+ Struct.type('commit')
787
+ ], commit);
788
+ Types.commit = commit;
789
+ let commit_row = class commit_row extends Struct {
790
+ };
791
+ __decorate([
792
+ Struct.field(UInt64)
793
+ ], commit_row.prototype, "id", void 0);
794
+ __decorate([
795
+ Struct.field(UInt64)
796
+ ], commit_row.prototype, "epoch", void 0);
797
+ __decorate([
798
+ Struct.field(Name)
799
+ ], commit_row.prototype, "oracle_id", void 0);
800
+ __decorate([
801
+ Struct.field(Checksum256)
802
+ ], commit_row.prototype, "commit", void 0);
803
+ commit_row = __decorate([
804
+ Struct.type('commit_row')
805
+ ], commit_row);
806
+ Types.commit_row = commit_row;
807
+ let entity_defaults = class entity_defaults extends Struct {
808
+ };
809
+ __decorate([
810
+ Struct.field(UInt16)
811
+ ], entity_defaults.prototype, "warehouse_z", void 0);
812
+ __decorate([
813
+ Struct.field(UInt16)
814
+ ], entity_defaults.prototype, "container_z", void 0);
815
+ entity_defaults = __decorate([
816
+ Struct.type('entity_defaults')
817
+ ], entity_defaults);
818
+ Types.entity_defaults = entity_defaults;
819
+ let item_def = class item_def extends Struct {
820
+ };
821
+ __decorate([
822
+ Struct.field(UInt16)
823
+ ], item_def.prototype, "id", void 0);
824
+ __decorate([
825
+ Struct.field(UInt32)
826
+ ], item_def.prototype, "mass", void 0);
827
+ __decorate([
828
+ Struct.field(UInt8)
829
+ ], item_def.prototype, "type", void 0);
830
+ __decorate([
831
+ Struct.field(UInt8)
832
+ ], item_def.prototype, "subtype", void 0);
833
+ __decorate([
834
+ Struct.field(UInt8)
835
+ ], item_def.prototype, "tier", void 0);
836
+ item_def = __decorate([
837
+ Struct.type('item_def')
838
+ ], item_def);
839
+ Types.item_def = item_def;
840
+ let game_config = class game_config extends Struct {
841
+ };
842
+ __decorate([
843
+ Struct.field(UInt32)
844
+ ], game_config.prototype, "version", void 0);
845
+ __decorate([
846
+ Struct.field(entity_defaults)
847
+ ], game_config.prototype, "defaults", void 0);
848
+ __decorate([
849
+ Struct.field(item_def, { array: true })
850
+ ], game_config.prototype, "items", void 0);
851
+ game_config = __decorate([
852
+ Struct.type('game_config')
853
+ ], game_config);
854
+ Types.game_config = game_config;
855
+ let configlog = class configlog extends Struct {
856
+ };
857
+ __decorate([
858
+ Struct.field(game_config)
859
+ ], configlog.prototype, "config", void 0);
860
+ configlog = __decorate([
861
+ Struct.type('configlog')
862
+ ], configlog);
863
+ Types.configlog = configlog;
864
+ let coordinates = class coordinates extends Struct {
865
+ };
866
+ __decorate([
867
+ Struct.field(Int64)
868
+ ], coordinates.prototype, "x", void 0);
869
+ __decorate([
870
+ Struct.field(Int64)
871
+ ], coordinates.prototype, "y", void 0);
872
+ __decorate([
873
+ Struct.field(UInt16, { optional: true })
874
+ ], coordinates.prototype, "z", void 0);
875
+ coordinates = __decorate([
876
+ Struct.type('coordinates')
877
+ ], coordinates);
878
+ Types.coordinates = coordinates;
879
+ let craft = class craft extends Struct {
880
+ };
881
+ __decorate([
882
+ Struct.field(UInt64)
883
+ ], craft.prototype, "id", void 0);
884
+ __decorate([
885
+ Struct.field(UInt16)
886
+ ], craft.prototype, "recipe_id", void 0);
887
+ __decorate([
888
+ Struct.field(UInt32)
889
+ ], craft.prototype, "quantity", void 0);
890
+ __decorate([
891
+ Struct.field(cargo_item, { array: true })
892
+ ], craft.prototype, "inputs", void 0);
893
+ __decorate([
894
+ Struct.field(UInt64, { optional: true })
895
+ ], craft.prototype, "target", void 0);
896
+ __decorate([
897
+ Struct.field(UInt8, { optional: true })
898
+ ], craft.prototype, "slot", void 0);
899
+ craft = __decorate([
900
+ Struct.type('craft')
901
+ ], craft);
902
+ Types.craft = craft;
903
+ let crafter_lane = class crafter_lane extends Struct {
904
+ };
905
+ __decorate([
906
+ Struct.field(UInt8)
907
+ ], crafter_lane.prototype, "slot_index", void 0);
908
+ __decorate([
909
+ Struct.field(UInt16)
910
+ ], crafter_lane.prototype, "speed", void 0);
911
+ __decorate([
912
+ Struct.field(UInt32)
913
+ ], crafter_lane.prototype, "drain", void 0);
914
+ __decorate([
915
+ Struct.field(UInt16)
916
+ ], crafter_lane.prototype, "output_pct", void 0);
917
+ crafter_lane = __decorate([
918
+ Struct.type('crafter_lane')
919
+ ], crafter_lane);
920
+ Types.crafter_lane = crafter_lane;
921
+ let demolish = class demolish extends Struct {
922
+ };
923
+ __decorate([
924
+ Struct.field(UInt64)
925
+ ], demolish.prototype, "entity_id", void 0);
926
+ demolish = __decorate([
927
+ Struct.type('demolish')
928
+ ], demolish);
929
+ Types.demolish = demolish;
930
+ let deploy = class deploy extends Struct {
931
+ };
932
+ __decorate([
933
+ Struct.field(UInt64)
934
+ ], deploy.prototype, "id", void 0);
935
+ __decorate([
936
+ Struct.field(cargo_ref)
937
+ ], deploy.prototype, "ref", void 0);
938
+ __decorate([
939
+ Struct.field(cluster_slot, { optional: true })
940
+ ], deploy.prototype, "slot", void 0);
941
+ deploy = __decorate([
942
+ Struct.type('deploy')
943
+ ], deploy);
944
+ Types.deploy = deploy;
945
+ let descentity = class descentity extends Struct {
946
+ };
947
+ __decorate([
948
+ Struct.field(UInt16)
949
+ ], descentity.prototype, "item_id", void 0);
950
+ __decorate([
951
+ Struct.field(UInt64)
952
+ ], descentity.prototype, "hull_stats", void 0);
953
+ __decorate([
954
+ Struct.field(UInt16, { array: true })
955
+ ], descentity.prototype, "module_items", void 0);
956
+ __decorate([
957
+ Struct.field(UInt64, { array: true })
958
+ ], descentity.prototype, "module_stats", void 0);
959
+ descentity = __decorate([
960
+ Struct.type('descentity')
961
+ ], descentity);
962
+ Types.descentity = descentity;
963
+ let enable = class enable extends Struct {
964
+ };
965
+ __decorate([
966
+ Struct.field('bool')
967
+ ], enable.prototype, "enabled", void 0);
968
+ enable = __decorate([
969
+ Struct.type('enable')
970
+ ], enable);
971
+ Types.enable = enable;
972
+ let energy_stats = class energy_stats extends Struct {
973
+ };
974
+ __decorate([
975
+ Struct.field(UInt32)
976
+ ], energy_stats.prototype, "capacity", void 0);
977
+ __decorate([
978
+ Struct.field(UInt32)
979
+ ], energy_stats.prototype, "recharge", void 0);
980
+ energy_stats = __decorate([
981
+ Struct.type('energy_stats')
982
+ ], energy_stats);
983
+ Types.energy_stats = energy_stats;
984
+ let entity_current_state = class entity_current_state extends Struct {
985
+ };
986
+ __decorate([
987
+ Struct.field(coordinates)
988
+ ], entity_current_state.prototype, "coordinates", void 0);
989
+ __decorate([
990
+ Struct.field(UInt32)
991
+ ], entity_current_state.prototype, "energy", void 0);
992
+ entity_current_state = __decorate([
993
+ Struct.type('entity_current_state')
994
+ ], entity_current_state);
995
+ Types.entity_current_state = entity_current_state;
996
+ let movement_stats = class movement_stats extends Struct {
997
+ };
998
+ __decorate([
999
+ Struct.field(UInt32)
1000
+ ], movement_stats.prototype, "thrust", void 0);
1001
+ __decorate([
1002
+ Struct.field(UInt32)
1003
+ ], movement_stats.prototype, "drain", void 0);
1004
+ movement_stats = __decorate([
1005
+ Struct.type('movement_stats')
1006
+ ], movement_stats);
1007
+ Types.movement_stats = movement_stats;
1008
+ let warp_stats = class warp_stats extends Struct {
1009
+ };
1010
+ __decorate([
1011
+ Struct.field(UInt32)
1012
+ ], warp_stats.prototype, "range", void 0);
1013
+ warp_stats = __decorate([
1014
+ Struct.type('warp_stats')
1015
+ ], warp_stats);
1016
+ Types.warp_stats = warp_stats;
1017
+ let hauler_tier_cap = class hauler_tier_cap extends Struct {
1018
+ };
1019
+ __decorate([
1020
+ Struct.field(UInt8)
1021
+ ], hauler_tier_cap.prototype, "tier", void 0);
1022
+ __decorate([
1023
+ Struct.field(UInt8)
1024
+ ], hauler_tier_cap.prototype, "capacity", void 0);
1025
+ hauler_tier_cap = __decorate([
1026
+ Struct.type('hauler_tier_cap')
1027
+ ], hauler_tier_cap);
1028
+ Types.hauler_tier_cap = hauler_tier_cap;
1029
+ let hauler_stats = class hauler_stats extends Struct {
1030
+ };
1031
+ __decorate([
1032
+ Struct.field(UInt8)
1033
+ ], hauler_stats.prototype, "capacity", void 0);
1034
+ __decorate([
1035
+ Struct.field(UInt16)
1036
+ ], hauler_stats.prototype, "efficiency", void 0);
1037
+ __decorate([
1038
+ Struct.field(UInt32)
1039
+ ], hauler_stats.prototype, "drain", void 0);
1040
+ __decorate([
1041
+ Struct.field(hauler_tier_cap, { array: true })
1042
+ ], hauler_stats.prototype, "capacity_by_tier", void 0);
1043
+ hauler_stats = __decorate([
1044
+ Struct.type('hauler_stats')
1045
+ ], hauler_stats);
1046
+ Types.hauler_stats = hauler_stats;
1047
+ let gatherer_lane = class gatherer_lane extends Struct {
1048
+ };
1049
+ __decorate([
1050
+ Struct.field(UInt8)
1051
+ ], gatherer_lane.prototype, "slot_index", void 0);
1052
+ __decorate([
1053
+ Struct.field(UInt16)
1054
+ ], gatherer_lane.prototype, "yield", void 0);
1055
+ __decorate([
1056
+ Struct.field(UInt32)
1057
+ ], gatherer_lane.prototype, "drain", void 0);
1058
+ __decorate([
1059
+ Struct.field(UInt16)
1060
+ ], gatherer_lane.prototype, "depth", void 0);
1061
+ __decorate([
1062
+ Struct.field(UInt16)
1063
+ ], gatherer_lane.prototype, "output_pct", void 0);
1064
+ gatherer_lane = __decorate([
1065
+ Struct.type('gatherer_lane')
1066
+ ], gatherer_lane);
1067
+ Types.gatherer_lane = gatherer_lane;
1068
+ let loader_lane = class loader_lane extends Struct {
1069
+ };
1070
+ __decorate([
1071
+ Struct.field(UInt8)
1072
+ ], loader_lane.prototype, "slot_index", void 0);
1073
+ __decorate([
1074
+ Struct.field(UInt32)
1075
+ ], loader_lane.prototype, "mass", void 0);
1076
+ __decorate([
1077
+ Struct.field(UInt16)
1078
+ ], loader_lane.prototype, "thrust", void 0);
1079
+ __decorate([
1080
+ Struct.field(UInt16)
1081
+ ], loader_lane.prototype, "output_pct", void 0);
1082
+ loader_lane = __decorate([
1083
+ Struct.type('loader_lane')
1084
+ ], loader_lane);
1085
+ Types.loader_lane = loader_lane;
1086
+ let launcher_stats = class launcher_stats extends Struct {
1087
+ };
1088
+ __decorate([
1089
+ Struct.field(UInt16)
1090
+ ], launcher_stats.prototype, "charge_rate", void 0);
1091
+ __decorate([
1092
+ Struct.field(UInt16)
1093
+ ], launcher_stats.prototype, "velocity", void 0);
1094
+ __decorate([
1095
+ Struct.field(UInt16)
1096
+ ], launcher_stats.prototype, "drain", void 0);
1097
+ launcher_stats = __decorate([
1098
+ Struct.type('launcher_stats')
1099
+ ], launcher_stats);
1100
+ Types.launcher_stats = launcher_stats;
1101
+ let task = class task extends Struct {
1102
+ };
1103
+ __decorate([
1104
+ Struct.field(UInt8)
1105
+ ], task.prototype, "type", void 0);
1106
+ __decorate([
1107
+ Struct.field(UInt32)
1108
+ ], task.prototype, "duration", void 0);
1109
+ __decorate([
1110
+ Struct.field(UInt8)
1111
+ ], task.prototype, "cancelable", void 0);
1112
+ __decorate([
1113
+ Struct.field(coordinates, { optional: true })
1114
+ ], task.prototype, "coordinates", void 0);
1115
+ __decorate([
1116
+ Struct.field(cargo_item, { array: true })
1117
+ ], task.prototype, "cargo", void 0);
1118
+ __decorate([
1119
+ Struct.field(entity_ref, { optional: true })
1120
+ ], task.prototype, "entitytarget", void 0);
1121
+ __decorate([
1122
+ Struct.field(UInt64, { optional: true })
1123
+ ], task.prototype, "entitygroup", void 0);
1124
+ __decorate([
1125
+ Struct.field(UInt32, { optional: true })
1126
+ ], task.prototype, "energy_cost", void 0);
1127
+ __decorate([
1128
+ Struct.field(UInt64, { optional: true })
1129
+ ], task.prototype, "hold", void 0);
1130
+ __decorate([
1131
+ Struct.field(UInt16, { optional: true })
1132
+ ], task.prototype, "target_item_id", void 0);
1133
+ task = __decorate([
1134
+ Struct.type('task')
1135
+ ], task);
1136
+ Types.task = task;
1137
+ let schedule = class schedule extends Struct {
1138
+ };
1139
+ __decorate([
1140
+ Struct.field(TimePoint)
1141
+ ], schedule.prototype, "started", void 0);
1142
+ __decorate([
1143
+ Struct.field(task, { array: true })
1144
+ ], schedule.prototype, "tasks", void 0);
1145
+ schedule = __decorate([
1146
+ Struct.type('schedule')
1147
+ ], schedule);
1148
+ Types.schedule = schedule;
1149
+ let lane = class lane extends Struct {
1150
+ };
1151
+ __decorate([
1152
+ Struct.field(UInt8)
1153
+ ], lane.prototype, "lane_key", void 0);
1154
+ __decorate([
1155
+ Struct.field(schedule)
1156
+ ], lane.prototype, "schedule", void 0);
1157
+ lane = __decorate([
1158
+ Struct.type('lane')
1159
+ ], lane);
1160
+ Types.lane = lane;
1161
+ let hold = class hold extends Struct {
1162
+ };
1163
+ __decorate([
1164
+ Struct.field(UInt64)
1165
+ ], hold.prototype, "id", void 0);
1166
+ __decorate([
1167
+ Struct.field(UInt8)
1168
+ ], hold.prototype, "kind", void 0);
1169
+ __decorate([
1170
+ Struct.field(entity_ref)
1171
+ ], hold.prototype, "counterpart", void 0);
1172
+ __decorate([
1173
+ Struct.field(TimePoint)
1174
+ ], hold.prototype, "until", void 0);
1175
+ __decorate([
1176
+ Struct.field(UInt32)
1177
+ ], hold.prototype, "incoming_mass", void 0);
1178
+ hold = __decorate([
1179
+ Struct.type('hold')
1180
+ ], hold);
1181
+ Types.hold = hold;
1182
+ let entity_info = class entity_info extends Struct {
1183
+ };
1184
+ __decorate([
1185
+ Struct.field(Name)
1186
+ ], entity_info.prototype, "type", void 0);
1187
+ __decorate([
1188
+ Struct.field(UInt64)
1189
+ ], entity_info.prototype, "id", void 0);
1190
+ __decorate([
1191
+ Struct.field(Name)
1192
+ ], entity_info.prototype, "owner", void 0);
1193
+ __decorate([
1194
+ Struct.field('string')
1195
+ ], entity_info.prototype, "entity_name", void 0);
1196
+ __decorate([
1197
+ Struct.field(coordinates)
1198
+ ], entity_info.prototype, "coordinates", void 0);
1199
+ __decorate([
1200
+ Struct.field(UInt16)
1201
+ ], entity_info.prototype, "item_id", void 0);
1202
+ __decorate([
1203
+ Struct.field(UInt32)
1204
+ ], entity_info.prototype, "cargomass", void 0);
1205
+ __decorate([
1206
+ Struct.field(cargo_view, { array: true })
1207
+ ], entity_info.prototype, "cargo", void 0);
1208
+ __decorate([
1209
+ Struct.field(module_entry, { array: true })
1210
+ ], entity_info.prototype, "modules", void 0);
1211
+ __decorate([
1212
+ Struct.field(UInt32, { optional: true })
1213
+ ], entity_info.prototype, "energy", void 0);
1214
+ __decorate([
1215
+ Struct.field(UInt32, { optional: true })
1216
+ ], entity_info.prototype, "hullmass", void 0);
1217
+ __decorate([
1218
+ Struct.field(UInt32, { optional: true })
1219
+ ], entity_info.prototype, "capacity", void 0);
1220
+ __decorate([
1221
+ Struct.field(movement_stats, { optional: true })
1222
+ ], entity_info.prototype, "engines", void 0);
1223
+ __decorate([
1224
+ Struct.field(warp_stats, { optional: true })
1225
+ ], entity_info.prototype, "warp", void 0);
1226
+ __decorate([
1227
+ Struct.field(energy_stats, { optional: true })
1228
+ ], entity_info.prototype, "generator", void 0);
1229
+ __decorate([
1230
+ Struct.field(hauler_stats, { optional: true })
1231
+ ], entity_info.prototype, "hauler", void 0);
1232
+ __decorate([
1233
+ Struct.field(gatherer_lane, { array: true })
1234
+ ], entity_info.prototype, "gatherer_lanes", void 0);
1235
+ __decorate([
1236
+ Struct.field(crafter_lane, { array: true })
1237
+ ], entity_info.prototype, "crafter_lanes", void 0);
1238
+ __decorate([
1239
+ Struct.field(loader_lane, { array: true })
1240
+ ], entity_info.prototype, "loader_lanes", void 0);
1241
+ __decorate([
1242
+ Struct.field(launcher_stats, { optional: true })
1243
+ ], entity_info.prototype, "launcher", void 0);
1244
+ __decorate([
1245
+ Struct.field(lane, { array: true })
1246
+ ], entity_info.prototype, "lanes", void 0);
1247
+ __decorate([
1248
+ Struct.field(hold, { array: true })
1249
+ ], entity_info.prototype, "holds", void 0);
1250
+ entity_info = __decorate([
1251
+ Struct.type('entity_info')
1252
+ ], entity_info);
1253
+ Types.entity_info = entity_info;
1254
+ let slot_def = class slot_def extends Struct {
1255
+ };
1256
+ __decorate([
1257
+ Struct.field(UInt8)
1258
+ ], slot_def.prototype, "type", void 0);
1259
+ __decorate([
1260
+ Struct.field(UInt16)
1261
+ ], slot_def.prototype, "output_pct", void 0);
1262
+ __decorate([
1263
+ Struct.field(UInt8)
1264
+ ], slot_def.prototype, "max_tier", void 0);
1265
+ slot_def = __decorate([
1266
+ Struct.type('slot_def')
1267
+ ], slot_def);
1268
+ Types.slot_def = slot_def;
1269
+ let entity_layout = class entity_layout extends Struct {
1270
+ };
1271
+ __decorate([
1272
+ Struct.field(UInt16)
1273
+ ], entity_layout.prototype, "entity_item_id", void 0);
1274
+ __decorate([
1275
+ Struct.field(slot_def, { array: true })
1276
+ ], entity_layout.prototype, "slots", void 0);
1277
+ entity_layout = __decorate([
1278
+ Struct.type('entity_layout')
1279
+ ], entity_layout);
1280
+ Types.entity_layout = entity_layout;
1281
+ let entity_layouts_result = class entity_layouts_result extends Struct {
1282
+ };
1283
+ __decorate([
1284
+ Struct.field(entity_layout, { array: true })
1285
+ ], entity_layouts_result.prototype, "entities", void 0);
1286
+ entity_layouts_result = __decorate([
1287
+ Struct.type('entity_layouts_result')
1288
+ ], entity_layouts_result);
1289
+ Types.entity_layouts_result = entity_layouts_result;
1290
+ let entity_row = class entity_row extends Struct {
1291
+ };
1292
+ __decorate([
1293
+ Struct.field(UInt64)
1294
+ ], entity_row.prototype, "id", void 0);
1295
+ __decorate([
1296
+ Struct.field(Name)
1297
+ ], entity_row.prototype, "owner", void 0);
1298
+ __decorate([
1299
+ Struct.field(Name)
1300
+ ], entity_row.prototype, "kind", void 0);
1301
+ __decorate([
1302
+ Struct.field(UInt16)
1303
+ ], entity_row.prototype, "item_id", void 0);
1304
+ __decorate([
1305
+ Struct.field('string')
1306
+ ], entity_row.prototype, "name", void 0);
1307
+ __decorate([
1308
+ Struct.field(UInt64)
1309
+ ], entity_row.prototype, "stats", void 0);
1310
+ __decorate([
1311
+ Struct.field(coordinates)
1312
+ ], entity_row.prototype, "coordinates", void 0);
1313
+ __decorate([
1314
+ Struct.field(UInt32, { optional: true })
1315
+ ], entity_row.prototype, "energy", void 0);
1316
+ __decorate([
1317
+ Struct.field(UInt32)
1318
+ ], entity_row.prototype, "cargomass", void 0);
1319
+ __decorate([
1320
+ Struct.field(module_entry, { array: true })
1321
+ ], entity_row.prototype, "modules", void 0);
1322
+ __decorate([
1323
+ Struct.field(lane, { array: true })
1324
+ ], entity_row.prototype, "lanes", void 0);
1325
+ __decorate([
1326
+ Struct.field(hold, { array: true })
1327
+ ], entity_row.prototype, "holds", void 0);
1328
+ entity_row = __decorate([
1329
+ Struct.type('entity_row')
1330
+ ], entity_row);
1331
+ Types.entity_row = entity_row;
1332
+ let entity_seq_row = class entity_seq_row extends Struct {
1333
+ };
1334
+ __decorate([
1335
+ Struct.field(UInt64)
1336
+ ], entity_seq_row.prototype, "next_id", void 0);
1337
+ entity_seq_row = __decorate([
1338
+ Struct.type('entity_seq_row')
1339
+ ], entity_seq_row);
1340
+ Types.entity_seq_row = entity_seq_row;
1341
+ let entity_summary = class entity_summary extends Struct {
1342
+ };
1343
+ __decorate([
1344
+ Struct.field(Name)
1345
+ ], entity_summary.prototype, "type", void 0);
1346
+ __decorate([
1347
+ Struct.field(UInt64)
1348
+ ], entity_summary.prototype, "id", void 0);
1349
+ __decorate([
1350
+ Struct.field(Name)
1351
+ ], entity_summary.prototype, "owner", void 0);
1352
+ __decorate([
1353
+ Struct.field('string')
1354
+ ], entity_summary.prototype, "entity_name", void 0);
1355
+ __decorate([
1356
+ Struct.field(coordinates)
1357
+ ], entity_summary.prototype, "coordinates", void 0);
1358
+ __decorate([
1359
+ Struct.field('bool')
1360
+ ], entity_summary.prototype, "is_idle", void 0);
1361
+ __decorate([
1362
+ Struct.field(UInt32)
1363
+ ], entity_summary.prototype, "resolved_count", void 0);
1364
+ __decorate([
1365
+ Struct.field(UInt32)
1366
+ ], entity_summary.prototype, "pending_count", void 0);
1367
+ entity_summary = __decorate([
1368
+ Struct.type('entity_summary')
1369
+ ], entity_summary);
1370
+ Types.entity_summary = entity_summary;
1371
+ let entity_task_info = class entity_task_info extends Struct {
1372
+ };
1373
+ __decorate([
1374
+ Struct.field(UInt64)
1375
+ ], entity_task_info.prototype, "entity_id", void 0);
1376
+ __decorate([
1377
+ Struct.field(Name)
1378
+ ], entity_task_info.prototype, "entity_type", void 0);
1379
+ __decorate([
1380
+ Struct.field(UInt8)
1381
+ ], entity_task_info.prototype, "task_count", void 0);
1382
+ __decorate([
1383
+ Struct.field(TimePoint)
1384
+ ], entity_task_info.prototype, "schedule_started", void 0);
1385
+ entity_task_info = __decorate([
1386
+ Struct.type('entity_task_info')
1387
+ ], entity_task_info);
1388
+ Types.entity_task_info = entity_task_info;
1389
+ let entitygroup_row = class entitygroup_row extends Struct {
1390
+ };
1391
+ __decorate([
1392
+ Struct.field(UInt64)
1393
+ ], entitygroup_row.prototype, "id", void 0);
1394
+ __decorate([
1395
+ Struct.field(entity_ref, { array: true })
1396
+ ], entitygroup_row.prototype, "participants", void 0);
1397
+ entitygroup_row = __decorate([
1398
+ Struct.type('entitygroup_row')
1399
+ ], entitygroup_row);
1400
+ Types.entitygroup_row = entitygroup_row;
1401
+ let enum_member = class enum_member extends Struct {
1402
+ };
1403
+ __decorate([
1404
+ Struct.field(UInt8)
1405
+ ], enum_member.prototype, "value", void 0);
1406
+ __decorate([
1407
+ Struct.field('string')
1408
+ ], enum_member.prototype, "name", void 0);
1409
+ enum_member = __decorate([
1410
+ Struct.type('enum_member')
1411
+ ], enum_member);
1412
+ Types.enum_member = enum_member;
1413
+ let enum_result = class enum_result extends Struct {
1414
+ };
1415
+ __decorate([
1416
+ Struct.field(enum_member, { array: true })
1417
+ ], enum_result.prototype, "members", void 0);
1418
+ enum_result = __decorate([
1419
+ Struct.type('enum_result')
1420
+ ], enum_result);
1421
+ Types.enum_result = enum_result;
1422
+ let epoch_row = class epoch_row extends Struct {
1423
+ };
1424
+ __decorate([
1425
+ Struct.field(UInt64)
1426
+ ], epoch_row.prototype, "epoch", void 0);
1427
+ __decorate([
1428
+ Struct.field(Name, { array: true })
1429
+ ], epoch_row.prototype, "oracle_ids", void 0);
1430
+ __decorate([
1431
+ Struct.field(UInt8)
1432
+ ], epoch_row.prototype, "threshold", void 0);
1433
+ __decorate([
1434
+ Struct.field(Checksum256)
1435
+ ], epoch_row.prototype, "seed", void 0);
1436
+ epoch_row = __decorate([
1437
+ Struct.type('epoch_row')
1438
+ ], epoch_row);
1439
+ Types.epoch_row = epoch_row;
1440
+ let fixcargomass = class fixcargomass extends Struct {
1441
+ };
1442
+ __decorate([
1443
+ Struct.field(UInt64)
1444
+ ], fixcargomass.prototype, "entity_id", void 0);
1445
+ fixcargomass = __decorate([
1446
+ Struct.type('fixcargomass')
1447
+ ], fixcargomass);
1448
+ Types.fixcargomass = fixcargomass;
1449
+ let grid_cell = class grid_cell extends Struct {
1450
+ };
1451
+ __decorate([
1452
+ Struct.field(Int8)
1453
+ ], grid_cell.prototype, "gx", void 0);
1454
+ __decorate([
1455
+ Struct.field(Int8)
1456
+ ], grid_cell.prototype, "gy", void 0);
1457
+ grid_cell = __decorate([
1458
+ Struct.type('grid_cell')
1459
+ ], grid_cell);
1460
+ Types.grid_cell = grid_cell;
1461
+ let footprint_result = class footprint_result extends Struct {
1462
+ };
1463
+ __decorate([
1464
+ Struct.field(grid_cell, { array: true })
1465
+ ], footprint_result.prototype, "cells", void 0);
1466
+ footprint_result = __decorate([
1467
+ Struct.type('footprint_result')
1468
+ ], footprint_result);
1469
+ Types.footprint_result = footprint_result;
1470
+ let forcereveal = class forcereveal extends Struct {
1471
+ };
1472
+ __decorate([
1473
+ Struct.field(UInt64)
1474
+ ], forcereveal.prototype, "epoch", void 0);
1475
+ forcereveal = __decorate([
1476
+ Struct.type('forcereveal')
1477
+ ], forcereveal);
1478
+ Types.forcereveal = forcereveal;
1479
+ let gather = class gather extends Struct {
1480
+ };
1481
+ __decorate([
1482
+ Struct.field(UInt64)
1483
+ ], gather.prototype, "source_id", void 0);
1484
+ __decorate([
1485
+ Struct.field(UInt64)
1486
+ ], gather.prototype, "destination_id", void 0);
1487
+ __decorate([
1488
+ Struct.field(UInt16)
1489
+ ], gather.prototype, "stratum", void 0);
1490
+ __decorate([
1491
+ Struct.field(UInt32)
1492
+ ], gather.prototype, "quantity", void 0);
1493
+ __decorate([
1494
+ Struct.field(UInt8, { optional: true })
1495
+ ], gather.prototype, "slot", void 0);
1496
+ gather = __decorate([
1497
+ Struct.type('gather')
1498
+ ], gather);
1499
+ Types.gather = gather;
1500
+ let genesisfleet = class genesisfleet extends Struct {
1501
+ };
1502
+ __decorate([
1503
+ Struct.field(entity_row, { array: true })
1504
+ ], genesisfleet.prototype, "entities", void 0);
1505
+ genesisfleet = __decorate([
1506
+ Struct.type('genesisfleet')
1507
+ ], genesisfleet);
1508
+ Types.genesisfleet = genesisfleet;
1509
+ let getcluster = class getcluster extends Struct {
1510
+ };
1511
+ __decorate([
1512
+ Struct.field(UInt64)
1513
+ ], getcluster.prototype, "hub_id", void 0);
1514
+ getcluster = __decorate([
1515
+ Struct.type('getcluster')
1516
+ ], getcluster);
1517
+ Types.getcluster = getcluster;
1518
+ let getconfig = class getconfig extends Struct {
1519
+ };
1520
+ getconfig = __decorate([
1521
+ Struct.type('getconfig')
1522
+ ], getconfig);
1523
+ Types.getconfig = getconfig;
1524
+ let getdeposit = class getdeposit extends Struct {
1525
+ };
1526
+ __decorate([
1527
+ Struct.field(Name)
1528
+ ], getdeposit.prototype, "owner", void 0);
1529
+ __decorate([
1530
+ Struct.field(UInt64)
1531
+ ], getdeposit.prototype, "asset_id", void 0);
1532
+ getdeposit = __decorate([
1533
+ Struct.type('getdeposit')
1534
+ ], getdeposit);
1535
+ Types.getdeposit = getdeposit;
1536
+ let getdistance = class getdistance extends Struct {
1537
+ };
1538
+ __decorate([
1539
+ Struct.field(Int64)
1540
+ ], getdistance.prototype, "ax", void 0);
1541
+ __decorate([
1542
+ Struct.field(Int64)
1543
+ ], getdistance.prototype, "ay", void 0);
1544
+ __decorate([
1545
+ Struct.field(Int64)
1546
+ ], getdistance.prototype, "bx", void 0);
1547
+ __decorate([
1548
+ Struct.field(Int64)
1549
+ ], getdistance.prototype, "by", void 0);
1550
+ getdistance = __decorate([
1551
+ Struct.type('getdistance')
1552
+ ], getdistance);
1553
+ Types.getdistance = getdistance;
1554
+ let geteligible = class geteligible extends Struct {
1555
+ };
1556
+ __decorate([
1557
+ Struct.field(coordinates)
1558
+ ], geteligible.prototype, "coords", void 0);
1559
+ __decorate([
1560
+ Struct.field(UInt16)
1561
+ ], geteligible.prototype, "stratum", void 0);
1562
+ geteligible = __decorate([
1563
+ Struct.type('geteligible')
1564
+ ], geteligible);
1565
+ Types.geteligible = geteligible;
1566
+ let getentcls = class getentcls extends Struct {
1567
+ };
1568
+ getentcls = __decorate([
1569
+ Struct.type('getentcls')
1570
+ ], getentcls);
1571
+ Types.getentcls = getentcls;
1572
+ let getentities = class getentities extends Struct {
1573
+ };
1574
+ __decorate([
1575
+ Struct.field(Name)
1576
+ ], getentities.prototype, "owner", void 0);
1577
+ __decorate([
1578
+ Struct.field(Name, { optional: true })
1579
+ ], getentities.prototype, "entity_type", void 0);
1580
+ getentities = __decorate([
1581
+ Struct.type('getentities')
1582
+ ], getentities);
1583
+ Types.getentities = getentities;
1584
+ let getentity = class getentity extends Struct {
1585
+ };
1586
+ __decorate([
1587
+ Struct.field(UInt64)
1588
+ ], getentity.prototype, "entity_id", void 0);
1589
+ getentity = __decorate([
1590
+ Struct.type('getentity')
1591
+ ], getentity);
1592
+ Types.getentity = getentity;
1593
+ let getfootprint = class getfootprint extends Struct {
1594
+ };
1595
+ __decorate([
1596
+ Struct.field(UInt16)
1597
+ ], getfootprint.prototype, "item_id", void 0);
1598
+ getfootprint = __decorate([
1599
+ Struct.type('getfootprint')
1600
+ ], getfootprint);
1601
+ Types.getfootprint = getfootprint;
1602
+ let getitemdata = class getitemdata extends Struct {
1603
+ };
1604
+ getitemdata = __decorate([
1605
+ Struct.type('getitemdata')
1606
+ ], getitemdata);
1607
+ Types.getitemdata = getitemdata;
1608
+ let getitemids = class getitemids extends Struct {
1609
+ };
1610
+ getitemids = __decorate([
1611
+ Struct.type('getitemids')
1612
+ ], getitemids);
1613
+ Types.getitemids = getitemids;
1614
+ let getitems = class getitems extends Struct {
1615
+ };
1616
+ getitems = __decorate([
1617
+ Struct.type('getitems')
1618
+ ], getitems);
1619
+ Types.getitems = getitems;
1620
+ let getitemtype = class getitemtype extends Struct {
1621
+ };
1622
+ __decorate([
1623
+ Struct.field(UInt16)
1624
+ ], getitemtype.prototype, "item_id", void 0);
1625
+ getitemtype = __decorate([
1626
+ Struct.type('getitemtype')
1627
+ ], getitemtype);
1628
+ Types.getitemtype = getitemtype;
1629
+ let getitemtypes = class getitemtypes extends Struct {
1630
+ };
1631
+ getitemtypes = __decorate([
1632
+ Struct.type('getitemtypes')
1633
+ ], getitemtypes);
1634
+ Types.getitemtypes = getitemtypes;
1635
+ let getkindmeta = class getkindmeta extends Struct {
1636
+ };
1637
+ getkindmeta = __decorate([
1638
+ Struct.type('getkindmeta')
1639
+ ], getkindmeta);
1640
+ Types.getkindmeta = getkindmeta;
1641
+ let getlocation = class getlocation extends Struct {
1642
+ };
1643
+ __decorate([
1644
+ Struct.field(Int64)
1645
+ ], getlocation.prototype, "x", void 0);
1646
+ __decorate([
1647
+ Struct.field(Int64)
1648
+ ], getlocation.prototype, "y", void 0);
1649
+ getlocation = __decorate([
1650
+ Struct.type('getlocation')
1651
+ ], getlocation);
1652
+ Types.getlocation = getlocation;
1653
+ let getlocdata = class getlocdata extends Struct {
1654
+ };
1655
+ __decorate([
1656
+ Struct.field(Int64)
1657
+ ], getlocdata.prototype, "x", void 0);
1658
+ __decorate([
1659
+ Struct.field(Int64)
1660
+ ], getlocdata.prototype, "y", void 0);
1661
+ getlocdata = __decorate([
1662
+ Struct.type('getlocdata')
1663
+ ], getlocdata);
1664
+ Types.getlocdata = getlocdata;
1665
+ let getmodtypes = class getmodtypes extends Struct {
1666
+ };
1667
+ getmodtypes = __decorate([
1668
+ Struct.type('getmodtypes')
1669
+ ], getmodtypes);
1670
+ Types.getmodtypes = getmodtypes;
1671
+ let getmodules = class getmodules extends Struct {
1672
+ };
1673
+ getmodules = __decorate([
1674
+ Struct.type('getmodules')
1675
+ ], getmodules);
1676
+ Types.getmodules = getmodules;
1677
+ let getnearby = class getnearby extends Struct {
1678
+ };
1679
+ __decorate([
1680
+ Struct.field(UInt64)
1681
+ ], getnearby.prototype, "entity_id", void 0);
1682
+ __decorate([
1683
+ Struct.field('bool')
1684
+ ], getnearby.prototype, "recharge", void 0);
1685
+ getnearby = __decorate([
1686
+ Struct.type('getnearby')
1687
+ ], getnearby);
1688
+ Types.getnearby = getnearby;
1689
+ let getnftbase = class getnftbase extends Struct {
1690
+ };
1691
+ getnftbase = __decorate([
1692
+ Struct.type('getnftbase')
1693
+ ], getnftbase);
1694
+ Types.getnftbase = getnftbase;
1695
+ let getnftinfo = class getnftinfo extends Struct {
1696
+ };
1697
+ getnftinfo = __decorate([
1698
+ Struct.type('getnftinfo')
1699
+ ], getnftinfo);
1700
+ Types.getnftinfo = getnftinfo;
1701
+ let getplayer = class getplayer extends Struct {
1702
+ };
1703
+ __decorate([
1704
+ Struct.field(Name)
1705
+ ], getplayer.prototype, "account", void 0);
1706
+ getplayer = __decorate([
1707
+ Struct.type('getplayer')
1708
+ ], getplayer);
1709
+ Types.getplayer = getplayer;
1710
+ let getprojstate = class getprojstate extends Struct {
1711
+ };
1712
+ __decorate([
1713
+ Struct.field(UInt64)
1714
+ ], getprojstate.prototype, "entity_id", void 0);
1715
+ __decorate([
1716
+ Struct.field(UInt8, { optional: true })
1717
+ ], getprojstate.prototype, "task_count", void 0);
1718
+ getprojstate = __decorate([
1719
+ Struct.type('getprojstate')
1720
+ ], getprojstate);
1721
+ Types.getprojstate = getprojstate;
1722
+ let getrecipe = class getrecipe extends Struct {
1723
+ };
1724
+ __decorate([
1725
+ Struct.field(UInt16)
1726
+ ], getrecipe.prototype, "output_item_id", void 0);
1727
+ getrecipe = __decorate([
1728
+ Struct.type('getrecipe')
1729
+ ], getrecipe);
1730
+ Types.getrecipe = getrecipe;
1731
+ let getrecipes = class getrecipes extends Struct {
1732
+ };
1733
+ __decorate([
1734
+ Struct.field(UInt16)
1735
+ ], getrecipes.prototype, "lower_bound", void 0);
1736
+ __decorate([
1737
+ Struct.field(UInt8)
1738
+ ], getrecipes.prototype, "limit", void 0);
1739
+ getrecipes = __decorate([
1740
+ Struct.type('getrecipes')
1741
+ ], getrecipes);
1742
+ Types.getrecipes = getrecipes;
1743
+ let getrescats = class getrescats extends Struct {
1744
+ };
1745
+ getrescats = __decorate([
1746
+ Struct.type('getrescats')
1747
+ ], getrescats);
1748
+ Types.getrescats = getrescats;
1749
+ let getreserves = class getreserves extends Struct {
1750
+ };
1751
+ __decorate([
1752
+ Struct.field(Int64)
1753
+ ], getreserves.prototype, "x", void 0);
1754
+ __decorate([
1755
+ Struct.field(Int64)
1756
+ ], getreserves.prototype, "y", void 0);
1757
+ getreserves = __decorate([
1758
+ Struct.type('getreserves')
1759
+ ], getreserves);
1760
+ Types.getreserves = getreserves;
1761
+ let getresources = class getresources extends Struct {
1762
+ };
1763
+ getresources = __decorate([
1764
+ Struct.type('getresources')
1765
+ ], getresources);
1766
+ Types.getresources = getresources;
1767
+ let getslots = class getslots extends Struct {
1768
+ };
1769
+ getslots = __decorate([
1770
+ Struct.type('getslots')
1771
+ ], getslots);
1772
+ Types.getslots = getslots;
1773
+ let getstratum = class getstratum extends Struct {
1774
+ };
1775
+ __decorate([
1776
+ Struct.field(Int64)
1777
+ ], getstratum.prototype, "x", void 0);
1778
+ __decorate([
1779
+ Struct.field(Int64)
1780
+ ], getstratum.prototype, "y", void 0);
1781
+ __decorate([
1782
+ Struct.field(UInt16)
1783
+ ], getstratum.prototype, "stratum", void 0);
1784
+ getstratum = __decorate([
1785
+ Struct.type('getstratum')
1786
+ ], getstratum);
1787
+ Types.getstratum = getstratum;
1788
+ let getsummaries = class getsummaries extends Struct {
1789
+ };
1790
+ __decorate([
1791
+ Struct.field(Name)
1792
+ ], getsummaries.prototype, "owner", void 0);
1793
+ __decorate([
1794
+ Struct.field(Name, { optional: true })
1795
+ ], getsummaries.prototype, "entity_type", void 0);
1796
+ getsummaries = __decorate([
1797
+ Struct.type('getsummaries')
1798
+ ], getsummaries);
1799
+ Types.getsummaries = getsummaries;
1800
+ let getwormhole = class getwormhole extends Struct {
1801
+ };
1802
+ __decorate([
1803
+ Struct.field(Int64)
1804
+ ], getwormhole.prototype, "x", void 0);
1805
+ __decorate([
1806
+ Struct.field(Int64)
1807
+ ], getwormhole.prototype, "y", void 0);
1808
+ getwormhole = __decorate([
1809
+ Struct.type('getwormhole')
1810
+ ], getwormhole);
1811
+ Types.getwormhole = getwormhole;
1812
+ let grouptransit = class grouptransit extends Struct {
1813
+ };
1814
+ __decorate([
1815
+ Struct.field(entity_ref, { array: true })
1816
+ ], grouptransit.prototype, "entities", void 0);
1817
+ __decorate([
1818
+ Struct.field(Int64)
1819
+ ], grouptransit.prototype, "ax", void 0);
1820
+ __decorate([
1821
+ Struct.field(Int64)
1822
+ ], grouptransit.prototype, "ay", void 0);
1823
+ __decorate([
1824
+ Struct.field(Int64)
1825
+ ], grouptransit.prototype, "bx", void 0);
1826
+ __decorate([
1827
+ Struct.field(Int64)
1828
+ ], grouptransit.prototype, "by", void 0);
1829
+ grouptransit = __decorate([
1830
+ Struct.type('grouptransit')
1831
+ ], grouptransit);
1832
+ Types.grouptransit = grouptransit;
1833
+ let grouptravel = class grouptravel extends Struct {
1834
+ };
1835
+ __decorate([
1836
+ Struct.field(entity_ref, { array: true })
1837
+ ], grouptravel.prototype, "entities", void 0);
1838
+ __decorate([
1839
+ Struct.field(Int64)
1840
+ ], grouptravel.prototype, "x", void 0);
1841
+ __decorate([
1842
+ Struct.field(Int64)
1843
+ ], grouptravel.prototype, "y", void 0);
1844
+ __decorate([
1845
+ Struct.field('bool')
1846
+ ], grouptravel.prototype, "recharge", void 0);
1847
+ grouptravel = __decorate([
1848
+ Struct.type('grouptravel')
1849
+ ], grouptravel);
1850
+ Types.grouptravel = grouptravel;
1851
+ let hash = class hash extends Struct {
1852
+ };
1853
+ __decorate([
1854
+ Struct.field('string')
1855
+ ], hash.prototype, "value", void 0);
1856
+ hash = __decorate([
1857
+ Struct.type('hash')
1858
+ ], hash);
1859
+ Types.hash = hash;
1860
+ let hash512 = class hash512 extends Struct {
1861
+ };
1862
+ __decorate([
1863
+ Struct.field('string')
1864
+ ], hash512.prototype, "value", void 0);
1865
+ hash512 = __decorate([
1866
+ Struct.type('hash512')
1867
+ ], hash512);
1868
+ Types.hash512 = hash512;
1869
+ let importcargo = class importcargo extends Struct {
1870
+ };
1871
+ __decorate([
1872
+ Struct.field(cargo_row)
1873
+ ], importcargo.prototype, "row", void 0);
1874
+ importcargo = __decorate([
1875
+ Struct.type('importcargo')
1876
+ ], importcargo);
1877
+ Types.importcargo = importcargo;
1878
+ let importentity = class importentity extends Struct {
1879
+ };
1880
+ __decorate([
1881
+ Struct.field(entity_row)
1882
+ ], importentity.prototype, "row", void 0);
1883
+ importentity = __decorate([
1884
+ Struct.type('importentity')
1885
+ ], importentity);
1886
+ Types.importentity = importentity;
1887
+ let importgroup = class importgroup extends Struct {
1888
+ };
1889
+ __decorate([
1890
+ Struct.field(entitygroup_row)
1891
+ ], importgroup.prototype, "row", void 0);
1892
+ importgroup = __decorate([
1893
+ Struct.type('importgroup')
1894
+ ], importgroup);
1895
+ Types.importgroup = importgroup;
1896
+ let importplayer = class importplayer extends Struct {
1897
+ };
1898
+ __decorate([
1899
+ Struct.field(Name)
1900
+ ], importplayer.prototype, "owner", void 0);
1901
+ importplayer = __decorate([
1902
+ Struct.type('importplayer')
1903
+ ], importplayer);
1904
+ Types.importplayer = importplayer;
1905
+ let reserve_row = class reserve_row extends Struct {
1906
+ };
1907
+ __decorate([
1908
+ Struct.field(UInt64)
1909
+ ], reserve_row.prototype, "id", void 0);
1910
+ __decorate([
1911
+ Struct.field(UInt64)
1912
+ ], reserve_row.prototype, "coord_id", void 0);
1913
+ __decorate([
1914
+ Struct.field(UInt16)
1915
+ ], reserve_row.prototype, "stratum", void 0);
1916
+ __decorate([
1917
+ Struct.field(UInt32)
1918
+ ], reserve_row.prototype, "remaining", void 0);
1919
+ __decorate([
1920
+ Struct.field(BlockTimestamp)
1921
+ ], reserve_row.prototype, "last_block", void 0);
1922
+ reserve_row = __decorate([
1923
+ Struct.type('reserve_row')
1924
+ ], reserve_row);
1925
+ Types.reserve_row = reserve_row;
1926
+ let importreserve = class importreserve extends Struct {
1927
+ };
1928
+ __decorate([
1929
+ Struct.field(UInt32)
1930
+ ], importreserve.prototype, "epoch_scope", void 0);
1931
+ __decorate([
1932
+ Struct.field(reserve_row)
1933
+ ], importreserve.prototype, "row", void 0);
1934
+ importreserve = __decorate([
1935
+ Struct.type('importreserve')
1936
+ ], importreserve);
1937
+ Types.importreserve = importreserve;
1938
+ let state_row = class state_row extends Struct {
1939
+ };
1940
+ __decorate([
1941
+ Struct.field('bool')
1942
+ ], state_row.prototype, "enabled", void 0);
1943
+ __decorate([
1944
+ Struct.field(UInt32)
1945
+ ], state_row.prototype, "epoch", void 0);
1946
+ __decorate([
1947
+ Struct.field(Checksum256)
1948
+ ], state_row.prototype, "seed", void 0);
1949
+ state_row = __decorate([
1950
+ Struct.type('state_row')
1951
+ ], state_row);
1952
+ Types.state_row = state_row;
1953
+ let importstate = class importstate extends Struct {
1954
+ };
1955
+ __decorate([
1956
+ Struct.field(state_row)
1957
+ ], importstate.prototype, "row", void 0);
1958
+ importstate = __decorate([
1959
+ Struct.type('importstate')
1960
+ ], importstate);
1961
+ Types.importstate = importstate;
1962
+ let item_id_pair = class item_id_pair extends Struct {
1963
+ };
1964
+ __decorate([
1965
+ Struct.field(UInt16)
1966
+ ], item_id_pair.prototype, "id", void 0);
1967
+ __decorate([
1968
+ Struct.field('string')
1969
+ ], item_id_pair.prototype, "name", void 0);
1970
+ item_id_pair = __decorate([
1971
+ Struct.type('item_id_pair')
1972
+ ], item_id_pair);
1973
+ Types.item_id_pair = item_id_pair;
1974
+ let item_ids_result = class item_ids_result extends Struct {
1975
+ };
1976
+ __decorate([
1977
+ Struct.field(item_id_pair, { array: true })
1978
+ ], item_ids_result.prototype, "items", void 0);
1979
+ item_ids_result = __decorate([
1980
+ Struct.type('item_ids_result')
1981
+ ], item_ids_result);
1982
+ Types.item_ids_result = item_ids_result;
1983
+ let recipe_input = class recipe_input extends Struct {
1984
+ };
1985
+ __decorate([
1986
+ Struct.field(UInt16)
1987
+ ], recipe_input.prototype, "item_id", void 0);
1988
+ __decorate([
1989
+ Struct.field(UInt32)
1990
+ ], recipe_input.prototype, "quantity", void 0);
1991
+ recipe_input = __decorate([
1992
+ Struct.type('recipe_input')
1993
+ ], recipe_input);
1994
+ Types.recipe_input = recipe_input;
1995
+ let stat_source = class stat_source extends Struct {
1996
+ };
1997
+ __decorate([
1998
+ Struct.field(UInt8)
1999
+ ], stat_source.prototype, "input_index", void 0);
2000
+ __decorate([
2001
+ Struct.field(UInt8)
2002
+ ], stat_source.prototype, "input_stat_index", void 0);
2003
+ stat_source = __decorate([
2004
+ Struct.type('stat_source')
2005
+ ], stat_source);
2006
+ Types.stat_source = stat_source;
2007
+ let stat_slot_response = class stat_slot_response extends Struct {
2008
+ };
2009
+ __decorate([
2010
+ Struct.field(stat_source, { array: true })
2011
+ ], stat_slot_response.prototype, "sources", void 0);
2012
+ stat_slot_response = __decorate([
2013
+ Struct.type('stat_slot_response')
2014
+ ], stat_slot_response);
2015
+ Types.stat_slot_response = stat_slot_response;
2016
+ let recipe_item_info = class recipe_item_info extends Struct {
2017
+ };
2018
+ __decorate([
2019
+ Struct.field(UInt16)
2020
+ ], recipe_item_info.prototype, "id", void 0);
2021
+ __decorate([
2022
+ Struct.field(UInt32)
2023
+ ], recipe_item_info.prototype, "mass", void 0);
2024
+ recipe_item_info = __decorate([
2025
+ Struct.type('recipe_item_info')
2026
+ ], recipe_item_info);
2027
+ Types.recipe_item_info = recipe_item_info;
2028
+ let recipe_response = class recipe_response extends Struct {
2029
+ };
2030
+ __decorate([
2031
+ Struct.field(UInt16)
2032
+ ], recipe_response.prototype, "output_item_id", void 0);
2033
+ __decorate([
2034
+ Struct.field(UInt32)
2035
+ ], recipe_response.prototype, "output_mass", void 0);
2036
+ __decorate([
2037
+ Struct.field(recipe_input, { array: true })
2038
+ ], recipe_response.prototype, "inputs", void 0);
2039
+ __decorate([
2040
+ Struct.field(stat_slot_response, { array: true })
2041
+ ], recipe_response.prototype, "stat_slots", void 0);
2042
+ __decorate([
2043
+ Struct.field(Bytes)
2044
+ ], recipe_response.prototype, "blend_weights", void 0);
2045
+ __decorate([
2046
+ Struct.field(recipe_item_info)
2047
+ ], recipe_response.prototype, "output_item", void 0);
2048
+ __decorate([
2049
+ Struct.field(recipe_item_info, { array: true })
2050
+ ], recipe_response.prototype, "input_items", void 0);
2051
+ __decorate([
2052
+ Struct.field(UInt16, { optional: true })
2053
+ ], recipe_response.prototype, "source_subclass", void 0);
2054
+ recipe_response = __decorate([
2055
+ Struct.type('recipe_response')
2056
+ ], recipe_response);
2057
+ Types.recipe_response = recipe_response;
2058
+ let recipes_result = class recipes_result extends Struct {
2059
+ };
2060
+ __decorate([
2061
+ Struct.field(recipe_response, { array: true })
2062
+ ], recipes_result.prototype, "recipes", void 0);
2063
+ recipes_result = __decorate([
2064
+ Struct.type('recipes_result')
2065
+ ], recipes_result);
2066
+ Types.recipes_result = recipes_result;
2067
+ let itemdata_result = class itemdata_result extends Struct {
2068
+ };
2069
+ __decorate([
2070
+ Struct.field(item_def, { array: true })
2071
+ ], itemdata_result.prototype, "items", void 0);
2072
+ __decorate([
2073
+ Struct.field(recipes_result)
2074
+ ], itemdata_result.prototype, "recipes", void 0);
2075
+ itemdata_result = __decorate([
2076
+ Struct.type('itemdata_result')
2077
+ ], itemdata_result);
2078
+ Types.itemdata_result = itemdata_result;
2079
+ let items_info = class items_info extends Struct {
2080
+ };
2081
+ __decorate([
2082
+ Struct.field(item_def, { array: true })
2083
+ ], items_info.prototype, "items", void 0);
2084
+ items_info = __decorate([
2085
+ Struct.type('items_info')
2086
+ ], items_info);
2087
+ Types.items_info = items_info;
2088
+ let join = class join extends Struct {
2089
+ };
2090
+ __decorate([
2091
+ Struct.field(Name)
2092
+ ], join.prototype, "account", void 0);
2093
+ join = __decorate([
2094
+ Struct.type('join')
2095
+ ], join);
2096
+ Types.join = join;
2097
+ let kind_meta_row = class kind_meta_row extends Struct {
2098
+ };
2099
+ __decorate([
2100
+ Struct.field(Name)
2101
+ ], kind_meta_row.prototype, "kind", void 0);
2102
+ __decorate([
2103
+ Struct.field(UInt8)
2104
+ ], kind_meta_row.prototype, "classification", void 0);
2105
+ __decorate([
2106
+ Struct.field(UInt8)
2107
+ ], kind_meta_row.prototype, "capability_flags", void 0);
2108
+ __decorate([
2109
+ Struct.field(UInt32)
2110
+ ], kind_meta_row.prototype, "z_coord", void 0);
2111
+ __decorate([
2112
+ Struct.field('string')
2113
+ ], kind_meta_row.prototype, "default_label", void 0);
2114
+ kind_meta_row = __decorate([
2115
+ Struct.type('kind_meta_row')
2116
+ ], kind_meta_row);
2117
+ Types.kind_meta_row = kind_meta_row;
2118
+ let template_meta_row = class template_meta_row extends Struct {
2119
+ };
2120
+ __decorate([
2121
+ Struct.field(UInt16)
2122
+ ], template_meta_row.prototype, "item_id", void 0);
2123
+ __decorate([
2124
+ Struct.field(Name)
2125
+ ], template_meta_row.prototype, "kind", void 0);
2126
+ __decorate([
2127
+ Struct.field('string')
2128
+ ], template_meta_row.prototype, "display_label", void 0);
2129
+ template_meta_row = __decorate([
2130
+ Struct.type('template_meta_row')
2131
+ ], template_meta_row);
2132
+ Types.template_meta_row = template_meta_row;
2133
+ let kind_meta_result = class kind_meta_result extends Struct {
2134
+ };
2135
+ __decorate([
2136
+ Struct.field(kind_meta_row, { array: true })
2137
+ ], kind_meta_result.prototype, "kinds", void 0);
2138
+ __decorate([
2139
+ Struct.field(template_meta_row, { array: true })
2140
+ ], kind_meta_result.prototype, "templates", void 0);
2141
+ kind_meta_result = __decorate([
2142
+ Struct.type('kind_meta_result')
2143
+ ], kind_meta_result);
2144
+ Types.kind_meta_result = kind_meta_result;
2145
+ let launch = class launch extends Struct {
2146
+ };
2147
+ __decorate([
2148
+ Struct.field(UInt64)
2149
+ ], launch.prototype, "launcher_id", void 0);
2150
+ __decorate([
2151
+ Struct.field(UInt64)
2152
+ ], launch.prototype, "catcher_id", void 0);
2153
+ __decorate([
2154
+ Struct.field(cargo_item, { array: true })
2155
+ ], launch.prototype, "items", void 0);
2156
+ launch = __decorate([
2157
+ Struct.type('launch')
2158
+ ], launch);
2159
+ Types.launch = launch;
2160
+ let load = class load extends Struct {
2161
+ };
2162
+ __decorate([
2163
+ Struct.field(UInt64)
2164
+ ], load.prototype, "id", void 0);
2165
+ __decorate([
2166
+ Struct.field(UInt64)
2167
+ ], load.prototype, "from_id", void 0);
2168
+ __decorate([
2169
+ Struct.field(cargo_item, { array: true })
2170
+ ], load.prototype, "items", void 0);
2171
+ load = __decorate([
2172
+ Struct.type('load')
2173
+ ], load);
2174
+ Types.load = load;
2175
+ let location_static = class location_static extends Struct {
2176
+ };
2177
+ __decorate([
2178
+ Struct.field(coordinates)
2179
+ ], location_static.prototype, "coords", void 0);
2180
+ __decorate([
2181
+ Struct.field(UInt8)
2182
+ ], location_static.prototype, "type", void 0);
2183
+ __decorate([
2184
+ Struct.field(UInt8)
2185
+ ], location_static.prototype, "subtype", void 0);
2186
+ __decorate([
2187
+ Struct.field(UInt8)
2188
+ ], location_static.prototype, "seed0", void 0);
2189
+ __decorate([
2190
+ Struct.field(UInt8)
2191
+ ], location_static.prototype, "seed1", void 0);
2192
+ location_static = __decorate([
2193
+ Struct.type('location_static')
2194
+ ], location_static);
2195
+ Types.location_static = location_static;
2196
+ let location_derived = class location_derived extends Struct {
2197
+ };
2198
+ __decorate([
2199
+ Struct.field(location_static)
2200
+ ], location_derived.prototype, "static_props", void 0);
2201
+ __decorate([
2202
+ Struct.field(UInt16)
2203
+ ], location_derived.prototype, "size", void 0);
2204
+ location_derived = __decorate([
2205
+ Struct.type('location_derived')
2206
+ ], location_derived);
2207
+ Types.location_derived = location_derived;
2208
+ let location_info = class location_info extends Struct {
2209
+ };
2210
+ __decorate([
2211
+ Struct.field(coordinates)
2212
+ ], location_info.prototype, "coords", void 0);
2213
+ __decorate([
2214
+ Struct.field('bool')
2215
+ ], location_info.prototype, "is_system", void 0);
2216
+ __decorate([
2217
+ Struct.field('bool')
2218
+ ], location_info.prototype, "is_wormhole", void 0);
2219
+ location_info = __decorate([
2220
+ Struct.type('location_info')
2221
+ ], location_info);
2222
+ Types.location_info = location_info;
2223
+ let module_info = class module_info extends Struct {
2224
+ };
2225
+ __decorate([
2226
+ Struct.field(UInt16)
2227
+ ], module_info.prototype, "id", void 0);
2228
+ __decorate([
2229
+ Struct.field(UInt32)
2230
+ ], module_info.prototype, "mass", void 0);
2231
+ __decorate([
2232
+ Struct.field(UInt8)
2233
+ ], module_info.prototype, "module_type", void 0);
2234
+ __decorate([
2235
+ Struct.field(UInt8)
2236
+ ], module_info.prototype, "tier", void 0);
2237
+ module_info = __decorate([
2238
+ Struct.type('module_info')
2239
+ ], module_info);
2240
+ Types.module_info = module_info;
2241
+ let modules_result = class modules_result extends Struct {
2242
+ };
2243
+ __decorate([
2244
+ Struct.field(module_info, { array: true })
2245
+ ], modules_result.prototype, "modules", void 0);
2246
+ modules_result = __decorate([
2247
+ Struct.type('modules_result')
2248
+ ], modules_result);
2249
+ Types.modules_result = modules_result;
2250
+ let movetile = class movetile extends Struct {
2251
+ };
2252
+ __decorate([
2253
+ Struct.field(UInt64)
2254
+ ], movetile.prototype, "hub_id", void 0);
2255
+ __decorate([
2256
+ Struct.field(Int8)
2257
+ ], movetile.prototype, "from_gx", void 0);
2258
+ __decorate([
2259
+ Struct.field(Int8)
2260
+ ], movetile.prototype, "from_gy", void 0);
2261
+ __decorate([
2262
+ Struct.field(Int8)
2263
+ ], movetile.prototype, "to_gx", void 0);
2264
+ __decorate([
2265
+ Struct.field(Int8)
2266
+ ], movetile.prototype, "to_gy", void 0);
2267
+ movetile = __decorate([
2268
+ Struct.type('movetile')
2269
+ ], movetile);
2270
+ Types.movetile = movetile;
2271
+ let nearby_system = class nearby_system extends Struct {
2272
+ };
2273
+ __decorate([
2274
+ Struct.field(UInt64)
2275
+ ], nearby_system.prototype, "distance", void 0);
2276
+ __decorate([
2277
+ Struct.field(UInt64)
2278
+ ], nearby_system.prototype, "energy_cost", void 0);
2279
+ __decorate([
2280
+ Struct.field(UInt32)
2281
+ ], nearby_system.prototype, "flight_time", void 0);
2282
+ __decorate([
2283
+ Struct.field(location_info)
2284
+ ], nearby_system.prototype, "location", void 0);
2285
+ nearby_system = __decorate([
2286
+ Struct.type('nearby_system')
2287
+ ], nearby_system);
2288
+ Types.nearby_system = nearby_system;
2289
+ let nearby_info = class nearby_info extends Struct {
2290
+ };
2291
+ __decorate([
2292
+ Struct.field('bool')
2293
+ ], nearby_info.prototype, "can_travel", void 0);
2294
+ __decorate([
2295
+ Struct.field(entity_current_state)
2296
+ ], nearby_info.prototype, "current", void 0);
2297
+ __decorate([
2298
+ Struct.field(entity_current_state)
2299
+ ], nearby_info.prototype, "projected", void 0);
2300
+ __decorate([
2301
+ Struct.field(UInt32)
2302
+ ], nearby_info.prototype, "max_energy", void 0);
2303
+ __decorate([
2304
+ Struct.field(nearby_system, { array: true })
2305
+ ], nearby_info.prototype, "systems", void 0);
2306
+ nearby_info = __decorate([
2307
+ Struct.type('nearby_info')
2308
+ ], nearby_info);
2309
+ Types.nearby_info = nearby_info;
2310
+ let nft_cargo_item = class nft_cargo_item extends Struct {
2311
+ };
2312
+ __decorate([
2313
+ Struct.field(UInt16)
2314
+ ], nft_cargo_item.prototype, "item_id", void 0);
2315
+ __decorate([
2316
+ Struct.field(UInt64)
2317
+ ], nft_cargo_item.prototype, "stats", void 0);
2318
+ __decorate([
2319
+ Struct.field(module_entry, { array: true })
2320
+ ], nft_cargo_item.prototype, "modules", void 0);
2321
+ __decorate([
2322
+ Struct.field(UInt32)
2323
+ ], nft_cargo_item.prototype, "quantity", void 0);
2324
+ nft_cargo_item = __decorate([
2325
+ Struct.type('nft_cargo_item')
2326
+ ], nft_cargo_item);
2327
+ Types.nft_cargo_item = nft_cargo_item;
2328
+ let nft_item_payload = class nft_item_payload extends Struct {
2329
+ };
2330
+ __decorate([
2331
+ Struct.field(nft_cargo_item)
2332
+ ], nft_item_payload.prototype, "item", void 0);
2333
+ __decorate([
2334
+ Struct.field(coordinates, { optional: true })
2335
+ ], nft_item_payload.prototype, "location", void 0);
2336
+ nft_item_payload = __decorate([
2337
+ Struct.type('nft_item_payload')
2338
+ ], nft_item_payload);
2339
+ Types.nft_item_payload = nft_item_payload;
2340
+ let schema_field = class schema_field extends Struct {
2341
+ };
2342
+ __decorate([
2343
+ Struct.field('string')
2344
+ ], schema_field.prototype, "name", void 0);
2345
+ __decorate([
2346
+ Struct.field('string')
2347
+ ], schema_field.prototype, "field_type", void 0);
2348
+ schema_field = __decorate([
2349
+ Struct.type('schema_field')
2350
+ ], schema_field);
2351
+ Types.schema_field = schema_field;
2352
+ let nft_schema_def = class nft_schema_def extends Struct {
2353
+ };
2354
+ __decorate([
2355
+ Struct.field(Name)
2356
+ ], nft_schema_def.prototype, "schema_name", void 0);
2357
+ __decorate([
2358
+ Struct.field(schema_field, { array: true })
2359
+ ], nft_schema_def.prototype, "fields", void 0);
2360
+ nft_schema_def = __decorate([
2361
+ Struct.type('nft_schema_def')
2362
+ ], nft_schema_def);
2363
+ Types.nft_schema_def = nft_schema_def;
2364
+ let nft_template_def = class nft_template_def extends Struct {
2365
+ };
2366
+ __decorate([
2367
+ Struct.field(UInt16)
2368
+ ], nft_template_def.prototype, "item_id", void 0);
2369
+ __decorate([
2370
+ Struct.field(Name)
2371
+ ], nft_template_def.prototype, "schema_name", void 0);
2372
+ __decorate([
2373
+ Struct.field(Int32)
2374
+ ], nft_template_def.prototype, "template_id", void 0);
2375
+ nft_template_def = __decorate([
2376
+ Struct.type('nft_template_def')
2377
+ ], nft_template_def);
2378
+ Types.nft_template_def = nft_template_def;
2379
+ let nftconfig_row = class nftconfig_row extends Struct {
2380
+ };
2381
+ __decorate([
2382
+ Struct.field(UInt16)
2383
+ ], nftconfig_row.prototype, "item_id", void 0);
2384
+ __decorate([
2385
+ Struct.field(Int32)
2386
+ ], nftconfig_row.prototype, "template_id", void 0);
2387
+ __decorate([
2388
+ Struct.field(Name)
2389
+ ], nftconfig_row.prototype, "schema_name", void 0);
2390
+ nftconfig_row = __decorate([
2391
+ Struct.type('nftconfig_row')
2392
+ ], nftconfig_row);
2393
+ Types.nftconfig_row = nftconfig_row;
2394
+ let nftimgurl = class nftimgurl extends Struct {
2395
+ };
2396
+ __decorate([
2397
+ Struct.field(cargo_item)
2398
+ ], nftimgurl.prototype, "item", void 0);
2399
+ __decorate([
2400
+ Struct.field(coordinates, { optional: true })
2401
+ ], nftimgurl.prototype, "location", void 0);
2402
+ nftimgurl = __decorate([
2403
+ Struct.type('nftimgurl')
2404
+ ], nftimgurl);
2405
+ Types.nftimgurl = nftimgurl;
2406
+ let nftinfo_result = class nftinfo_result extends Struct {
2407
+ };
2408
+ __decorate([
2409
+ Struct.field(nft_schema_def, { array: true })
2410
+ ], nftinfo_result.prototype, "schemas", void 0);
2411
+ __decorate([
2412
+ Struct.field(nft_template_def, { array: true })
2413
+ ], nftinfo_result.prototype, "templates", void 0);
2414
+ nftinfo_result = __decorate([
2415
+ Struct.type('nftinfo_result')
2416
+ ], nftinfo_result);
2417
+ Types.nftinfo_result = nftinfo_result;
2418
+ let task_event = class task_event extends Struct {
2419
+ };
2420
+ __decorate([
2421
+ Struct.field(UInt8)
2422
+ ], task_event.prototype, "event_type", void 0);
2423
+ __decorate([
2424
+ Struct.field(Name)
2425
+ ], task_event.prototype, "owner", void 0);
2426
+ __decorate([
2427
+ Struct.field(Name)
2428
+ ], task_event.prototype, "entity_type", void 0);
2429
+ __decorate([
2430
+ Struct.field(UInt64)
2431
+ ], task_event.prototype, "entity_id", void 0);
2432
+ __decorate([
2433
+ Struct.field(UInt32)
2434
+ ], task_event.prototype, "task_index", void 0);
2435
+ __decorate([
2436
+ Struct.field(task)
2437
+ ], task_event.prototype, "task", void 0);
2438
+ __decorate([
2439
+ Struct.field(TimePoint)
2440
+ ], task_event.prototype, "starts_at", void 0);
2441
+ __decorate([
2442
+ Struct.field(TimePoint)
2443
+ ], task_event.prototype, "completes_at", void 0);
2444
+ __decorate([
2445
+ Struct.field(UInt32, { optional: true })
2446
+ ], task_event.prototype, "new_energy", void 0);
2447
+ __decorate([
2448
+ Struct.field(UInt8)
2449
+ ], task_event.prototype, "lane_key", void 0);
2450
+ task_event = __decorate([
2451
+ Struct.type('task_event')
2452
+ ], task_event);
2453
+ Types.task_event = task_event;
2454
+ let notify = class notify extends Struct {
2455
+ };
2456
+ __decorate([
2457
+ Struct.field(task_event)
2458
+ ], notify.prototype, "event", void 0);
2459
+ notify = __decorate([
2460
+ Struct.type('notify')
2461
+ ], notify);
2462
+ Types.notify = notify;
2463
+ let oracle_config_row = class oracle_config_row extends Struct {
2464
+ };
2465
+ __decorate([
2466
+ Struct.field(UInt8)
2467
+ ], oracle_config_row.prototype, "threshold", void 0);
2468
+ oracle_config_row = __decorate([
2469
+ Struct.type('oracle_config_row')
2470
+ ], oracle_config_row);
2471
+ Types.oracle_config_row = oracle_config_row;
2472
+ let oracle_row = class oracle_row extends Struct {
2473
+ };
2474
+ __decorate([
2475
+ Struct.field(Name)
2476
+ ], oracle_row.prototype, "id", void 0);
2477
+ oracle_row = __decorate([
2478
+ Struct.type('oracle_row')
2479
+ ], oracle_row);
2480
+ Types.oracle_row = oracle_row;
2481
+ let placecargo = class placecargo extends Struct {
2482
+ };
2483
+ __decorate([
2484
+ Struct.field(Name)
2485
+ ], placecargo.prototype, "owner", void 0);
2486
+ __decorate([
2487
+ Struct.field(UInt64)
2488
+ ], placecargo.prototype, "host_id", void 0);
2489
+ __decorate([
2490
+ Struct.field(UInt64)
2491
+ ], placecargo.prototype, "asset_id", void 0);
2492
+ placecargo = __decorate([
2493
+ Struct.type('placecargo')
2494
+ ], placecargo);
2495
+ Types.placecargo = placecargo;
2496
+ let placeentity = class placeentity extends Struct {
2497
+ };
2498
+ __decorate([
2499
+ Struct.field(Name)
2500
+ ], placeentity.prototype, "owner", void 0);
2501
+ __decorate([
2502
+ Struct.field(UInt64)
2503
+ ], placeentity.prototype, "asset_id", void 0);
2504
+ __decorate([
2505
+ Struct.field(UInt64)
2506
+ ], placeentity.prototype, "target_nexus_id", void 0);
2507
+ placeentity = __decorate([
2508
+ Struct.type('placeentity')
2509
+ ], placeentity);
2510
+ Types.placeentity = placeentity;
2511
+ let player_info = class player_info extends Struct {
2512
+ };
2513
+ __decorate([
2514
+ Struct.field(Name)
2515
+ ], player_info.prototype, "owner", void 0);
2516
+ __decorate([
2517
+ Struct.field('bool')
2518
+ ], player_info.prototype, "is_player", void 0);
2519
+ __decorate([
2520
+ Struct.field('string')
2521
+ ], player_info.prototype, "company_name", void 0);
2522
+ player_info = __decorate([
2523
+ Struct.type('player_info')
2524
+ ], player_info);
2525
+ Types.player_info = player_info;
2526
+ let player_row = class player_row extends Struct {
2527
+ };
2528
+ __decorate([
2529
+ Struct.field(Name)
2530
+ ], player_row.prototype, "owner", void 0);
2531
+ player_row = __decorate([
2532
+ Struct.type('player_row')
2533
+ ], player_row);
2534
+ Types.player_row = player_row;
2535
+ let projected_state = class projected_state extends Struct {
2536
+ };
2537
+ __decorate([
2538
+ Struct.field(Name)
2539
+ ], projected_state.prototype, "owner", void 0);
2540
+ __decorate([
2541
+ Struct.field(coordinates)
2542
+ ], projected_state.prototype, "coordinates", void 0);
2543
+ __decorate([
2544
+ Struct.field(UInt32, { optional: true })
2545
+ ], projected_state.prototype, "energy", void 0);
2546
+ __decorate([
2547
+ Struct.field(UInt32)
2548
+ ], projected_state.prototype, "cargomass", void 0);
2549
+ __decorate([
2550
+ Struct.field(cargo_view, { array: true })
2551
+ ], projected_state.prototype, "cargo", void 0);
2552
+ __decorate([
2553
+ Struct.field(UInt32, { optional: true })
2554
+ ], projected_state.prototype, "hullmass", void 0);
2555
+ __decorate([
2556
+ Struct.field(UInt32, { optional: true })
2557
+ ], projected_state.prototype, "capacity", void 0);
2558
+ __decorate([
2559
+ Struct.field(movement_stats, { optional: true })
2560
+ ], projected_state.prototype, "engines", void 0);
2561
+ __decorate([
2562
+ Struct.field(warp_stats, { optional: true })
2563
+ ], projected_state.prototype, "warp", void 0);
2564
+ __decorate([
2565
+ Struct.field(energy_stats, { optional: true })
2566
+ ], projected_state.prototype, "generator", void 0);
2567
+ __decorate([
2568
+ Struct.field(hauler_stats, { optional: true })
2569
+ ], projected_state.prototype, "hauler", void 0);
2570
+ __decorate([
2571
+ Struct.field(gatherer_lane, { array: true })
2572
+ ], projected_state.prototype, "gatherer_lanes", void 0);
2573
+ __decorate([
2574
+ Struct.field(crafter_lane, { array: true })
2575
+ ], projected_state.prototype, "crafter_lanes", void 0);
2576
+ __decorate([
2577
+ Struct.field(loader_lane, { array: true })
2578
+ ], projected_state.prototype, "loader_lanes", void 0);
2579
+ __decorate([
2580
+ Struct.field(launcher_stats, { optional: true })
2581
+ ], projected_state.prototype, "launcher", void 0);
2582
+ __decorate([
2583
+ Struct.field(UInt8)
2584
+ ], projected_state.prototype, "tier", void 0);
2585
+ projected_state = __decorate([
2586
+ Struct.type('projected_state')
2587
+ ], projected_state);
2588
+ Types.projected_state = projected_state;
2589
+ let recharge = class recharge extends Struct {
2590
+ };
2591
+ __decorate([
2592
+ Struct.field(UInt64)
2593
+ ], recharge.prototype, "id", void 0);
2594
+ recharge = __decorate([
2595
+ Struct.type('recharge')
2596
+ ], recharge);
2597
+ Types.recharge = recharge;
2598
+ let refrshentity = class refrshentity extends Struct {
2599
+ };
2600
+ __decorate([
2601
+ Struct.field(UInt64)
2602
+ ], refrshentity.prototype, "entity_id", void 0);
2603
+ refrshentity = __decorate([
2604
+ Struct.type('refrshentity')
2605
+ ], refrshentity);
2606
+ Types.refrshentity = refrshentity;
2607
+ let removeoracle = class removeoracle extends Struct {
2608
+ };
2609
+ __decorate([
2610
+ Struct.field(Name)
2611
+ ], removeoracle.prototype, "oracle_id", void 0);
2612
+ removeoracle = __decorate([
2613
+ Struct.type('removeoracle')
2614
+ ], removeoracle);
2615
+ Types.removeoracle = removeoracle;
2616
+ let rename = class rename extends Struct {
2617
+ };
2618
+ __decorate([
2619
+ Struct.field(UInt64)
2620
+ ], rename.prototype, "id", void 0);
2621
+ __decorate([
2622
+ Struct.field('string')
2623
+ ], rename.prototype, "name", void 0);
2624
+ rename = __decorate([
2625
+ Struct.type('rename')
2626
+ ], rename);
2627
+ Types.rename = rename;
2628
+ let resolve = class resolve extends Struct {
2629
+ };
2630
+ __decorate([
2631
+ Struct.field(UInt64)
2632
+ ], resolve.prototype, "id", void 0);
2633
+ __decorate([
2634
+ Struct.field(UInt64, { optional: true })
2635
+ ], resolve.prototype, "count", void 0);
2636
+ resolve = __decorate([
2637
+ Struct.type('resolve')
2638
+ ], resolve);
2639
+ Types.resolve = resolve;
2640
+ let resolve_results = class resolve_results extends Struct {
2641
+ };
2642
+ __decorate([
2643
+ Struct.field(UInt64)
2644
+ ], resolve_results.prototype, "entity_id", void 0);
2645
+ __decorate([
2646
+ Struct.field(Name)
2647
+ ], resolve_results.prototype, "entity_type", void 0);
2648
+ __decorate([
2649
+ Struct.field(UInt32)
2650
+ ], resolve_results.prototype, "resolved_count", void 0);
2651
+ __decorate([
2652
+ Struct.field(TimePoint, { optional: true })
2653
+ ], resolve_results.prototype, "new_schedule_started", void 0);
2654
+ __decorate([
2655
+ Struct.field(UInt64, { optional: true })
2656
+ ], resolve_results.prototype, "entitygroup", void 0);
2657
+ __decorate([
2658
+ Struct.field(entity_ref, { array: true, optional: true })
2659
+ ], resolve_results.prototype, "group_members", void 0);
2660
+ resolve_results = __decorate([
2661
+ Struct.type('resolve_results')
2662
+ ], resolve_results);
2663
+ Types.resolve_results = resolve_results;
2664
+ let resolveall = class resolveall extends Struct {
2665
+ };
2666
+ __decorate([
2667
+ Struct.field(Name)
2668
+ ], resolveall.prototype, "owner", void 0);
2669
+ resolveall = __decorate([
2670
+ Struct.type('resolveall')
2671
+ ], resolveall);
2672
+ Types.resolveall = resolveall;
2673
+ let resolveall_results = class resolveall_results extends Struct {
2674
+ };
2675
+ __decorate([
2676
+ Struct.field(UInt32)
2677
+ ], resolveall_results.prototype, "scanned", void 0);
2678
+ __decorate([
2679
+ Struct.field(UInt32)
2680
+ ], resolveall_results.prototype, "resolved", void 0);
2681
+ resolveall_results = __decorate([
2682
+ Struct.type('resolveall_results')
2683
+ ], resolveall_results);
2684
+ Types.resolveall_results = resolveall_results;
2685
+ let resource_info = class resource_info extends Struct {
2686
+ };
2687
+ __decorate([
2688
+ Struct.field(UInt16)
2689
+ ], resource_info.prototype, "id", void 0);
2690
+ __decorate([
2691
+ Struct.field(UInt32)
2692
+ ], resource_info.prototype, "mass", void 0);
2693
+ __decorate([
2694
+ Struct.field(UInt8)
2695
+ ], resource_info.prototype, "category", void 0);
2696
+ __decorate([
2697
+ Struct.field(UInt8)
2698
+ ], resource_info.prototype, "tier", void 0);
2699
+ resource_info = __decorate([
2700
+ Struct.type('resource_info')
2701
+ ], resource_info);
2702
+ Types.resource_info = resource_info;
2703
+ let resource_stats = class resource_stats extends Struct {
2704
+ };
2705
+ __decorate([
2706
+ Struct.field(UInt16)
2707
+ ], resource_stats.prototype, "stat1", void 0);
2708
+ __decorate([
2709
+ Struct.field(UInt16)
2710
+ ], resource_stats.prototype, "stat2", void 0);
2711
+ __decorate([
2712
+ Struct.field(UInt16)
2713
+ ], resource_stats.prototype, "stat3", void 0);
2714
+ resource_stats = __decorate([
2715
+ Struct.type('resource_stats')
2716
+ ], resource_stats);
2717
+ Types.resource_stats = resource_stats;
2718
+ let resources_result = class resources_result extends Struct {
2719
+ };
2720
+ __decorate([
2721
+ Struct.field(resource_info, { array: true })
2722
+ ], resources_result.prototype, "resources", void 0);
2723
+ resources_result = __decorate([
2724
+ Struct.type('resources_result')
2725
+ ], resources_result);
2726
+ Types.resources_result = resources_result;
2727
+ let reveal = class reveal extends Struct {
2728
+ };
2729
+ __decorate([
2730
+ Struct.field(Name)
2731
+ ], reveal.prototype, "oracle_id", void 0);
2732
+ __decorate([
2733
+ Struct.field(UInt64)
2734
+ ], reveal.prototype, "epoch", void 0);
2735
+ __decorate([
2736
+ Struct.field(Checksum256)
2737
+ ], reveal.prototype, "reveal", void 0);
2738
+ reveal = __decorate([
2739
+ Struct.type('reveal')
2740
+ ], reveal);
2741
+ Types.reveal = reveal;
2742
+ let reveal_row = class reveal_row extends Struct {
2743
+ };
2744
+ __decorate([
2745
+ Struct.field(UInt64)
2746
+ ], reveal_row.prototype, "id", void 0);
2747
+ __decorate([
2748
+ Struct.field(UInt64)
2749
+ ], reveal_row.prototype, "epoch", void 0);
2750
+ __decorate([
2751
+ Struct.field(Name)
2752
+ ], reveal_row.prototype, "oracle_id", void 0);
2753
+ __decorate([
2754
+ Struct.field(Checksum256)
2755
+ ], reveal_row.prototype, "reveal", void 0);
2756
+ reveal_row = __decorate([
2757
+ Struct.type('reveal_row')
2758
+ ], reveal_row);
2759
+ Types.reveal_row = reveal_row;
2760
+ let rmmodule = class rmmodule extends Struct {
2761
+ };
2762
+ __decorate([
2763
+ Struct.field(UInt64)
2764
+ ], rmmodule.prototype, "entity_id", void 0);
2765
+ __decorate([
2766
+ Struct.field(UInt8)
2767
+ ], rmmodule.prototype, "module_index", void 0);
2768
+ __decorate([
2769
+ Struct.field(cargo_ref, { optional: true })
2770
+ ], rmmodule.prototype, "target_ref", void 0);
2771
+ rmmodule = __decorate([
2772
+ Struct.type('rmmodule')
2773
+ ], rmmodule);
2774
+ Types.rmmodule = rmmodule;
2775
+ let rmnftcfg = class rmnftcfg extends Struct {
2776
+ };
2777
+ __decorate([
2778
+ Struct.field(UInt16)
2779
+ ], rmnftcfg.prototype, "item_id", void 0);
2780
+ rmnftcfg = __decorate([
2781
+ Struct.type('rmnftcfg')
2782
+ ], rmnftcfg);
2783
+ Types.rmnftcfg = rmnftcfg;
2784
+ let route_waypoint = class route_waypoint extends Struct {
2785
+ };
2786
+ __decorate([
2787
+ Struct.field(Int64)
2788
+ ], route_waypoint.prototype, "x", void 0);
2789
+ __decorate([
2790
+ Struct.field(Int64)
2791
+ ], route_waypoint.prototype, "y", void 0);
2792
+ route_waypoint = __decorate([
2793
+ Struct.type('route_waypoint')
2794
+ ], route_waypoint);
2795
+ Types.route_waypoint = route_waypoint;
2796
+ let setcoords = class setcoords extends Struct {
2797
+ };
2798
+ __decorate([
2799
+ Struct.field(UInt64)
2800
+ ], setcoords.prototype, "entity_id", void 0);
2801
+ __decorate([
2802
+ Struct.field(Int64)
2803
+ ], setcoords.prototype, "x", void 0);
2804
+ __decorate([
2805
+ Struct.field(Int64)
2806
+ ], setcoords.prototype, "y", void 0);
2807
+ setcoords = __decorate([
2808
+ Struct.type('setcoords')
2809
+ ], setcoords);
2810
+ Types.setcoords = setcoords;
2811
+ let setnftcfg = class setnftcfg extends Struct {
2812
+ };
2813
+ __decorate([
2814
+ Struct.field(UInt16)
2815
+ ], setnftcfg.prototype, "item_id", void 0);
2816
+ __decorate([
2817
+ Struct.field(Int32)
2818
+ ], setnftcfg.prototype, "template_id", void 0);
2819
+ __decorate([
2820
+ Struct.field(Name)
2821
+ ], setnftcfg.prototype, "schema_name", void 0);
2822
+ setnftcfg = __decorate([
2823
+ Struct.type('setnftcfg')
2824
+ ], setnftcfg);
2825
+ Types.setnftcfg = setnftcfg;
2826
+ let setthreshold = class setthreshold extends Struct {
2827
+ };
2828
+ __decorate([
2829
+ Struct.field(UInt8)
2830
+ ], setthreshold.prototype, "threshold", void 0);
2831
+ setthreshold = __decorate([
2832
+ Struct.type('setthreshold')
2833
+ ], setthreshold);
2834
+ Types.setthreshold = setthreshold;
2835
+ let setwrapcost = class setwrapcost extends Struct {
2836
+ };
2837
+ __decorate([
2838
+ Struct.field(UInt8)
2839
+ ], setwrapcost.prototype, "item_type", void 0);
2840
+ __decorate([
2841
+ Struct.field(UInt8)
2842
+ ], setwrapcost.prototype, "tier", void 0);
2843
+ __decorate([
2844
+ Struct.field(UInt64)
2845
+ ], setwrapcost.prototype, "amount", void 0);
2846
+ setwrapcost = __decorate([
2847
+ Struct.type('setwrapcost')
2848
+ ], setwrapcost);
2849
+ Types.setwrapcost = setwrapcost;
2850
+ let setwrapfee = class setwrapfee extends Struct {
2851
+ };
2852
+ __decorate([
2853
+ Struct.field(UInt16)
2854
+ ], setwrapfee.prototype, "fee_pct", void 0);
2855
+ __decorate([
2856
+ Struct.field(Name)
2857
+ ], setwrapfee.prototype, "fee_account", void 0);
2858
+ setwrapfee = __decorate([
2859
+ Struct.type('setwrapfee')
2860
+ ], setwrapfee);
2861
+ Types.setwrapfee = setwrapfee;
2862
+ let stowcargo = class stowcargo extends Struct {
2863
+ };
2864
+ __decorate([
2865
+ Struct.field(Name)
2866
+ ], stowcargo.prototype, "owner", void 0);
2867
+ __decorate([
2868
+ Struct.field(UInt64)
2869
+ ], stowcargo.prototype, "entity_id", void 0);
2870
+ __decorate([
2871
+ Struct.field(UInt64)
2872
+ ], stowcargo.prototype, "nexus_id", void 0);
2873
+ __decorate([
2874
+ Struct.field(UInt64)
2875
+ ], stowcargo.prototype, "cargo_id", void 0);
2876
+ __decorate([
2877
+ Struct.field(UInt64)
2878
+ ], stowcargo.prototype, "quantity", void 0);
2879
+ stowcargo = __decorate([
2880
+ Struct.type('stowcargo')
2881
+ ], stowcargo);
2882
+ Types.stowcargo = stowcargo;
2883
+ let stowentity = class stowentity extends Struct {
2884
+ };
2885
+ __decorate([
2886
+ Struct.field(Name)
2887
+ ], stowentity.prototype, "owner", void 0);
2888
+ __decorate([
2889
+ Struct.field(UInt64)
2890
+ ], stowentity.prototype, "entity_id", void 0);
2891
+ __decorate([
2892
+ Struct.field(UInt64)
2893
+ ], stowentity.prototype, "nexus_id", void 0);
2894
+ stowentity = __decorate([
2895
+ Struct.type('stowentity')
2896
+ ], stowentity);
2897
+ Types.stowentity = stowentity;
2898
+ let stratum_info = class stratum_info extends Struct {
2899
+ };
2900
+ __decorate([
2901
+ Struct.field(UInt16)
2902
+ ], stratum_info.prototype, "item_id", void 0);
2903
+ __decorate([
2904
+ Struct.field(UInt64)
2905
+ ], stratum_info.prototype, "seed", void 0);
2906
+ __decorate([
2907
+ Struct.field(UInt16)
2908
+ ], stratum_info.prototype, "richness", void 0);
2909
+ __decorate([
2910
+ Struct.field(UInt32)
2911
+ ], stratum_info.prototype, "reserve", void 0);
2912
+ __decorate([
2913
+ Struct.field(UInt32)
2914
+ ], stratum_info.prototype, "reserve_max", void 0);
2915
+ stratum_info = __decorate([
2916
+ Struct.type('stratum_info')
2917
+ ], stratum_info);
2918
+ Types.stratum_info = stratum_info;
2919
+ let stratum_data = class stratum_data extends Struct {
2920
+ };
2921
+ __decorate([
2922
+ Struct.field(stratum_info)
2923
+ ], stratum_data.prototype, "stratum", void 0);
2924
+ __decorate([
2925
+ Struct.field(resource_stats)
2926
+ ], stratum_data.prototype, "stats", void 0);
2927
+ stratum_data = __decorate([
2928
+ Struct.type('stratum_data')
2929
+ ], stratum_data);
2930
+ Types.stratum_data = stratum_data;
2931
+ let stratum_remaining = class stratum_remaining extends Struct {
2932
+ };
2933
+ __decorate([
2934
+ Struct.field(UInt16)
2935
+ ], stratum_remaining.prototype, "stratum", void 0);
2936
+ __decorate([
2937
+ Struct.field(UInt32)
2938
+ ], stratum_remaining.prototype, "remaining", void 0);
2939
+ __decorate([
2940
+ Struct.field(BlockTimestamp)
2941
+ ], stratum_remaining.prototype, "last_block", void 0);
2942
+ stratum_remaining = __decorate([
2943
+ Struct.type('stratum_remaining')
2944
+ ], stratum_remaining);
2945
+ Types.stratum_remaining = stratum_remaining;
2946
+ let swapmodule = class swapmodule extends Struct {
2947
+ };
2948
+ __decorate([
2949
+ Struct.field(UInt64)
2950
+ ], swapmodule.prototype, "entity_id", void 0);
2951
+ __decorate([
2952
+ Struct.field(UInt8)
2953
+ ], swapmodule.prototype, "module_index", void 0);
2954
+ __decorate([
2955
+ Struct.field(cargo_ref)
2956
+ ], swapmodule.prototype, "module_ref", void 0);
2957
+ swapmodule = __decorate([
2958
+ Struct.type('swapmodule')
2959
+ ], swapmodule);
2960
+ Types.swapmodule = swapmodule;
2961
+ let swaptile = class swaptile extends Struct {
2962
+ };
2963
+ __decorate([
2964
+ Struct.field(UInt64)
2965
+ ], swaptile.prototype, "hub_id", void 0);
2966
+ __decorate([
2967
+ Struct.field(Int8)
2968
+ ], swaptile.prototype, "a_gx", void 0);
2969
+ __decorate([
2970
+ Struct.field(Int8)
2971
+ ], swaptile.prototype, "a_gy", void 0);
2972
+ __decorate([
2973
+ Struct.field(Int8)
2974
+ ], swaptile.prototype, "b_gx", void 0);
2975
+ __decorate([
2976
+ Struct.field(Int8)
2977
+ ], swaptile.prototype, "b_gy", void 0);
2978
+ swaptile = __decorate([
2979
+ Struct.type('swaptile')
2980
+ ], swaptile);
2981
+ Types.swaptile = swaptile;
2982
+ let task_results = class task_results extends Struct {
2983
+ };
2984
+ __decorate([
2985
+ Struct.field(entity_task_info, { array: true })
2986
+ ], task_results.prototype, "entities", void 0);
2987
+ task_results = __decorate([
2988
+ Struct.type('task_results')
2989
+ ], task_results);
2990
+ Types.task_results = task_results;
2991
+ let transit = class transit extends Struct {
2992
+ };
2993
+ __decorate([
2994
+ Struct.field(UInt64)
2995
+ ], transit.prototype, "id", void 0);
2996
+ __decorate([
2997
+ Struct.field(Int64)
2998
+ ], transit.prototype, "ax", void 0);
2999
+ __decorate([
3000
+ Struct.field(Int64)
3001
+ ], transit.prototype, "ay", void 0);
3002
+ __decorate([
3003
+ Struct.field(Int64)
3004
+ ], transit.prototype, "bx", void 0);
3005
+ __decorate([
3006
+ Struct.field(Int64)
3007
+ ], transit.prototype, "by", void 0);
3008
+ transit = __decorate([
3009
+ Struct.type('transit')
3010
+ ], transit);
3011
+ Types.transit = transit;
3012
+ let travel = class travel extends Struct {
3013
+ };
3014
+ __decorate([
3015
+ Struct.field(UInt64)
3016
+ ], travel.prototype, "id", void 0);
3017
+ __decorate([
3018
+ Struct.field(Int64)
3019
+ ], travel.prototype, "x", void 0);
3020
+ __decorate([
3021
+ Struct.field(Int64)
3022
+ ], travel.prototype, "y", void 0);
3023
+ __decorate([
3024
+ Struct.field('bool')
3025
+ ], travel.prototype, "recharge", void 0);
3026
+ travel = __decorate([
3027
+ Struct.type('travel')
3028
+ ], travel);
3029
+ Types.travel = travel;
3030
+ let travelroute = class travelroute extends Struct {
3031
+ };
3032
+ __decorate([
3033
+ Struct.field(entity_ref, { array: true })
3034
+ ], travelroute.prototype, "entities", void 0);
3035
+ __decorate([
3036
+ Struct.field(route_waypoint, { array: true })
3037
+ ], travelroute.prototype, "waypoints", void 0);
3038
+ __decorate([
3039
+ Struct.field('bool')
3040
+ ], travelroute.prototype, "recharge", void 0);
3041
+ travelroute = __decorate([
3042
+ Struct.type('travelroute')
3043
+ ], travelroute);
3044
+ Types.travelroute = travelroute;
3045
+ let types_row = class types_row extends Struct {
3046
+ };
3047
+ __decorate([
3048
+ Struct.field(UInt64)
3049
+ ], types_row.prototype, "id", void 0);
3050
+ __decorate([
3051
+ Struct.field(entity_summary)
3052
+ ], types_row.prototype, "entity_summary_type", void 0);
3053
+ __decorate([
3054
+ Struct.field(game_config)
3055
+ ], types_row.prototype, "game_config_type", void 0);
3056
+ __decorate([
3057
+ Struct.field(stratum_remaining)
3058
+ ], types_row.prototype, "stratum_remaining_type", void 0);
3059
+ __decorate([
3060
+ Struct.field(nft_item_payload)
3061
+ ], types_row.prototype, "nft_item_payload_type", void 0);
3062
+ types_row = __decorate([
3063
+ Struct.type('types_row')
3064
+ ], types_row);
3065
+ Types.types_row = types_row;
3066
+ let undeploy = class undeploy extends Struct {
3067
+ };
3068
+ __decorate([
3069
+ Struct.field(UInt64)
3070
+ ], undeploy.prototype, "host_id", void 0);
3071
+ __decorate([
3072
+ Struct.field(UInt64)
3073
+ ], undeploy.prototype, "target_id", void 0);
3074
+ undeploy = __decorate([
3075
+ Struct.type('undeploy')
3076
+ ], undeploy);
3077
+ Types.undeploy = undeploy;
3078
+ let unload = class unload extends Struct {
3079
+ };
3080
+ __decorate([
3081
+ Struct.field(UInt64)
3082
+ ], unload.prototype, "id", void 0);
3083
+ __decorate([
3084
+ Struct.field(UInt64)
3085
+ ], unload.prototype, "to_id", void 0);
3086
+ __decorate([
3087
+ Struct.field(cargo_item, { array: true })
3088
+ ], unload.prototype, "items", void 0);
3089
+ unload = __decorate([
3090
+ Struct.type('unload')
3091
+ ], unload);
3092
+ Types.unload = unload;
3093
+ let upgrade = class upgrade extends Struct {
3094
+ };
3095
+ __decorate([
3096
+ Struct.field(UInt64)
3097
+ ], upgrade.prototype, "builder_id", void 0);
3098
+ __decorate([
3099
+ Struct.field(UInt64)
3100
+ ], upgrade.prototype, "target_id", void 0);
3101
+ __decorate([
3102
+ Struct.field(UInt16)
3103
+ ], upgrade.prototype, "target_item_id", void 0);
3104
+ __decorate([
3105
+ Struct.field(cargo_item, { array: true })
3106
+ ], upgrade.prototype, "inputs", void 0);
3107
+ __decorate([
3108
+ Struct.field(UInt8, { optional: true })
3109
+ ], upgrade.prototype, "slot", void 0);
3110
+ upgrade = __decorate([
3111
+ Struct.type('upgrade')
3112
+ ], upgrade);
3113
+ Types.upgrade = upgrade;
3114
+ let warp = class warp extends Struct {
3115
+ };
3116
+ __decorate([
3117
+ Struct.field(UInt64)
3118
+ ], warp.prototype, "id", void 0);
3119
+ __decorate([
3120
+ Struct.field(Int64)
3121
+ ], warp.prototype, "x", void 0);
3122
+ __decorate([
3123
+ Struct.field(Int64)
3124
+ ], warp.prototype, "y", void 0);
3125
+ warp = __decorate([
3126
+ Struct.type('warp')
3127
+ ], warp);
3128
+ Types.warp = warp;
3129
+ let wipe = class wipe extends Struct {
3130
+ };
3131
+ wipe = __decorate([
3132
+ Struct.type('wipe')
3133
+ ], wipe);
3134
+ Types.wipe = wipe;
3135
+ let wormhole_info = class wormhole_info extends Struct {
3136
+ };
3137
+ __decorate([
3138
+ Struct.field(coordinates)
3139
+ ], wormhole_info.prototype, "coords", void 0);
3140
+ __decorate([
3141
+ Struct.field('bool')
3142
+ ], wormhole_info.prototype, "is_wormhole", void 0);
3143
+ __decorate([
3144
+ Struct.field(coordinates)
3145
+ ], wormhole_info.prototype, "destination", void 0);
3146
+ wormhole_info = __decorate([
3147
+ Struct.type('wormhole_info')
3148
+ ], wormhole_info);
3149
+ Types.wormhole_info = wormhole_info;
3150
+ let wrapconfig_row = class wrapconfig_row extends Struct {
3151
+ };
3152
+ __decorate([
3153
+ Struct.field(UInt16)
3154
+ ], wrapconfig_row.prototype, "fee_pct", void 0);
3155
+ __decorate([
3156
+ Struct.field(Name)
3157
+ ], wrapconfig_row.prototype, "fee_account", void 0);
3158
+ wrapconfig_row = __decorate([
3159
+ Struct.type('wrapconfig_row')
3160
+ ], wrapconfig_row);
3161
+ Types.wrapconfig_row = wrapconfig_row;
3162
+ let wrapcost_row = class wrapcost_row extends Struct {
3163
+ };
3164
+ __decorate([
3165
+ Struct.field(UInt8)
3166
+ ], wrapcost_row.prototype, "item_type", void 0);
3167
+ __decorate([
3168
+ Struct.field(UInt8)
3169
+ ], wrapcost_row.prototype, "tier", void 0);
3170
+ __decorate([
3171
+ Struct.field(UInt64)
3172
+ ], wrapcost_row.prototype, "amount", void 0);
3173
+ wrapcost_row = __decorate([
3174
+ Struct.type('wrapcost_row')
3175
+ ], wrapcost_row);
3176
+ Types.wrapcost_row = wrapcost_row;
3177
+ })(Types || (Types = {}));
3178
+ ({
3179
+ cargo: Types.cargo_row,
3180
+ claims: Types.claim_row,
3181
+ cluster: Types.cluster_row,
3182
+ commit: Types.commit_row,
3183
+ entity: Types.entity_row,
3184
+ entitygroup: Types.entitygroup_row,
3185
+ entityseq: Types.entity_seq_row,
3186
+ epoch: Types.epoch_row,
3187
+ nftconfig: Types.nftconfig_row,
3188
+ oraclecfg: Types.oracle_config_row,
3189
+ oracles: Types.oracle_row,
3190
+ player: Types.player_row,
3191
+ reserve: Types.reserve_row,
3192
+ reveal: Types.reveal_row,
3193
+ state: Types.state_row,
3194
+ types: Types.types_row,
3195
+ wrapconfig: Types.wrapconfig_row,
3196
+ wrapcost: Types.wrapcost_row,
3197
+ });
3198
+
3199
+ var items = [
3200
+ {
3201
+ id: 101,
3202
+ mass: 1000,
3203
+ type: "resource",
3204
+ tier: 1,
3205
+ category: "ore"
3206
+ },
3207
+ {
3208
+ id: 102,
3209
+ mass: 1000,
3210
+ type: "resource",
3211
+ tier: 2,
3212
+ category: "ore"
3213
+ },
3214
+ {
3215
+ id: 103,
3216
+ mass: 1000,
3217
+ type: "resource",
3218
+ tier: 3,
3219
+ category: "ore"
3220
+ },
3221
+ {
3222
+ id: 104,
3223
+ mass: 1000,
3224
+ type: "resource",
3225
+ tier: 4,
3226
+ category: "ore"
3227
+ },
3228
+ {
3229
+ id: 105,
3230
+ mass: 1000,
3231
+ type: "resource",
3232
+ tier: 5,
3233
+ category: "ore"
3234
+ },
3235
+ {
3236
+ id: 106,
3237
+ mass: 1000,
3238
+ type: "resource",
3239
+ tier: 6,
3240
+ category: "ore"
3241
+ },
3242
+ {
3243
+ id: 107,
3244
+ mass: 1000,
3245
+ type: "resource",
3246
+ tier: 7,
3247
+ category: "ore"
3248
+ },
3249
+ {
3250
+ id: 108,
3251
+ mass: 1000,
3252
+ type: "resource",
3253
+ tier: 8,
3254
+ category: "ore"
3255
+ },
3256
+ {
3257
+ id: 109,
3258
+ mass: 1000,
3259
+ type: "resource",
3260
+ tier: 9,
3261
+ category: "ore"
3262
+ },
3263
+ {
3264
+ id: 110,
3265
+ mass: 1000,
3266
+ type: "resource",
3267
+ tier: 10,
3268
+ category: "ore"
3269
+ },
3270
+ {
3271
+ id: 201,
3272
+ mass: 1000,
3273
+ type: "resource",
3274
+ tier: 1,
3275
+ category: "crystal"
3276
+ },
3277
+ {
3278
+ id: 202,
3279
+ mass: 1000,
3280
+ type: "resource",
3281
+ tier: 2,
3282
+ category: "crystal"
3283
+ },
3284
+ {
3285
+ id: 203,
3286
+ mass: 1000,
3287
+ type: "resource",
3288
+ tier: 3,
3289
+ category: "crystal"
3290
+ },
3291
+ {
3292
+ id: 204,
3293
+ mass: 1000,
3294
+ type: "resource",
3295
+ tier: 4,
3296
+ category: "crystal"
3297
+ },
3298
+ {
3299
+ id: 205,
3300
+ mass: 1000,
3301
+ type: "resource",
3302
+ tier: 5,
3303
+ category: "crystal"
3304
+ },
3305
+ {
3306
+ id: 206,
3307
+ mass: 1000,
3308
+ type: "resource",
3309
+ tier: 6,
3310
+ category: "crystal"
3311
+ },
3312
+ {
3313
+ id: 207,
3314
+ mass: 1000,
3315
+ type: "resource",
3316
+ tier: 7,
3317
+ category: "crystal"
3318
+ },
3319
+ {
3320
+ id: 208,
3321
+ mass: 1000,
3322
+ type: "resource",
3323
+ tier: 8,
3324
+ category: "crystal"
3325
+ },
3326
+ {
3327
+ id: 209,
3328
+ mass: 1000,
3329
+ type: "resource",
3330
+ tier: 9,
3331
+ category: "crystal"
3332
+ },
3333
+ {
3334
+ id: 210,
3335
+ mass: 1000,
3336
+ type: "resource",
3337
+ tier: 10,
3338
+ category: "crystal"
3339
+ },
3340
+ {
3341
+ id: 301,
3342
+ mass: 1000,
3343
+ type: "resource",
3344
+ tier: 1,
3345
+ category: "gas"
3346
+ },
3347
+ {
3348
+ id: 302,
3349
+ mass: 1000,
3350
+ type: "resource",
3351
+ tier: 2,
3352
+ category: "gas"
3353
+ },
3354
+ {
3355
+ id: 303,
3356
+ mass: 1000,
3357
+ type: "resource",
3358
+ tier: 3,
3359
+ category: "gas"
3360
+ },
3361
+ {
3362
+ id: 304,
3363
+ mass: 1000,
3364
+ type: "resource",
3365
+ tier: 4,
3366
+ category: "gas"
3367
+ },
3368
+ {
3369
+ id: 305,
3370
+ mass: 1000,
3371
+ type: "resource",
3372
+ tier: 5,
3373
+ category: "gas"
3374
+ },
3375
+ {
3376
+ id: 306,
3377
+ mass: 1000,
3378
+ type: "resource",
3379
+ tier: 6,
3380
+ category: "gas"
3381
+ },
3382
+ {
3383
+ id: 307,
3384
+ mass: 1000,
3385
+ type: "resource",
3386
+ tier: 7,
3387
+ category: "gas"
3388
+ },
3389
+ {
3390
+ id: 308,
3391
+ mass: 1000,
3392
+ type: "resource",
3393
+ tier: 8,
3394
+ category: "gas"
3395
+ },
3396
+ {
3397
+ id: 309,
3398
+ mass: 1000,
3399
+ type: "resource",
3400
+ tier: 9,
3401
+ category: "gas"
3402
+ },
3403
+ {
3404
+ id: 310,
3405
+ mass: 1000,
3406
+ type: "resource",
3407
+ tier: 10,
3408
+ category: "gas"
3409
+ },
3410
+ {
3411
+ id: 401,
3412
+ mass: 1000,
3413
+ type: "resource",
3414
+ tier: 1,
3415
+ category: "regolith"
3416
+ },
3417
+ {
3418
+ id: 402,
3419
+ mass: 1000,
3420
+ type: "resource",
3421
+ tier: 2,
3422
+ category: "regolith"
3423
+ },
3424
+ {
3425
+ id: 403,
3426
+ mass: 1000,
3427
+ type: "resource",
3428
+ tier: 3,
3429
+ category: "regolith"
3430
+ },
3431
+ {
3432
+ id: 404,
3433
+ mass: 1000,
3434
+ type: "resource",
3435
+ tier: 4,
3436
+ category: "regolith"
3437
+ },
3438
+ {
3439
+ id: 405,
3440
+ mass: 1000,
3441
+ type: "resource",
3442
+ tier: 5,
3443
+ category: "regolith"
3444
+ },
3445
+ {
3446
+ id: 406,
3447
+ mass: 1000,
3448
+ type: "resource",
3449
+ tier: 6,
3450
+ category: "regolith"
3451
+ },
3452
+ {
3453
+ id: 407,
3454
+ mass: 1000,
3455
+ type: "resource",
3456
+ tier: 7,
3457
+ category: "regolith"
3458
+ },
3459
+ {
3460
+ id: 408,
3461
+ mass: 1000,
3462
+ type: "resource",
3463
+ tier: 8,
3464
+ category: "regolith"
3465
+ },
3466
+ {
3467
+ id: 409,
3468
+ mass: 1000,
3469
+ type: "resource",
3470
+ tier: 9,
3471
+ category: "regolith"
3472
+ },
3473
+ {
3474
+ id: 410,
3475
+ mass: 1000,
3476
+ type: "resource",
3477
+ tier: 10,
3478
+ category: "regolith"
3479
+ },
3480
+ {
3481
+ id: 501,
3482
+ mass: 1000,
3483
+ type: "resource",
3484
+ tier: 1,
3485
+ category: "biomass"
3486
+ },
3487
+ {
3488
+ id: 502,
3489
+ mass: 1000,
3490
+ type: "resource",
3491
+ tier: 2,
3492
+ category: "biomass"
3493
+ },
3494
+ {
3495
+ id: 503,
3496
+ mass: 1000,
3497
+ type: "resource",
3498
+ tier: 3,
3499
+ category: "biomass"
3500
+ },
3501
+ {
3502
+ id: 504,
3503
+ mass: 1000,
3504
+ type: "resource",
3505
+ tier: 4,
3506
+ category: "biomass"
3507
+ },
3508
+ {
3509
+ id: 505,
3510
+ mass: 1000,
3511
+ type: "resource",
3512
+ tier: 5,
3513
+ category: "biomass"
3514
+ },
3515
+ {
3516
+ id: 506,
3517
+ mass: 1000,
3518
+ type: "resource",
3519
+ tier: 6,
3520
+ category: "biomass"
3521
+ },
3522
+ {
3523
+ id: 507,
3524
+ mass: 1000,
3525
+ type: "resource",
3526
+ tier: 7,
3527
+ category: "biomass"
3528
+ },
3529
+ {
3530
+ id: 508,
3531
+ mass: 1000,
3532
+ type: "resource",
3533
+ tier: 8,
3534
+ category: "biomass"
3535
+ },
3536
+ {
3537
+ id: 509,
3538
+ mass: 1000,
3539
+ type: "resource",
3540
+ tier: 9,
3541
+ category: "biomass"
3542
+ },
3543
+ {
3544
+ id: 510,
3545
+ mass: 1000,
3546
+ type: "resource",
3547
+ tier: 10,
3548
+ category: "biomass"
3549
+ },
3550
+ {
3551
+ id: 10001,
3552
+ mass: 4000,
3553
+ type: "component",
3554
+ tier: 1
3555
+ },
3556
+ {
3557
+ id: 10002,
3558
+ mass: 4000,
3559
+ type: "component",
3560
+ tier: 1
3561
+ },
3562
+ {
3563
+ id: 10003,
3564
+ mass: 4000,
3565
+ type: "component",
3566
+ tier: 1
3567
+ },
3568
+ {
3569
+ id: 10004,
3570
+ mass: 4000,
3571
+ type: "component",
3572
+ tier: 1
3573
+ },
3574
+ {
3575
+ id: 10005,
3576
+ mass: 4000,
3577
+ type: "component",
3578
+ tier: 1
3579
+ },
3580
+ {
3581
+ id: 10006,
3582
+ mass: 4000,
3583
+ type: "component",
3584
+ tier: 1
3585
+ },
3586
+ {
3587
+ id: 10007,
3588
+ mass: 4000,
3589
+ type: "component",
3590
+ tier: 1
3591
+ },
3592
+ {
3593
+ id: 10008,
3594
+ mass: 4000,
3595
+ type: "component",
3596
+ tier: 1
3597
+ },
3598
+ {
3599
+ id: 10009,
3600
+ mass: 4000,
3601
+ type: "component",
3602
+ tier: 1
3603
+ },
3604
+ {
3605
+ id: 10010,
3606
+ mass: 4000,
3607
+ type: "component",
3608
+ tier: 1
3609
+ },
3610
+ {
3611
+ id: 10100,
3612
+ mass: 960000,
3613
+ type: "module",
3614
+ tier: 1,
3615
+ subtype: "engine"
3616
+ },
3617
+ {
3618
+ id: 10101,
3619
+ mass: 960000,
3620
+ type: "module",
3621
+ tier: 1,
3622
+ subtype: "generator"
3623
+ },
3624
+ {
3625
+ id: 10102,
3626
+ mass: 960000,
3627
+ type: "module",
3628
+ tier: 1,
3629
+ subtype: "gatherer"
3630
+ },
3631
+ {
3632
+ id: 10103,
3633
+ mass: 960000,
3634
+ type: "module",
3635
+ tier: 1,
3636
+ subtype: "loader"
3637
+ },
3638
+ {
3639
+ id: 10104,
3640
+ mass: 960000,
3641
+ type: "module",
3642
+ tier: 1,
3643
+ subtype: "crafter"
3644
+ },
3645
+ {
3646
+ id: 10105,
3647
+ mass: 960000,
3648
+ type: "module",
3649
+ tier: 1,
3650
+ subtype: "storage"
3651
+ },
3652
+ {
3653
+ id: 10106,
3654
+ mass: 960000,
3655
+ type: "module",
3656
+ tier: 1,
3657
+ subtype: "hauler"
3658
+ },
3659
+ {
3660
+ id: 10107,
3661
+ mass: 960000,
3662
+ type: "module",
3663
+ tier: 1,
3664
+ subtype: "warp"
3665
+ },
3666
+ {
3667
+ id: 10108,
3668
+ mass: 960000,
3669
+ type: "module",
3670
+ tier: 1,
3671
+ subtype: "battery"
3672
+ },
3673
+ {
3674
+ id: 10109,
3675
+ mass: 1000000,
3676
+ type: "module",
3677
+ tier: 1,
3678
+ subtype: "launcher"
3679
+ },
3680
+ {
3681
+ id: 10200,
3682
+ mass: 1900000,
3683
+ type: "entity",
3684
+ tier: 1
3685
+ },
3686
+ {
3687
+ id: 10201,
3688
+ mass: 2400000,
3689
+ type: "entity",
3690
+ tier: 1
3691
+ },
3692
+ {
3693
+ id: 10202,
3694
+ mass: 3200000,
3695
+ type: "entity",
3696
+ tier: 1
3697
+ },
3698
+ {
3699
+ id: 10203,
3700
+ mass: 1900000,
3701
+ type: "entity",
3702
+ tier: 1
3703
+ },
3704
+ {
3705
+ id: 10204,
3706
+ mass: 1900000,
3707
+ type: "entity",
3708
+ tier: 1
3709
+ },
3710
+ {
3711
+ id: 10205,
3712
+ mass: 8000000,
3713
+ type: "entity",
3714
+ tier: 1
3715
+ },
3716
+ {
3717
+ id: 10206,
3718
+ mass: 8000000,
3719
+ type: "entity",
3720
+ tier: 1
3721
+ },
3722
+ {
3723
+ id: 10207,
3724
+ mass: 2400000,
3725
+ type: "entity",
3726
+ tier: 1
3727
+ },
3728
+ {
3729
+ id: 20001,
3730
+ mass: 4800,
3731
+ type: "component",
3732
+ tier: 2
3733
+ },
3734
+ {
3735
+ id: 20002,
3736
+ mass: 4800,
3737
+ type: "component",
3738
+ tier: 2
3739
+ },
3740
+ {
3741
+ id: 20003,
3742
+ mass: 4800,
3743
+ type: "component",
3744
+ tier: 2
3745
+ },
3746
+ {
3747
+ id: 20004,
3748
+ mass: 4800,
3749
+ type: "component",
3750
+ tier: 2
3751
+ },
3752
+ {
3753
+ id: 20005,
3754
+ mass: 4800,
3755
+ type: "component",
3756
+ tier: 2
3757
+ },
3758
+ {
3759
+ id: 20006,
3760
+ mass: 4800,
3761
+ type: "component",
3762
+ tier: 2
3763
+ },
3764
+ {
3765
+ id: 20007,
3766
+ mass: 4800,
3767
+ type: "component",
3768
+ tier: 2
3769
+ },
3770
+ {
3771
+ id: 20008,
3772
+ mass: 4800,
3773
+ type: "component",
3774
+ tier: 2
3775
+ },
3776
+ {
3777
+ id: 20009,
3778
+ mass: 4800,
3779
+ type: "component",
3780
+ tier: 2
3781
+ },
3782
+ {
3783
+ id: 20010,
3784
+ mass: 4800,
3785
+ type: "component",
3786
+ tier: 2
3787
+ },
3788
+ {
3789
+ id: 20102,
3790
+ mass: 1536000,
3791
+ type: "module",
3792
+ tier: 2,
3793
+ subtype: "gatherer"
3794
+ },
3795
+ {
3796
+ id: 20106,
3797
+ mass: 1536000,
3798
+ type: "module",
3799
+ tier: 2,
3800
+ subtype: "hauler"
3801
+ },
3802
+ {
3803
+ id: 20200,
3804
+ mass: 3100000,
3805
+ type: "entity",
3806
+ tier: 2
3807
+ },
3808
+ {
3809
+ id: 20210,
3810
+ mass: 3840000,
3811
+ type: "entity",
3812
+ tier: 2
3813
+ },
3814
+ {
3815
+ id: 20211,
3816
+ mass: 3840000,
3817
+ type: "entity",
3818
+ tier: 2
3819
+ }
3820
+ ];
3821
+
3822
+ const itemMetadata = {
3823
+ 101: { name: 'Ore', description: 'Crude metallic ore.', color: '#C26D3F' },
3824
+ 102: { name: 'Ore', description: 'Refined metallic ore with improved purity.', color: '#C26D3F' },
3825
+ 103: {
3826
+ name: 'Ore',
3827
+ description: 'High-grade metallic ore with exceptional density.',
3828
+ color: '#C26D3F',
3829
+ },
3830
+ 104: { name: 'Ore', description: '', color: '#C26D3F' },
3831
+ 105: { name: 'Ore', description: '', color: '#C26D3F' },
3832
+ 106: { name: 'Ore', description: '', color: '#C26D3F' },
3833
+ 107: { name: 'Ore', description: '', color: '#C26D3F' },
3834
+ 108: { name: 'Ore', description: '', color: '#C26D3F' },
3835
+ 109: { name: 'Ore', description: '', color: '#C26D3F' },
3836
+ 110: { name: 'Ore', description: '', color: '#C26D3F' },
3837
+ 201: { name: 'Crystal', description: 'Raw resonant crystal.', color: '#4ADBFF' },
3838
+ 202: {
3839
+ name: 'Crystal',
3840
+ description: 'Refined resonant crystal with improved clarity.',
3841
+ color: '#4ADBFF',
3842
+ },
3843
+ 203: {
3844
+ name: 'Crystal',
3845
+ description: 'High-grade resonant crystal with exceptional purity.',
3846
+ color: '#4ADBFF',
3847
+ },
3848
+ 204: { name: 'Crystal', description: '', color: '#4ADBFF' },
3849
+ 205: { name: 'Crystal', description: '', color: '#4ADBFF' },
3850
+ 206: { name: 'Crystal', description: '', color: '#4ADBFF' },
3851
+ 207: { name: 'Crystal', description: '', color: '#4ADBFF' },
3852
+ 208: { name: 'Crystal', description: '', color: '#4ADBFF' },
3853
+ 209: { name: 'Crystal', description: '', color: '#4ADBFF' },
3854
+ 210: { name: 'Crystal', description: '', color: '#4ADBFF' },
3855
+ 301: { name: 'Gas', description: 'Raw volatile gas.', color: '#B877FF' },
3856
+ 302: {
3857
+ name: 'Gas',
3858
+ description: 'Refined volatile gas with improved reactivity.',
3859
+ color: '#B877FF',
3860
+ },
3861
+ 303: {
3862
+ name: 'Gas',
3863
+ description: 'High-grade volatile gas with exceptional energy density.',
3864
+ color: '#B877FF',
3865
+ },
3866
+ 304: { name: 'Gas', description: '', color: '#B877FF' },
3867
+ 305: { name: 'Gas', description: '', color: '#B877FF' },
3868
+ 306: { name: 'Gas', description: '', color: '#B877FF' },
3869
+ 307: { name: 'Gas', description: '', color: '#B877FF' },
3870
+ 308: { name: 'Gas', description: '', color: '#B877FF' },
3871
+ 309: { name: 'Gas', description: '', color: '#B877FF' },
3872
+ 310: { name: 'Gas', description: '', color: '#B877FF' },
3873
+ 401: { name: 'Regolith', description: 'Crude regolith dust.', color: '#C4A57B' },
3874
+ 402: {
3875
+ name: 'Regolith',
3876
+ description: 'Refined regolith with improved fineness.',
3877
+ color: '#C4A57B',
3878
+ },
3879
+ 403: {
3880
+ name: 'Regolith',
3881
+ description: 'High-grade regolith with exceptional uniformity.',
3882
+ color: '#C4A57B',
3883
+ },
3884
+ 404: { name: 'Regolith', description: '', color: '#C4A57B' },
3885
+ 405: { name: 'Regolith', description: '', color: '#C4A57B' },
3886
+ 406: { name: 'Regolith', description: '', color: '#C4A57B' },
3887
+ 407: { name: 'Regolith', description: '', color: '#C4A57B' },
3888
+ 408: { name: 'Regolith', description: '', color: '#C4A57B' },
3889
+ 409: { name: 'Regolith', description: '', color: '#C4A57B' },
3890
+ 410: { name: 'Regolith', description: '', color: '#C4A57B' },
3891
+ 501: { name: 'Biomass', description: 'Crude organic biomass.', color: '#5A8B3E' },
3892
+ 502: {
3893
+ name: 'Biomass',
3894
+ description: 'Refined biomass with improved plasticity.',
3895
+ color: '#5A8B3E',
3896
+ },
3897
+ 503: {
3898
+ name: 'Biomass',
3899
+ description: 'High-grade biomass with exceptional saturation.',
3900
+ color: '#5A8B3E',
3901
+ },
3902
+ 504: { name: 'Biomass', description: '', color: '#5A8B3E' },
3903
+ 505: { name: 'Biomass', description: '', color: '#5A8B3E' },
3904
+ 506: { name: 'Biomass', description: '', color: '#5A8B3E' },
3905
+ 507: { name: 'Biomass', description: '', color: '#5A8B3E' },
3906
+ 508: { name: 'Biomass', description: '', color: '#5A8B3E' },
3907
+ 509: { name: 'Biomass', description: '', color: '#5A8B3E' },
3908
+ 510: { name: 'Biomass', description: '', color: '#5A8B3E' },
3909
+ 10001: {
3910
+ name: 'Plate',
3911
+ description: 'Structural plating formed from ore. Used in hulls, containers, and storage modules.',
3912
+ color: '#7B8D9E',
3913
+ },
3914
+ 10002: {
3915
+ name: 'Frame',
3916
+ description: 'Composite framing formed from fine regolith bound in biomass polymer. Dense enough to seal cargo holds, flexible enough to absorb vibration.',
3917
+ color: '#C4A57B',
3918
+ },
3919
+ 10003: {
3920
+ name: 'Plasma Cell',
3921
+ description: 'High-energy gaseous storage cell. Volatile gas held under controlled thermal conditions.',
3922
+ color: '#E86344',
3923
+ },
3924
+ 10004: {
3925
+ name: 'Resonator',
3926
+ description: 'Crystalline resonance lattice. Stores and releases charge through coherent oscillation.',
3927
+ color: '#4ADBFF',
3928
+ },
3929
+ 10005: {
3930
+ name: 'Beam',
3931
+ description: 'Heavy-duty structural beam machined from refined ore. Strong enough to bear load, tolerant enough to survive harsh environments.',
3932
+ color: '#7B8D9E',
3933
+ },
3934
+ 10006: {
3935
+ name: 'Sensor',
3936
+ description: 'Crystal-lattice sensing element with conductive and reflective properties. Reads signal and surface alike.',
3937
+ color: '#4ADBFF',
3938
+ },
3939
+ 10007: {
3940
+ name: 'Polymer',
3941
+ description: 'Pliable biomass-derived polymer with high insulation. Flexible, durable, electrically inert.',
3942
+ color: '#5A8B3E',
3943
+ },
3944
+ 10008: {
3945
+ name: 'Ceramic',
3946
+ description: 'Hardened fine-grained ceramic refined from regolith. Hard enough to cut, fine enough to finish.',
3947
+ color: '#C4A57B',
3948
+ },
3949
+ 10009: {
3950
+ name: 'Reactor',
3951
+ description: 'Gas-pressurized vessel for controlled reactions. Vents heat and contains volatility.',
3952
+ color: '#B877FF',
3953
+ },
3954
+ 10010: {
3955
+ name: 'Resin',
3956
+ description: 'Saturated organic binder cured from biomass. A pliable matrix for haulage and field components.',
3957
+ color: '#5A8B3E',
3958
+ },
3959
+ 10100: {
3960
+ name: 'Engine',
3961
+ description: 'Basic propulsion system. Converts volatile gases into thrust.',
3962
+ color: '#E86344',
3963
+ },
3964
+ 10101: {
3965
+ name: 'Power Core',
3966
+ description: 'Basic energy system. Stores and recharges energy from resonant crystals.',
3967
+ color: '#4ADBFF',
3968
+ },
3969
+ 10102: {
3970
+ name: 'Limpet Bay',
3971
+ description: 'Basic gathering system. Probes and conduits for raw resources.',
3972
+ color: '#7B8D9E',
3973
+ },
3974
+ 10103: {
3975
+ name: 'Shuttle Bay',
3976
+ description: 'Basic cargo handling system. Loads and unloads cargo with articulated arms.',
3977
+ color: '#5A8B3E',
3978
+ },
3979
+ 10104: {
3980
+ name: 'Fabricator',
3981
+ description: 'Basic crafting system. Processes materials using reaction chambers and cutting tools.',
3982
+ color: '#B877FF',
3983
+ },
3984
+ 10105: {
3985
+ name: 'Cargo Hold',
3986
+ description: 'Expanded cargo storage with reinforced internal holds.',
3987
+ color: '#8B7355',
3988
+ },
3989
+ 10106: {
3990
+ name: 'Tractor Beam',
3991
+ description: 'Projects a haul beam to lock onto and transport containers or warehouses through group travel.',
3992
+ color: '#4ADBFF',
3993
+ },
3994
+ 10107: {
3995
+ name: 'Warp Drive',
3996
+ description: 'Folds local space-time around the hull, projecting the ship across vast distances in a single discharge of the entire energy reserve.',
3997
+ color: '#9be4ff',
3998
+ },
3999
+ 10108: {
4000
+ name: 'Battery Bank',
4001
+ description: 'Stores additional charge produced by the power core.',
4002
+ color: '#4ADBFF',
4003
+ },
4004
+ 10109: {
4005
+ name: 'Drive Coil',
4006
+ description: 'Accelerates and launches cargo payloads toward a remote mass catcher.',
4007
+ color: '#E86344',
4008
+ },
4009
+ 10200: {
4010
+ name: 'Container',
4011
+ description: 'Passive floating cargo storage in space. Towed by ships.',
4012
+ color: '#7B8D9E',
4013
+ },
4014
+ 10201: {
4015
+ name: 'Roustabout',
4016
+ description: 'General-purpose vessel with 5 module slots.',
4017
+ color: '#4AE898',
4018
+ },
4019
+ 10202: {
4020
+ name: 'Warehouse',
4021
+ description: 'Massive stationary storage facility with a single loader module slot.',
4022
+ color: '#EAB308',
4023
+ },
4024
+ 10203: {
4025
+ name: 'Mining Rig',
4026
+ description: 'Planetary resource extraction facility with generator and gatherer module slots.',
4027
+ color: '#D4726F',
4028
+ },
4029
+ 10204: {
4030
+ name: 'Factory',
4031
+ description: 'Planetary fabrication facility with generator and crafter module slots.',
4032
+ color: '#7BA7D4',
4033
+ },
4034
+ 10205: {
4035
+ name: 'Mass Driver',
4036
+ description: 'Planetary launch platform with power core and drive coil module slots.',
4037
+ color: '#E86344',
4038
+ },
4039
+ 10206: {
4040
+ name: 'Mass Catcher',
4041
+ description: 'Planetary receiving platform with storage module slots; catches launched payloads.',
4042
+ color: '#4AE898',
4043
+ },
4044
+ 10207: {
4045
+ name: 'Station Hub',
4046
+ description: 'Orbital command structure. Anchors a player station cluster.',
4047
+ color: '#A0B8D0',
4048
+ },
4049
+ 20001: {
4050
+ name: 'Plate',
4051
+ description: 'Advanced structural plating reinforced with tier 2 ore.',
4052
+ color: '#9BADB8',
4053
+ },
4054
+ 20002: {
4055
+ name: 'Frame',
4056
+ description: 'Advanced composite framing reinforced with tier 2 regolith and biomass polymer.',
4057
+ color: '#C4A57B',
4058
+ },
4059
+ 20003: {
4060
+ name: 'Plasma Cell',
4061
+ description: 'Advanced high-energy gaseous storage cell reinforced with tier 2 gas.',
4062
+ color: '#E86344',
4063
+ },
4064
+ 20004: {
4065
+ name: 'Resonator',
4066
+ description: 'Advanced crystalline resonance lattice reinforced with tier 2 crystal.',
4067
+ color: '#4ADBFF',
4068
+ },
4069
+ 20005: {
4070
+ name: 'Beam',
4071
+ description: 'Advanced heavy-duty structural beam reinforced with tier 2 ore.',
4072
+ color: '#7B8D9E',
4073
+ },
4074
+ 20006: {
4075
+ name: 'Sensor',
4076
+ description: 'Advanced crystal-lattice sensing element reinforced with tier 2 crystal.',
4077
+ color: '#4ADBFF',
4078
+ },
4079
+ 20007: {
4080
+ name: 'Polymer',
4081
+ description: 'Advanced pliable biomass-derived polymer reinforced with tier 2 biomass.',
4082
+ color: '#5A8B3E',
4083
+ },
4084
+ 20008: {
4085
+ name: 'Ceramic',
4086
+ description: 'Advanced hardened ceramic reinforced with tier 2 regolith.',
4087
+ color: '#C4A57B',
4088
+ },
4089
+ 20009: {
4090
+ name: 'Reactor',
4091
+ description: 'Advanced gas-pressurized reaction vessel reinforced with tier 2 gas.',
4092
+ color: '#B877FF',
4093
+ },
4094
+ 20010: {
4095
+ name: 'Resin',
4096
+ description: 'Advanced saturated organic binder reinforced with tier 2 biomass.',
4097
+ color: '#5A8B3E',
4098
+ },
4099
+ 20102: {
4100
+ name: 'Limpet Bay',
4101
+ description: 'Advanced gathering system. Reinforced probes and conduits for deeper yield.',
4102
+ color: '#7B8D9E',
4103
+ },
4104
+ 20106: {
4105
+ name: 'Tractor Beam',
4106
+ description: 'Advanced haul beam projector reinforced with tier 2 components for greater towing capacity.',
4107
+ color: '#4ADBFF',
4108
+ },
4109
+ 20200: {
4110
+ name: 'Container',
4111
+ description: 'Advanced cargo container with improved capacity formulas.',
4112
+ color: '#9BADB8',
4113
+ },
4114
+ 20210: {
4115
+ name: 'Prospector',
4116
+ description: 'Advanced exploration vessel with tiered engine, power core, and limpet bay slots.',
4117
+ color: '#4AE898',
4118
+ },
4119
+ 20211: {
4120
+ name: 'Hauler',
4121
+ description: 'Advanced towing vessel with tiered engine, generator, and tractor beam slots.',
4122
+ color: '#4AE898',
4123
+ },
4124
+ };
4125
+ for (const item of items) {
4126
+ if (!itemMetadata[item.id]) {
4127
+ throw new Error(`Missing metadata for item ${item.id}. Add an entry to metadata.ts.`);
4128
+ }
4129
+ }
4130
+
4131
+ var TaskType;
4132
+ (function (TaskType) {
4133
+ TaskType[TaskType["IDLE"] = 0] = "IDLE";
4134
+ TaskType[TaskType["TRAVEL"] = 1] = "TRAVEL";
4135
+ TaskType[TaskType["RECHARGE"] = 2] = "RECHARGE";
4136
+ TaskType[TaskType["LOAD"] = 3] = "LOAD";
4137
+ TaskType[TaskType["UNLOAD"] = 4] = "UNLOAD";
4138
+ TaskType[TaskType["GATHER"] = 5] = "GATHER";
4139
+ TaskType[TaskType["WARP"] = 6] = "WARP";
4140
+ TaskType[TaskType["CRAFT"] = 7] = "CRAFT";
4141
+ TaskType[TaskType["DEPLOY"] = 8] = "DEPLOY";
4142
+ TaskType[TaskType["TRANSIT"] = 9] = "TRANSIT";
4143
+ TaskType[TaskType["UNWRAP"] = 10] = "UNWRAP";
4144
+ TaskType[TaskType["UNDEPLOY"] = 11] = "UNDEPLOY";
4145
+ TaskType[TaskType["DEMOLISH"] = 13] = "DEMOLISH";
4146
+ TaskType[TaskType["CLAIMPLOT"] = 14] = "CLAIMPLOT";
4147
+ TaskType[TaskType["BUILDPLOT"] = 15] = "BUILDPLOT";
4148
+ TaskType[TaskType["CHARGE"] = 16] = "CHARGE";
4149
+ TaskType[TaskType["UPGRADE"] = 17] = "UPGRADE";
4150
+ })(TaskType || (TaskType = {}));
4151
+ var HoldKind;
4152
+ (function (HoldKind) {
4153
+ HoldKind[HoldKind["PULL"] = 1] = "PULL";
4154
+ HoldKind[HoldKind["PUSH"] = 2] = "PUSH";
4155
+ HoldKind[HoldKind["GATHER"] = 3] = "GATHER";
4156
+ HoldKind[HoldKind["BUILD"] = 4] = "BUILD";
4157
+ HoldKind[HoldKind["UPGRADE"] = 6] = "UPGRADE";
4158
+ })(HoldKind || (HoldKind = {}));
4159
+ var LocationType;
4160
+ (function (LocationType) {
4161
+ LocationType[LocationType["EMPTY"] = 0] = "EMPTY";
4162
+ LocationType[LocationType["PLANET"] = 1] = "PLANET";
4163
+ LocationType[LocationType["ASTEROID"] = 2] = "ASTEROID";
4164
+ LocationType[LocationType["NEBULA"] = 3] = "NEBULA";
4165
+ LocationType[LocationType["ICE_FIELD"] = 4] = "ICE_FIELD";
4166
+ })(LocationType || (LocationType = {}));
4167
+ var TaskCancelable;
4168
+ (function (TaskCancelable) {
4169
+ TaskCancelable[TaskCancelable["NEVER"] = 0] = "NEVER";
4170
+ TaskCancelable[TaskCancelable["BEFORE_START"] = 1] = "BEFORE_START";
4171
+ TaskCancelable[TaskCancelable["ALWAYS"] = 2] = "ALWAYS";
4172
+ })(TaskCancelable || (TaskCancelable = {}));
4173
+ class Coordinates extends Types.coordinates {
4174
+ static from(value) {
4175
+ return super.from(value);
4176
+ }
4177
+ equals(other) {
4178
+ const coords = Coordinates.from(other);
4179
+ return this.x.equals(coords.x) && this.y.equals(coords.y);
4180
+ }
4181
+ toLocationId() {
4182
+ return coordsToLocationId(this);
4183
+ }
4184
+ }
4185
+ function coordsToLocationId(coords) {
4186
+ const c = Coordinates.from(coords);
4187
+ const mask = BigInt(0xffffffff);
4188
+ const x = BigInt(c.x.toNumber()) & mask;
4189
+ const y = BigInt(c.y.toNumber()) & mask;
4190
+ const id = (x << BigInt(32)) | y;
4191
+ return UInt64.from(id);
4192
+ }
4193
+
4194
+ const itemsById = new Map();
4195
+ for (const raw of items) {
4196
+ const meta = itemMetadata[raw.id];
4197
+ if (!meta) {
4198
+ throw new Error(`Missing metadata for item ${raw.id}. Add an entry to metadata.ts.`);
4199
+ }
4200
+ itemsById.set(raw.id, {
4201
+ id: raw.id,
4202
+ name: meta.name,
4203
+ description: meta.description,
4204
+ color: meta.color,
4205
+ mass: raw.mass,
4206
+ type: raw.type,
4207
+ tier: raw.tier,
4208
+ category: raw.category,
4209
+ moduleType: raw.type === 'module' ? raw.subtype : undefined,
4210
+ });
4211
+ }
4212
+ Array.from(itemsById.keys());
4213
+
4214
+ function cargoItemToStack(item) {
4215
+ return {
4216
+ item_id: UInt16.from(item.item_id),
4217
+ quantity: UInt32.from(item.quantity),
4218
+ stats: UInt64.from(item.stats),
4219
+ modules: item.modules ?? [],
4220
+ };
4221
+ }
4222
+ function statsEquals(a, b) {
4223
+ return a.equals(b);
4224
+ }
4225
+ function stackIdentityEqual(a, b) {
4226
+ return a.item_id.equals(b.item_id) && statsEquals(a.stats, b.stats);
4227
+ }
4228
+ function mergeStacks(stacks, add) {
4229
+ const idx = stacks.findIndex((s) => stackIdentityEqual(s, add));
4230
+ if (idx === -1) {
4231
+ return [...stacks, { ...add }];
4232
+ }
4233
+ const result = stacks.slice();
4234
+ result[idx] = {
4235
+ ...result[idx],
4236
+ quantity: UInt32.from(result[idx].quantity.adding(add.quantity)),
4237
+ };
4238
+ return result;
4239
+ }
4240
+
4241
+ function assertProjectionEquals(contract, sdk, options = {}) {
4242
+ const mismatches = [];
4243
+ const record = (name, c, s) => {
4244
+ if (c !== s)
4245
+ mismatches.push(` ${name}: contract=${fmt(c)} sdk=${fmt(s)}`);
4246
+ };
4247
+ const recordStatBlock = (name, c, s) => {
4248
+ const cPresent = c !== undefined && c !== null;
4249
+ const sPresent = s !== undefined && s !== null;
4250
+ if (cPresent !== sPresent) {
4251
+ mismatches.push(` ${name}: contract=${cPresent ? 'present' : 'absent'} sdk=${sPresent ? 'present' : 'absent'}`);
4252
+ return;
4253
+ }
4254
+ if (!cPresent)
4255
+ return;
4256
+ const cn = JSON.stringify(normaliseStatBlock(c));
4257
+ const sn = JSON.stringify(normaliseStatBlock(s));
4258
+ if (cn !== sn)
4259
+ mismatches.push(` ${name}: contract=${cn} sdk=${sn}`);
4260
+ };
4261
+ record('coordinates.x', toNum(contract.coordinates.x), Number(sdk.location.x));
4262
+ record('coordinates.y', toNum(contract.coordinates.y), Number(sdk.location.y));
4263
+ record('energy', toNum(contract.energy), Number(sdk.energy));
4264
+ record('cargomass', toNum(contract.cargomass), Number(sdk.cargoMass));
4265
+ record('hullmass', toNum(contract.hullmass), Number(sdk.shipMass));
4266
+ record('capacity', toNum(contract.capacity), sdk.capacity ? Number(sdk.capacity) : undefined);
4267
+ recordStatBlock('engines', contract.engines, sdk.engines);
4268
+ recordStatBlock('generator', contract.generator, sdk.generator);
4269
+ recordStatBlock('hauler', contract.hauler, sdk.hauler);
4270
+ const normLane = (l) => Object.fromEntries(Object.entries(l)
4271
+ .filter(([k]) => k !== 'slot_index')
4272
+ .map(([k, v]) => [k, toNum(v) ?? 0]));
4273
+ const compareLanes = (name, cLanes, sLanes) => {
4274
+ if (cLanes.length !== sLanes.length) {
4275
+ mismatches.push(` ${name}.length: contract=${cLanes.length} sdk=${sLanes.length}`);
4276
+ return;
4277
+ }
4278
+ for (let i = 0; i < cLanes.length; i++) {
4279
+ const cn = JSON.stringify(normLane(cLanes[i]));
4280
+ const sn = JSON.stringify(normLane(sLanes[i]));
4281
+ if (cn !== sn)
4282
+ mismatches.push(` ${name}[${i}]: contract=${cn} sdk=${sn}`);
4283
+ }
4284
+ };
4285
+ compareLanes('gatherer_lanes', contract.gatherer_lanes, sdk.gathererLanes ?? []);
4286
+ compareLanes('crafter_lanes', contract.crafter_lanes, sdk.crafterLanes ?? []);
4287
+ compareLanes('loader_lanes', contract.loader_lanes, sdk.loaderLanes ?? []);
4288
+ if (contract.cargo.length > 0 || sdk.cargo.length > 0) {
4289
+ const contractCargo = normaliseCargo(mergeContractCargo(contract.cargo));
4290
+ const sdkCargo = normaliseCargo(sdk.cargo);
4291
+ if (contractCargo.length !== sdkCargo.length) {
4292
+ mismatches.push(` cargo.length: contract=${contractCargo.length} sdk=${sdkCargo.length}`);
4293
+ }
4294
+ else {
4295
+ for (let i = 0; i < contractCargo.length; i++) {
4296
+ const c = contractCargo[i];
4297
+ const s = sdkCargo[i];
4298
+ if (c.itemId !== s.itemId || c.stats !== s.stats || c.quantity !== s.quantity) {
4299
+ mismatches.push(` cargo[${i}]: contract={item:${c.itemId},stats:${c.stats},qty:${c.quantity}} sdk={item:${s.itemId},stats:${s.stats},qty:${s.quantity}}`);
4300
+ }
4301
+ }
4302
+ }
4303
+ }
4304
+ if (mismatches.length > 0) {
4305
+ const header = options.step !== undefined
4306
+ ? `projection divergence at step ${options.step}:`
4307
+ : 'projection divergence:';
4308
+ throw new Error([header, ...mismatches].join('\n'));
4309
+ }
4310
+ }
4311
+ function mergeContractCargo(cargo) {
4312
+ return cargo.reduce((acc, row) => mergeStacks(acc, cargoItemToStack(row)), []);
4313
+ }
4314
+ function normaliseCargo(cargo) {
4315
+ return cargo
4316
+ .map((s) => ({
4317
+ itemId: Number(s.item_id),
4318
+ stats: BigInt(s.stats.toString()).toString(),
4319
+ quantity: BigInt(s.quantity.toString()).toString(),
4320
+ }))
4321
+ .sort(stackSort);
4322
+ }
4323
+ function stackSort(a, b) {
4324
+ if (a.itemId !== b.itemId)
4325
+ return a.itemId - b.itemId;
4326
+ return a.stats < b.stats ? -1 : a.stats > b.stats ? 1 : 0;
4327
+ }
4328
+ function toNum(v) {
4329
+ if (v === undefined || v === null)
4330
+ return undefined;
4331
+ if (typeof v === 'number')
4332
+ return v;
4333
+ if (typeof v === 'bigint')
4334
+ return Number(v);
4335
+ if (typeof v.toNumber === 'function') {
4336
+ return v.toNumber();
4337
+ }
4338
+ return Number(v);
4339
+ }
4340
+ function fmt(v) {
4341
+ if (v === undefined)
4342
+ return 'undefined';
4343
+ if (v === null)
4344
+ return 'null';
4345
+ return String(v);
4346
+ }
4347
+ function normaliseStatBlock(block) {
4348
+ const out = {};
4349
+ const obj = block;
4350
+ for (const k of Object.keys(obj).sort()) {
4351
+ out[k] = toNum(obj[k]) ?? 0;
4352
+ }
4353
+ return out;
4354
+ }
4355
+
4356
+ export { CATALOG_FILES_REL, assertProjectionEquals, computeCatalogHash };
4357
+ //# sourceMappingURL=testing.m.js.map