@shipload/sdk 0.7.1 → 1.0.0-beta1

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 (94) hide show
  1. package/lib/shipload.d.ts +2730 -287
  2. package/lib/shipload.js +10862 -2229
  3. package/lib/shipload.js.map +1 -1
  4. package/lib/shipload.m.js +10434 -2171
  5. package/lib/shipload.m.js.map +1 -1
  6. package/package.json +11 -20
  7. package/src/capabilities/crafting.ts +22 -0
  8. package/src/capabilities/gathering.ts +36 -0
  9. package/src/capabilities/guards.ts +38 -0
  10. package/src/capabilities/hauling.ts +22 -0
  11. package/src/capabilities/index.ts +8 -0
  12. package/src/capabilities/loading.ts +8 -0
  13. package/src/capabilities/modules.ts +86 -0
  14. package/src/capabilities/movement.ts +29 -0
  15. package/src/capabilities/storage.ts +159 -0
  16. package/src/contracts/server.ts +1389 -285
  17. package/src/data/capabilities.ts +408 -0
  18. package/src/data/catalog.ts +135 -0
  19. package/src/data/categories.ts +55 -0
  20. package/src/data/colors.ts +84 -0
  21. package/src/data/entities.json +50 -0
  22. package/src/data/item-ids.ts +75 -0
  23. package/src/data/items.json +252 -0
  24. package/src/data/locations.ts +53 -0
  25. package/src/data/metadata.ts +208 -0
  26. package/src/data/nebula-adjectives.json +211 -0
  27. package/src/data/nebula-nouns.json +151 -0
  28. package/src/data/recipes-runtime.ts +65 -0
  29. package/src/data/recipes.json +878 -0
  30. package/src/data/syllables.json +1790 -0
  31. package/src/data/tiers.ts +45 -0
  32. package/src/derivation/crafting.ts +350 -0
  33. package/src/derivation/index.ts +32 -0
  34. package/src/derivation/location-size.ts +15 -0
  35. package/src/derivation/resources.ts +112 -0
  36. package/src/derivation/stats.ts +146 -0
  37. package/src/derivation/strata.ts +43 -0
  38. package/src/derivation/stratum.ts +134 -0
  39. package/src/derivation/tiers.ts +54 -0
  40. package/src/entities/cargo-utils.ts +84 -0
  41. package/src/entities/container.ts +108 -0
  42. package/src/entities/entity-inventory.ts +39 -0
  43. package/src/entities/gamestate.ts +152 -0
  44. package/src/entities/inventory-accessor.ts +42 -0
  45. package/src/entities/location.ts +60 -0
  46. package/src/entities/makers.ts +196 -0
  47. package/src/entities/player.ts +15 -0
  48. package/src/entities/ship-deploy.ts +258 -0
  49. package/src/entities/ship.ts +204 -0
  50. package/src/entities/warehouse.ts +119 -0
  51. package/src/errors.ts +100 -9
  52. package/src/format.ts +12 -0
  53. package/src/index-module.ts +317 -7
  54. package/src/managers/actions.ts +250 -0
  55. package/src/managers/base.ts +25 -0
  56. package/src/managers/context.ts +114 -0
  57. package/src/managers/entities.ts +103 -0
  58. package/src/managers/epochs.ts +47 -0
  59. package/src/managers/index.ts +9 -0
  60. package/src/managers/locations.ts +68 -0
  61. package/src/managers/players.ts +13 -0
  62. package/src/nft/description.ts +176 -0
  63. package/src/nft/deserializers.ts +83 -0
  64. package/src/nft/index.ts +2 -0
  65. package/src/resolution/describe-module.ts +166 -0
  66. package/src/resolution/display-name.ts +39 -0
  67. package/src/resolution/resolve-item.ts +358 -0
  68. package/src/scheduling/accessor.ts +82 -0
  69. package/src/{epoch.ts → scheduling/epoch.ts} +1 -1
  70. package/src/scheduling/projection.ts +463 -0
  71. package/src/scheduling/schedule.ts +179 -0
  72. package/src/shipload.ts +47 -160
  73. package/src/subscriptions/connection.ts +154 -0
  74. package/src/subscriptions/debug.ts +17 -0
  75. package/src/subscriptions/index.ts +5 -0
  76. package/src/subscriptions/manager.ts +240 -0
  77. package/src/subscriptions/mappers.ts +28 -0
  78. package/src/subscriptions/types.ts +143 -0
  79. package/src/travel/travel.ts +500 -0
  80. package/src/types/capabilities.ts +76 -0
  81. package/src/types/entity-traits.ts +69 -0
  82. package/src/types/entity.ts +39 -0
  83. package/src/types/index.ts +3 -0
  84. package/src/types.ts +140 -35
  85. package/src/{hash.ts → utils/hash.ts} +2 -2
  86. package/src/utils/system.ts +168 -0
  87. package/src/goods.ts +0 -124
  88. package/src/market.ts +0 -214
  89. package/src/rolls.ts +0 -8
  90. package/src/ship.ts +0 -36
  91. package/src/state.ts +0 -0
  92. package/src/syllables.ts +0 -1184
  93. package/src/system.ts +0 -37
  94. package/src/travel.ts +0 -259
@@ -1,17 +1,22 @@
1
1
  import type {
2
2
  Action,
3
3
  Checksum256Type,
4
+ Int32Type,
4
5
  Int64Type,
5
6
  NameType,
7
+ TimePointType,
6
8
  UInt16Type,
9
+ UInt32Type,
7
10
  UInt64Type,
11
+ UInt8Type,
8
12
  } from '@wharfkit/antelope'
9
13
  import {
10
14
  ABI,
11
15
  Blob,
16
+ Bytes,
12
17
  Checksum256,
13
18
  Checksum512,
14
- Float64,
19
+ Int32,
15
20
  Int64,
16
21
  Name,
17
22
  Struct,
@@ -24,10 +29,32 @@ import {
24
29
  import type {ActionOptions, ContractArgs, PartialBy, Table} from '@wharfkit/contract'
25
30
  import {Contract as BaseContract} from '@wharfkit/contract'
26
31
  export const abiBlob = Blob.from(
27
- 'DmVvc2lvOjphYmkvMS4yACcHYWR2YW5jZQACBnJldmVhbAZzdHJpbmcGY29tbWl0C2NoZWNrc3VtMjU2BmFycml2ZQABAmlkBnVpbnQ2NAhidXlnb29kcwADB3NoaXBfaWQGdWludDY0B2dvb2RfaWQGdWludDY0CHF1YW50aXR5BnVpbnQ2NAdidXlzaGlwAAIHYWNjb3VudARuYW1lBG5hbWUGc3RyaW5nCWNhcmdvX3JvdwAGAmlkBnVpbnQ2NAdzaGlwX2lkBnVpbnQ2NAdnb29kX2lkBnVpbnQ2NARwYWlkBnVpbnQ2NAVvd25lZAZ1aW50MzIGbG9hZGVkBnVpbnQzMgpjbGVhcnRhYmxlAAMKdGFibGVfbmFtZQRuYW1lBXNjb3BlBW5hbWU/CG1heF9yb3dzB3VpbnQ2ND8GY29tbWl0AAEGY29tbWl0C2NoZWNrc3VtMjU2C2Nvb3JkaW5hdGVzAAIBeAVpbnQ2NAF5BWludDY0BmVuYWJsZQABB2VuYWJsZWQEYm9vbApnb29kX3ByaWNlAAMCaWQGdWludDE2BXByaWNlBnVpbnQ2NAZzdXBwbHkGdWludDY0BGhhc2gAAQV2YWx1ZQZzdHJpbmcHaGFzaDUxMgABBXZhbHVlBnN0cmluZwRpbml0AAEEc2VlZAtjaGVja3N1bTI1NghqZXR0aXNvbgADB3NoaXBfaWQGdWludDY0B2dvb2RfaWQGdWludDE2CHF1YW50aXR5BnVpbnQ2NARqb2luAAEHYWNjb3VudARuYW1lDGxvYWRlcl9zdGF0cwADBG1hc3MGdWludDMyCHF1YW50aXR5BnVpbnQxNgZ0aHJ1c3QGdWludDMyDGxvY2F0aW9uX3JvdwAFAmlkBnVpbnQ2NAtjb29yZGluYXRlcwtjb29yZGluYXRlcwVlcG9jaAZ1aW50NjQHZ29vZF9pZAZ1aW50MTYGc3VwcGx5BnVpbnQxNgttYXJrZXRwcmljZQACCGxvY2F0aW9uC2Nvb3JkaW5hdGVzB2dvb2RfaWQGdWludDE2DG1hcmtldHByaWNlcwABCGxvY2F0aW9uC2Nvb3JkaW5hdGVzB3BheWxvYW4AAgdhY2NvdW50BG5hbWUGYW1vdW50BnVpbnQ2NApwbGF5ZXJfcm93AAQFb3duZXIEbmFtZQdiYWxhbmNlBnVpbnQ2NARkZWJ0BnVpbnQ2NAhuZXR3b3J0aAVpbnQ2NARzYWx0AAEEc2FsdAZ1aW50NjQJc2VsbGdvb2RzAAMHc2hpcF9pZAZ1aW50NjQHZ29vZF9pZAZ1aW50NjQIcXVhbnRpdHkGdWludDY0DHNlcXVlbmNlX3JvdwACA2tleQRuYW1lBXZhbHVlBnVpbnQ2NAhzaGlwX3JvdwAKAmlkBnVpbnQ2NAVvd25lcgRuYW1lBG5hbWUGc3RyaW5nCGxvY2F0aW9uC2Nvb3JkaW5hdGVzBHNraW4FdWludDgEdGllcgV1aW50OAVzdGF0ZQpzaGlwX3N0YXRlBXN0YXRzCnNoaXBfc3RhdHMHbG9hZGVycwxsb2FkZXJfc3RhdHMKdHJhdmVscGxhbgx0cmF2ZWxfcGxhbj8Kc2hpcF9zdGF0ZQABBmVuZXJneQZ1aW50MzIKc2hpcF9zdGF0cwAHCGNhcGFjaXR5BnVpbnQzMgVkcmFpbgZ1aW50MzIEbWFzcwZ1aW50NjQHbWF4bWFzcwZ1aW50NjQFb3JiaXQGdWludDE2CHJlY2hhcmdlBnVpbnQzMgZ0aHJ1c3QGdWludDY0CXN0YXRlX3JvdwAGB2VuYWJsZWQEYm9vbAVlcG9jaAZ1aW50NjQEc2FsdAZ1aW50NjQFc2hpcHMGdWludDMyBHNlZWQLY2hlY2tzdW0yNTYGY29tbWl0C2NoZWNrc3VtMjU2CHRha2Vsb2FuAAIHYWNjb3VudARuYW1lBmFtb3VudAZ1aW50NjQGdHJhdmVsAAMCaWQGdWludDY0C2Rlc3RpbmF0aW9uC2Nvb3JkaW5hdGVzCHJlY2hhcmdlBGJvb2wLdHJhdmVsX3BsYW4ACQlkZXBhcnR1cmUKdGltZV9wb2ludAtkZXN0aW5hdGlvbgtjb29yZGluYXRlcwhkaXN0YW5jZQZ1aW50NjQKZmxpZ2h0dGltZQZ1aW50MzIIbG9hZHRpbWUGdWludDMyDHJlY2hhcmdldGltZQZ1aW50MzILbWFzc3BlbmFsdHkGdWludDMyBG1hc3MGdWludDY0C2VuZXJneXVzYWdlBnVpbnQzMg50cmF2ZWxfc3VtbWFyeQANBXN0YXRzCnNoaXBfc3RhdHMHbG9hZGVycwxsb2FkZXJfc3RhdHMGb3JpZ2luC2Nvb3JkaW5hdGVzC2Rlc3RpbmF0aW9uC2Nvb3JkaW5hdGVzCGRpc3RhbmNlBnVpbnQ2NAl0b3RhbG1hc3MGdWludDY0DGFjY2VsZXJhdGlvbgdmbG9hdDY0CmZsaWdodHRpbWUGdWludDMyC2VuZXJneXVzYWdlBnVpbnQzMgxyZWNoYXJnZXRpbWUGdWludDMyC21hc3NwZW5hbHR5BnVpbnQzMghsb2FkdGltZQZ1aW50NjQEdGltZQZ1aW50NjQKdHJhdmVscGxhbgAEAmlkBnVpbnQ2NAZvcmlnaW4LY29vcmRpbmF0ZXMLZGVzdGluYXRpb24LY29vcmRpbmF0ZXMIcmVjaGFyZ2UEYm9vbAp0cmF2ZWx0aW1lAAICaWQGdWludDY0C2Rlc3RpbmF0aW9uC2Nvb3JkaW5hdGVzDHVwZGF0ZWNyZWRpdAACB2FjY291bnQEbmFtZQZhbW91bnQFaW50NjQKdXBkYXRlZGVidAACB2FjY291bnQEbmFtZQZhbW91bnQFaW50NjQLdXBncmFkZXNoaXAAAgdhY2NvdW50BG5hbWUCaWQGdWludDY0BHdpcGUAAAx3aXBlc2VxdWVuY2UAABoAAABAoWl2MgdhZHZhbmNl0wEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogYWR2YW5jZQpzdW1tYXJ5OiAnQWR2YW5jZSB0dXJuJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpBZHZhbmNlIHRoZSBnYW1lIHRvIHRoZSBuZXh0IHR1cm4uAAAAAKjt7jUGYXJyaXZlswItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogYXJyaXZlCnN1bW1hcnk6ICdDb21wbGV0ZSB0cmF2ZWwnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkNvbXBsZXRlIHRoZSB0cmF2ZWwgb2YgYSBzaGlwIGJ5IHVwZGF0aW5nIGl0cyBsb2NhdGlvbiB0byB0aGUgZGVzdGluYXRpb24gY29vcmRpbmF0ZXMgYWZ0ZXIgdGhlIHRyYXZlbCBkdXJhdGlvbiBoYXMgcGFzc2VkLgoKLS0tAAAAOFHKvD4IYnV5Z29vZHPdAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBidXlnb29kcwpzdW1tYXJ5OiAnQnV5IGdvb2RzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpQdXJjaGFzZSBnb29kcyBhbmQgYWRkIHRoZW0gdG8gYSBzaGlwJ3MgY2FyZ28uAAAAoLqGvT4HYnV5c2hpcMYBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGJ1eXNoaXAKc3VtbWFyeTogJ0J1eSBhIG5ldyBzaGlwJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpQdXJjaGFzZSBhIG5ldyBzaGlwAICKx+RrVEQKY2xlYXJ0YWJsZb4BLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNsZWFydGFibGUKc3VtbWFyeTogJ0RFQlVHOiBjbGVhcnRhYmxlIGFjdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQAAAABkJyVFBmNvbW1pdPEBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNvbW1pdApzdW1tYXJ5OiAnU2V0IGNvbW1pdCB2YWx1ZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKU2V0IHRoZSBpbml0aWFsIGNvbW1pdCB2YWx1ZSBkdXJpbmcgZ2FtZSBpbml0aWFsaXphdGlvbi4KCi0tLQAAAACoeMxUBmVuYWJsZeIBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGVuYWJsZQpzdW1tYXJ5OiAnU2V0IGVuYWJsZWQgc3RhdGUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkVuYWJsZSBvciBkaXNhYmxlIHRoaXMgZ2FtZSBvZiBTaGlwbG9hZC4KCi0tLQAAAAAA0LBpBGhhc2j9AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBoYXNoCnN1bW1hcnk6ICdDYWxjdWxhdGUgc2hhMjU2IGhhc2gnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkNhbGN1bGF0ZXMgdGhlIHNoYTI1NiBoYXNoIG9mIGEgc3RyaW5nIGJhc2VkIHVzaW5nIHRoZSBnYW1lIHNlZWQuCgotLS0AAABAhNKwaQdoYXNoNTEy+wEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogaGFzaDUxMgpzdW1tYXJ5OiAnQ2FsY3VsYXRlIHNoYTUxMiBoYXNoJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDYWxjdWxhdGVzIHRoZSBzaGE1MTIgaGFzaCBvZiBhIHN0cmluZyBiYXNlZCB1c2luZyB0aGUgZ2FtZSBzZWVkLgAAAAAAkN10BGluaXT6AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBpbml0CnN1bW1hcnk6ICdJbml0aWFsaXplIGdhbWUgc2VlZCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW5pdGlhbGl6ZSBhIHRoZSBnYW1lcyBzZWVkIGFuZCBzZWVkIHZhbHVlcyB0byBib290c3RyYXAgZ2FtZSBzdGF0ZS4AAACTYpezeghqZXR0aXNvbvkBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGpldHRpc29uCnN1bW1hcnk6ICdKZXR0aXNvbiBDYXJnbyBmcm9tIFNoaXAnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkpldHRpc29uIGNhcmdvIGZyb20gdGhlIGEgc2hpcCBhbmQgcmVjYWxjdWxhdGUgdHJhdmVsIHRpbWUuAAAAAAAwHX0Eam9pbskBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGpvaW4Kc3VtbWFyeTogJ0pvaW4gYSBnYW1lJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpKb2luIGEgZ2FtZSBvZiBTaGlwbG9hZAoKLS0tABRyt2YFr5ELbWFya2V0cHJpY2WbAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBtYXJrZXRwcmljZQpzdW1tYXJ5OiAnR2V0IHByaWNlIG9mIGdvb2QgYXQgbG9jYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIGRldGVybWluZXMgdGhlIG1hcmtldCBwcmljZSBvZiBhIHNwZWNpZmllZCBnb29kIGF0IGEgZ2l2ZW4gbG9jYXRpb24uCgotLS2AFXK3ZgWvkQxtYXJrZXRwcmljZXOVAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBtYXJrZXRwcmljZXMKc3VtbWFyeTogJ0dldCBwcmljZSBvZiBhbGwgZ29vZHMgYXQgbG9jYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIGRldGVybWluZXMgdGhlIG1hcmtldCBwcmljZSBvZiBhbGwgZ29vZHMgYXQgYSBnaXZlbiBsb2NhdGlvbi4AAABgGhq9qQdwYXlsb2Fu3gEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogcGF5bG9hbgpzdW1tYXJ5OiAnTG9hbiBQYXltZW50JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpNYWtlIGEgcGF5bWVudCBvbiBhbiBvdXRzdGFuZGluZyBjcmVkaXQgbG9hbi4AAAAAAJCjwQRzYWx03QEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogc2FsdApzdW1tYXJ5OiAnQXBwZW5kIFNhbHQnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkFkZCBhZGRpdGlvbmFsIHNhbHQgdG8gdGhlIG5leHQgZXBvY2ggc2VlZC4KCi0tLQAAwIlSFqPCCXNlbGxnb29kc9UBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHNlbGxnb29kcwpzdW1tYXJ5OiAnU2VsbCBnb29kcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKU2VsbCBnb29kcyBmcm9tIGEgc2hpcCdzIGNhcmdvLgoKLS0tAAAA09CooMkIdGFrZWxvYW7qAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB0YWtlbG9hbgpzdW1tYXJ5OiAnQ3JlZGl0IExvYW4nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkJvcnJvdyBjcmVkaXRzIGZyb20gdGhlIGJhbmsgdGhhdCB3aWxsIG5lZWQgdG8gYmUgcmVwYWlkLgAAAABEtc3NBnRyYXZlbMgCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHRyYXZlbApzdW1tYXJ5OiAnTW92ZSBhIHNoaXAnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkluaXRpYXRlIHRyYXZlbCBvZiBhIHNoaXAgZnJvbSBpdHMgY3VycmVudCBsb2NhdGlvbiB0byBhIG5ldyBkZXN0aW5hdGlvbi4KCi0tLQoKVGhpcyBhY3Rpb24gZGV0ZXJtaW5lcyB0aGUgbWFya2V0IHByaWNlIG9mIGFsbCBnb29kcyBhdCBhIGdpdmVuIGxvY2F0aW9uLgDANLFGtc3NCnRyYXZlbHBsYW6OAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB0cmF2ZWxwbGFuCnN1bW1hcnk6ICdFc3RpbWF0ZSBhIHRyYXZlbCBwbGFuJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDYWxjdWxhdGUgd2hhdCB0aGUgdHJhdmVsIHBsYW4gaXMgZm9yIGEgc2hpcCB0cmF2ZWxpbmcgdG8gYSBnaXZlbiBsb2NhdGlvbi4KCi0tLQCAki5Htc3NCnRyYXZlbHRpbWWMAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB0cmF2ZWx0aW1lCnN1bW1hcnk6ICdFc3RpbWF0ZSBUcmF2ZWwgVGltZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKRXN0aW1hdGUgdGhlIGR1cmF0aW9uIG9mIGEgc2hpcCB0cmF2ZWxpbmcgd2l0aG91dCBjb21taXR0aW5nIHRvIHRoZSBhY3Rpb24uCgotLS2QXVIXqWxS1Qx1cGRhdGVjcmVkaXTCAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB1cGRhdGVjcmVkaXQKc3VtbWFyeTogJ0RFQlVHOiB1cGRhdGVjcmVkaXQgYWN0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tAEA+KqlsUtUKdXBkYXRlZGVidL4BLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHVwZGF0ZWRlYnQKc3VtbWFyeTogJ0RFQlVHOiB1cGRhdGVkZWJ0IGFjdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQCqa1glc1nVC3VwZ3JhZGVzaGlw1wEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogdXBncmFkZXNoaXAKc3VtbWFyeTogJ1VwZ3JhZGUgYSBTaGlwJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpVcGdyYWRlIGEgc2hpcCB0byB0aGUgbmV4dCB0aWVyLgAAAAAAoKrjBHdpcGWyAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB3aXBlCnN1bW1hcnk6ICdERUJVRzogd2lwZSBhY3Rpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS2g0FTaKqyq4wx3aXBlc2VxdWVuY2XCAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB3aXBlc2VxdWVuY2UKc3VtbWFyeTogJ0RFQlVHOiB3aXBlc2VxdWVuY2UgYWN0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tBgAAAAAAyq5BA2k2NAAACWNhcmdvX3JvdwAAAJO6bBCNA2k2NAAADGxvY2F0aW9uX3JvdwAAAABc5U2sA2k2NAAACnBsYXllcl9yb3cAAAAKTaWtwgNpNjQAAAxzZXF1ZW5jZV9yb3cAAAAAAFBdwwNpNjQAAAhzaGlwX3JvdwAAAAAAlU3GA2k2NAAACXN0YXRlX3JvdwERU2hpcGxvYWQgKFNlcnZlcikRU2hpcGxvYWQgKFNlcnZlcikAAAAGAAAAAADQsGkLY2hlY2tzdW0yNTYAAABAhNKwaQtjaGVja3N1bTUxMgAUcrdmBa+RCmdvb2RfcHJpY2WAFXK3ZgWvkQxnb29kX3ByaWNlW10AwDSxRrXNzQt0cmF2ZWxfcGxhbgCAki5Htc3NDnRyYXZlbF9zdW1tYXJ5'
32
+ 'DmVvc2lvOjphYmkvMS4yAhVCX3ZlY3Rvcl9lbnRpdHlfcmVmX0UMZW50aXR5X3JlZltdDWxvY2F0aW9uX3R5cGUFdWludDiDAQlhZGRtb2R1bGUABQtlbnRpdHlfdHlwZQRuYW1lCWVudGl0eV9pZAZ1aW50NjQMbW9kdWxlX2luZGV4BXVpbnQ4D21vZHVsZV9jYXJnb19pZAZ1aW50NjQPdGFyZ2V0X2NhcmdvX2lkBnVpbnQ2NAhhZGRuZXh1cwADCm5leHVzX25hbWUGc3RyaW5nAXgFaW50NjQBeQVpbnQ2NAdhZHZhbmNlAAIGcmV2ZWFsBnN0cmluZwZjb21taXQLY2hlY2tzdW0yNTYFYmxlbmQAAwtlbnRpdHlfdHlwZQRuYW1lAmlkBnVpbnQ2NAZpbnB1dHMMY2FyZ29faXRlbVtdBmNhbmNlbAADC2VudGl0eV90eXBlBG5hbWUCaWQGdWludDY0BWNvdW50BnVpbnQ2NA5jYW5jZWxfcmVzdWx0cwAGCWVudGl0eV9pZAZ1aW50NjQLZW50aXR5X3R5cGUEbmFtZQ9jYW5jZWxsZWRfY291bnQFdWludDgQc2NoZWR1bGVfc3RhcnRlZAt0aW1lX3BvaW50PwtlbnRpdHlncm91cAd1aW50NjQ/DWdyb3VwX21lbWJlcnMWQl92ZWN0b3JfZW50aXR5X3JlZl9FPwpjYXJnb19pdGVtAAQHaXRlbV9pZAZ1aW50MTYIcXVhbnRpdHkGdWludDMyBXN0YXRzBnVpbnQ2NAdtb2R1bGVzDm1vZHVsZV9lbnRyeVtdCWNhcmdvX3JvdwAGAmlkBnVpbnQ2NAllbnRpdHlfaWQGdWludDY0B2l0ZW1faWQGdWludDY0CHF1YW50aXR5BnVpbnQ2NAVzdGF0cwZ1aW50NjQHbW9kdWxlcw5tb2R1bGVfZW50cnlbXQxjbGFpbXN0YXJ0ZXIAAwdhY2NvdW50BG5hbWUBeAVpbnQ2NAF5BWludDY0CWNsZWFucnN2cAACBWVwb2NoBnVpbnQ2NAhtYXhfcm93cwZ1aW50NjQKY2xlYXJ0YWJsZQADCnRhYmxlX25hbWUEbmFtZQVzY29wZQVuYW1lPwhtYXhfcm93cwd1aW50NjQ/BmNvbW1pdAABBmNvbW1pdAtjaGVja3N1bTI1Ngljb25maWdsb2cAAQZjb25maWcLZ2FtZV9jb25maWcNY29udGFpbmVyX3JvdwAIAmlkBnVpbnQ2NAVvd25lcgRuYW1lBG5hbWUGc3RyaW5nC2Nvb3JkaW5hdGVzC2Nvb3JkaW5hdGVzCGh1bGxtYXNzBnVpbnQzMghjYXBhY2l0eQZ1aW50MzIJY2FyZ29tYXNzBnVpbnQzMghzY2hlZHVsZQlzY2hlZHVsZT8LY29vcmRpbmF0ZXMAAwF4BWludDY0AXkFaW50NjQBegd1aW50MTY/BWNyYWZ0AAULZW50aXR5X3R5cGUEbmFtZQJpZAZ1aW50NjQJcmVjaXBlX2lkBnVpbnQxNghxdWFudGl0eQZ1aW50MzIGaW5wdXRzDGNhcmdvX2l0ZW1bXQ1jcmFmdGVyX3N0YXRzAAIFc3BlZWQGdWludDE2BWRyYWluBnVpbnQxNgxjcmVhdGVlbnRpdHkABQVvd25lcgRuYW1lC2VudGl0eV90eXBlBG5hbWULZW50aXR5X25hbWUGc3RyaW5nAXgFaW50NjQBeQVpbnQ2NAZkZXBsb3kABAtlbnRpdHlfdHlwZQRuYW1lAmlkBnVpbnQ2NA5wYWNrZWRfaXRlbV9pZAZ1aW50MTYFc3RhdHMGdWludDY0CmRlc2NlbnRpdHkABAdpdGVtX2lkBnVpbnQxNgpodWxsX3N0YXRzBnVpbnQ2NAxtb2R1bGVfaXRlbXMIdWludDE2W10MbW9kdWxlX3N0YXRzCHVpbnQ2NFtdBmVuYWJsZQABB2VuYWJsZWQEYm9vbAxlbmVyZ3lfc3RhdHMAAghjYXBhY2l0eQZ1aW50MTYIcmVjaGFyZ2UGdWludDE2FGVudGl0eV9jdXJyZW50X3N0YXRlAAILY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMGZW5lcmd5BnVpbnQxNg9lbnRpdHlfZGVmYXVsdHMAAgt3YXJlaG91c2VfegZ1aW50MTYLY29udGFpbmVyX3oGdWludDE2C2VudGl0eV9pbmZvABkEdHlwZQRuYW1lAmlkBnVpbnQ2NAVvd25lcgRuYW1lC2VudGl0eV9uYW1lBnN0cmluZwtjb29yZGluYXRlcwtjb29yZGluYXRlcwljYXJnb21hc3MGdWludDMyBWNhcmdvDGNhcmdvX2l0ZW1bXQdsb2FkZXJzDWxvYWRlcl9zdGF0cz8HbW9kdWxlcw5tb2R1bGVfZW50cnlbXQZlbmVyZ3kHdWludDE2PwhodWxsbWFzcwd1aW50MzI/B2VuZ2luZXMPbW92ZW1lbnRfc3RhdHM/CWdlbmVyYXRvcg1lbmVyZ3lfc3RhdHM/CGNhcGFjaXR5B3VpbnQzMj8IZ2F0aGVyZXIPZ2F0aGVyZXJfc3RhdHM/BmhhdWxlcg1oYXVsZXJfc3RhdHM/BHdhcnALd2FycF9zdGF0cz8HY3JhZnRlcg5jcmFmdGVyX3N0YXRzPwdpc19pZGxlBGJvb2wMY3VycmVudF90YXNrBXRhc2s/FGN1cnJlbnRfdGFza19lbGFwc2VkBnVpbnQzMhZjdXJyZW50X3Rhc2tfcmVtYWluaW5nBnVpbnQzMg1wZW5kaW5nX3Rhc2tzBnRhc2tbXQdpZGxlX2F0C3RpbWVfcG9pbnQ/CHNjaGVkdWxlCXNjaGVkdWxlPw1lbnRpdHlfbGF5b3V0AAIOZW50aXR5X2l0ZW1faWQGdWludDE2BXNsb3RzCnNsb3RfZGVmW10VZW50aXR5X2xheW91dHNfcmVzdWx0AAEIZW50aXRpZXMPZW50aXR5X2xheW91dFtdCmVudGl0eV9yZWYAAgtlbnRpdHlfdHlwZQRuYW1lCWVudGl0eV9pZAZ1aW50NjQOZW50aXR5X3N1bW1hcnkACAR0eXBlBG5hbWUCaWQGdWludDY0BW93bmVyBG5hbWULZW50aXR5X25hbWUGc3RyaW5nC2Nvb3JkaW5hdGVzC2Nvb3JkaW5hdGVzB2lzX2lkbGUEYm9vbA5yZXNvbHZlZF9jb3VudAZ1aW50MzINcGVuZGluZ19jb3VudAZ1aW50MzIQZW50aXR5X3Rhc2tfaW5mbwAECWVudGl0eV9pZAZ1aW50NjQLZW50aXR5X3R5cGUEbmFtZQp0YXNrX2NvdW50BXVpbnQ4EHNjaGVkdWxlX3N0YXJ0ZWQKdGltZV9wb2ludA9lbnRpdHlncm91cF9yb3cAAgJpZAZ1aW50NjQMcGFydGljaXBhbnRzDGVudGl0eV9yZWZbXQtlbnVtX21lbWJlcgACBXZhbHVlBXVpbnQ4BG5hbWUGc3RyaW5nC2VudW1fcmVzdWx0AAEHbWVtYmVycw1lbnVtX21lbWJlcltdC2dhbWVfY29uZmlnAAMHdmVyc2lvbgZ1aW50MzIIZGVmYXVsdHMPZW50aXR5X2RlZmF1bHRzBWl0ZW1zCml0ZW1fZGVmW10GZ2F0aGVyAAQGc291cmNlCmVudGl0eV9yZWYLZGVzdGluYXRpb24KZW50aXR5X3JlZgdzdHJhdHVtBnVpbnQxNghxdWFudGl0eQZ1aW50MzIOZ2F0aGVyZXJfc3RhdHMABAV5aWVsZAZ1aW50MTYFZHJhaW4GdWludDE2BWRlcHRoBnVpbnQxNgVzcGVlZAZ1aW50MTYJZ2V0Y29uZmlnAAALZ2V0ZW50aXRpZXMAAgVvd25lcgRuYW1lC2VudGl0eV90eXBlBW5hbWU/CWdldGVudGl0eQACC2VudGl0eV90eXBlBG5hbWUJZW50aXR5X2lkBnVpbnQ2NAtnZXRpdGVtZGF0YQAACmdldGl0ZW1pZHMAAAhnZXRpdGVtcwAADGdldGl0ZW10eXBlcwAAC2dldGxvY2F0aW9uAAIBeAVpbnQ2NAF5BWludDY0CmdldGxvY2RhdGEAAgF4BWludDY0AXkFaW50NjQLZ2V0bW9kdHlwZXMAAApnZXRtb2R1bGVzAAAJZ2V0bmVhcmJ5AAMLZW50aXR5X3R5cGUEbmFtZQllbnRpdHlfaWQGdWludDY0CHJlY2hhcmdlBGJvb2wKZ2V0bmZ0aW5mbwAACWdldHBsYXllcgABB2FjY291bnQEbmFtZQlnZXRyZWNpcGUAAQ5vdXRwdXRfaXRlbV9pZAZ1aW50MTYKZ2V0cmVjaXBlcwACC2xvd2VyX2JvdW5kBnVpbnQxNgVsaW1pdAV1aW50OApnZXRyZXNjYXRzAAALZ2V0cmVzZXJ2ZXMAAgF4BWludDY0AXkFaW50NjQMZ2V0cmVzb3VyY2VzAAAIZ2V0c2xvdHMAAApnZXRzdHJhdHVtAAMBeAVpbnQ2NAF5BWludDY0B3N0cmF0dW0GdWludDE2DGdldHN1bW1hcmllcwACBW93bmVyBG5hbWULZW50aXR5X3R5cGUFbmFtZT8LZ3JvdXB0cmF2ZWwABAhlbnRpdGllcwxlbnRpdHlfcmVmW10BeAVpbnQ2NAF5BWludDY0CHJlY2hhcmdlBGJvb2wEaGFzaAABBXZhbHVlBnN0cmluZwdoYXNoNTEyAAEFdmFsdWUGc3RyaW5nDGhhdWxlcl9zdGF0cwADCGNhcGFjaXR5BXVpbnQ4CmVmZmljaWVuY3kGdWludDE2BWRyYWluBnVpbnQxNgRpbml0AAEEc2VlZAtjaGVja3N1bTI1NghpdGVtX2RlZgAFAmlkBnVpbnQxNgRtYXNzBnVpbnQzMgR0eXBlBXVpbnQ4B3N1YnR5cGUFdWludDgEdGllcgV1aW50OAxpdGVtX2lkX3BhaXIAAgJpZAZ1aW50MTYEbmFtZQZzdHJpbmcPaXRlbV9pZHNfcmVzdWx0AAEFaXRlbXMOaXRlbV9pZF9wYWlyW10PaXRlbWRhdGFfcmVzdWx0AAIFaXRlbXMKaXRlbV9kZWZbXQdyZWNpcGVzDnJlY2lwZXNfcmVzdWx0Cml0ZW1zX2luZm8AAQVpdGVtcwppdGVtX2RlZltdBGpvaW4AAQdhY2NvdW50BG5hbWUMbG9hZGVyX3N0YXRzAAMEbWFzcwZ1aW50MzIGdGhydXN0BnVpbnQxNghxdWFudGl0eQV1aW50OBBsb2NhdGlvbl9kZXJpdmVkAAMMc3RhdGljX3Byb3BzD2xvY2F0aW9uX3N0YXRpYwtlcG9jaF9wcm9wcw5sb2NhdGlvbl9lcG9jaARzaXplBnVpbnQxNg5sb2NhdGlvbl9lcG9jaAADBmFjdGl2ZQRib29sBXNlZWQwBXVpbnQ4BXNlZWQxBXVpbnQ4DWxvY2F0aW9uX2luZm8AAgZjb29yZHMLY29vcmRpbmF0ZXMJaXNfc3lzdGVtBGJvb2wMbG9jYXRpb25fcm93AAYCaWQGdWludDY0BW93bmVyBG5hbWULY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMJY2FyZ29tYXNzBnVpbnQzMgVjYXJnbwxjYXJnb19pdGVtW10Ic2NoZWR1bGUJc2NoZWR1bGU/D2xvY2F0aW9uX3N0YXRpYwAFBmNvb3Jkcwtjb29yZGluYXRlcwR0eXBlDWxvY2F0aW9uX3R5cGUHc3VidHlwZQV1aW50OAVzZWVkMAV1aW50OAVzZWVkMQV1aW50OAxtb2R1bGVfZW50cnkAAgR0eXBlBXVpbnQ4CWluc3RhbGxlZA5wYWNrZWRfbW9kdWxlPwttb2R1bGVfaW5mbwAEAmlkBnVpbnQxNgRtYXNzBnVpbnQzMgttb2R1bGVfdHlwZQV1aW50OAR0aWVyBXVpbnQ4Dm1vZHVsZXNfcmVzdWx0AAEHbW9kdWxlcw1tb2R1bGVfaW5mb1tdDm1vdmVtZW50X3N0YXRzAAIGdGhydXN0BnVpbnQzMgVkcmFpbgZ1aW50MTYLbmVhcmJ5X2luZm8ABQpjYW5fdHJhdmVsBGJvb2wHY3VycmVudBRlbnRpdHlfY3VycmVudF9zdGF0ZQlwcm9qZWN0ZWQUZW50aXR5X2N1cnJlbnRfc3RhdGUKbWF4X2VuZXJneQZ1aW50MTYHc3lzdGVtcw9uZWFyYnlfc3lzdGVtW10NbmVhcmJ5X3N5c3RlbQAECGRpc3RhbmNlBnVpbnQ2NAtlbmVyZ3lfY29zdAZ1aW50NjQLZmxpZ2h0X3RpbWUGdWludDMyCGxvY2F0aW9uDWxvY2F0aW9uX2luZm8JbmV4dXNfcm93AAQCaWQGdWludDY0BW93bmVyBG5hbWUEbmFtZQZzdHJpbmcLY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMObmZ0X3NjaGVtYV9kZWYAAgtzY2hlbWFfbmFtZQRuYW1lBmZpZWxkcw5zY2hlbWFfZmllbGRbXRBuZnRfdGVtcGxhdGVfZGVmAAIHaXRlbV9pZAZ1aW50MTYLc2NoZW1hX25hbWUEbmFtZQ1uZnRjb25maWdfcm93AAMHaXRlbV9pZAZ1aW50MTYLdGVtcGxhdGVfaWQFaW50MzILc2NoZW1hX25hbWUEbmFtZQ5uZnRpbmZvX3Jlc3VsdAACB3NjaGVtYXMQbmZ0X3NjaGVtYV9kZWZbXQl0ZW1wbGF0ZXMSbmZ0X3RlbXBsYXRlX2RlZltdBm5vdGlmeQABBWV2ZW50CnRhc2tfZXZlbnQNcGFja2VkX21vZHVsZQACB2l0ZW1faWQGdWludDE2BXN0YXRzBnVpbnQ2NAtwbGF5ZXJfaW5mbwAGBW93bmVyBG5hbWUJaXNfcGxheWVyBGJvb2wMY29tcGFueV9uYW1lBnN0cmluZwpzaGlwX2NvdW50BnVpbnQ2NA93YXJlaG91c2VfY291bnQGdWludDY0D2NvbnRhaW5lcl9jb3VudAZ1aW50NjQKcGxheWVyX3JvdwABBW93bmVyBG5hbWUIcmVjaGFyZ2UAAgtlbnRpdHlfdHlwZQRuYW1lAmlkBnVpbnQ2NAxyZWNpcGVfaW5wdXQABAdpdGVtX2lkBnVpbnQxNghjYXRlZ29yeQV1aW50OAR0aWVyBXVpbnQ4CHF1YW50aXR5BnVpbnQzMhByZWNpcGVfaXRlbV9pbmZvAAICaWQGdWludDE2BG1hc3MGdWludDMyD3JlY2lwZV9yZXNwb25zZQAHDm91dHB1dF9pdGVtX2lkBnVpbnQxNgtvdXRwdXRfbWFzcwZ1aW50MzIGaW5wdXRzDnJlY2lwZV9pbnB1dFtdCnN0YXRfc2xvdHMUc3RhdF9zbG90X3Jlc3BvbnNlW10NYmxlbmRfd2VpZ2h0cwVieXRlcwtvdXRwdXRfaXRlbRByZWNpcGVfaXRlbV9pbmZvC2lucHV0X2l0ZW1zEnJlY2lwZV9pdGVtX2luZm9bXQ5yZWNpcGVzX3Jlc3VsdAABB3JlY2lwZXMRcmVjaXBlX3Jlc3BvbnNlW10LcmVzZXJ2ZV9yb3cABAJpZAZ1aW50NjQIY29vcmRfaWQGdWludDY0B3N0cmF0dW0GdWludDE2CXJlbWFpbmluZwZ1aW50MzIHcmVzb2x2ZQADC2VudGl0eV90eXBlBG5hbWUCaWQGdWludDY0BWNvdW50B3VpbnQ2ND8PcmVzb2x2ZV9yZXN1bHRzAAYJZW50aXR5X2lkBnVpbnQ2NAtlbnRpdHlfdHlwZQRuYW1lDnJlc29sdmVkX2NvdW50BXVpbnQ4FG5ld19zY2hlZHVsZV9zdGFydGVkC3RpbWVfcG9pbnQ/C2VudGl0eWdyb3VwB3VpbnQ2ND8NZ3JvdXBfbWVtYmVycxZCX3ZlY3Rvcl9lbnRpdHlfcmVmX0U/DXJlc291cmNlX2luZm8ABAJpZAZ1aW50MTYEbWFzcwZ1aW50MzIIY2F0ZWdvcnkFdWludDgEdGllcgV1aW50OA5yZXNvdXJjZV9zdGF0cwADBXN0YXQxBnVpbnQxNgVzdGF0MgZ1aW50MTYFc3RhdDMGdWludDE2EHJlc291cmNlc19yZXN1bHQAAQlyZXNvdXJjZXMPcmVzb3VyY2VfaW5mb1tdCHJtbW9kdWxlAAQLZW50aXR5X3R5cGUEbmFtZQllbnRpdHlfaWQGdWludDY0DG1vZHVsZV9pbmRleAV1aW50OA90YXJnZXRfY2FyZ29faWQGdWludDY0CHJtbmZ0Y2ZnAAEHaXRlbV9pZAZ1aW50MTYEc2FsdAABBHNhbHQGdWludDY0CHNjaGVkdWxlAAIHc3RhcnRlZAp0aW1lX3BvaW50BXRhc2tzBnRhc2tbXQxzY2hlbWFfZmllbGQAAgRuYW1lBnN0cmluZwpmaWVsZF90eXBlBnN0cmluZwxzZXF1ZW5jZV9yb3cAAgNrZXkEbmFtZQV2YWx1ZQZ1aW50NjQJc2V0bmZ0Y2ZnAAMHaXRlbV9pZAZ1aW50MTYLdGVtcGxhdGVfaWQFaW50MzILc2NoZW1hX25hbWUEbmFtZQhzaGlwX3JvdwASAmlkBnVpbnQ2NAVvd25lcgRuYW1lBG5hbWUGc3RyaW5nBXN0YXRzBnVpbnQ2NAtjb29yZGluYXRlcwtjb29yZGluYXRlcwhodWxsbWFzcwd1aW50MzI/CGNhcGFjaXR5B3VpbnQzMj8GZW5lcmd5B3VpbnQxNj8JY2FyZ29tYXNzBnVpbnQzMgdlbmdpbmVzD21vdmVtZW50X3N0YXRzPwlnZW5lcmF0b3INZW5lcmd5X3N0YXRzPwdsb2FkZXJzDWxvYWRlcl9zdGF0cz8IZ2F0aGVyZXIPZ2F0aGVyZXJfc3RhdHM/BHdhcnALd2FycF9zdGF0cz8HY3JhZnRlcg5jcmFmdGVyX3N0YXRzPwZoYXVsZXINaGF1bGVyX3N0YXRzPwdtb2R1bGVzDm1vZHVsZV9lbnRyeVtdCHNjaGVkdWxlCXNjaGVkdWxlPwhzbG90X2RlZgABBHR5cGUFdWludDgKc3Bhd25jYXJnbwADCWVudGl0eV9pZAZ1aW50NjQHaXRlbV9pZAZ1aW50NjQIcXVhbnRpdHkGdWludDY0C3NwYXducGFja2VkAAQJZW50aXR5X2lkBnVpbnQ2NAdpdGVtX2lkBnVpbnQxNgpodWxsX3N0YXRzBnVpbnQ2NAlpbnN0YWxsZWQPcGFja2VkX21vZHVsZVtdC3NwYXduc2VlZGVkAAQJZW50aXR5X2lkBnVpbnQ2NAdpdGVtX2lkBnVpbnQ2NAhxdWFudGl0eQZ1aW50NjQFc3RhdHMGdWludDY0EnN0YXRfc2xvdF9yZXNwb25zZQABB3NvdXJjZXMNc3RhdF9zb3VyY2VbXQtzdGF0X3NvdXJjZQACC2lucHV0X2luZGV4BXVpbnQ4EGlucHV0X3N0YXRfaW5kZXgFdWludDgJc3RhdGVfcm93AAYHZW5hYmxlZARib29sBWVwb2NoBnVpbnQzMgRzYWx0BnVpbnQ2NAVzaGlwcwZ1aW50MzIEc2VlZAtjaGVja3N1bTI1NgZjb21taXQLY2hlY2tzdW0yNTYMc3RyYXR1bV9kYXRhAAIHc3RyYXR1bQxzdHJhdHVtX2luZm8Fc3RhdHMOcmVzb3VyY2Vfc3RhdHMMc3RyYXR1bV9pbmZvAAUHaXRlbV9pZAZ1aW50MTYEc2VlZAZ1aW50NjQIcmljaG5lc3MGdWludDE2B3Jlc2VydmUGdWludDMyC3Jlc2VydmVfbWF4BnVpbnQzMhFzdHJhdHVtX3JlbWFpbmluZwACB3N0cmF0dW0GdWludDE2CXJlbWFpbmluZwZ1aW50MzIEdGFzawAIBHR5cGUFdWludDgIZHVyYXRpb24GdWludDMyCmNhbmNlbGFibGUFdWludDgLY29vcmRpbmF0ZXMMY29vcmRpbmF0ZXM/BWNhcmdvDGNhcmdvX2l0ZW1bXQxlbnRpdHl0YXJnZXQLZW50aXR5X3JlZj8LZW50aXR5Z3JvdXAHdWludDY0PwtlbmVyZ3lfY29zdAd1aW50MTY/CnRhc2tfZXZlbnQACQpldmVudF90eXBlBXVpbnQ4BW93bmVyBG5hbWULZW50aXR5X3R5cGUEbmFtZQllbnRpdHlfaWQGdWludDY0CnRhc2tfaW5kZXgFdWludDgEdGFzawR0YXNrCXN0YXJ0c19hdAp0aW1lX3BvaW50DGNvbXBsZXRlc19hdAp0aW1lX3BvaW50Cm5ld19lbmVyZ3kHdWludDE2Pwx0YXNrX3Jlc3VsdHMAAQhlbnRpdGllcxJlbnRpdHlfdGFza19pbmZvW10IdHJhbnNmZXIABwtzb3VyY2VfdHlwZQRuYW1lCXNvdXJjZV9pZAZ1aW50NjQJZGVzdF90eXBlBG5hbWUHZGVzdF9pZAZ1aW50NjQHaXRlbV9pZAZ1aW50MTYFc3RhdHMGdWludDY0CHF1YW50aXR5BnVpbnQzMgZ0cmF2ZWwABQtlbnRpdHlfdHlwZQRuYW1lAmlkBnVpbnQ2NAF4BWludDY0AXkFaW50NjQIcmVjaGFyZ2UEYm9vbAl0eXBlc19yb3cABAJpZAZ1aW50NjQTZW50aXR5X3N1bW1hcnlfdHlwZQ5lbnRpdHlfc3VtbWFyeRBnYW1lX2NvbmZpZ190eXBlC2dhbWVfY29uZmlnFnN0cmF0dW1fcmVtYWluaW5nX3R5cGURc3RyYXR1bV9yZW1haW5pbmcNd2FyZWhvdXNlX3JvdwALAmlkBnVpbnQ2NAVvd25lcgRuYW1lBG5hbWUGc3RyaW5nBXN0YXRzBnVpbnQ2NAtjb29yZGluYXRlcwtjb29yZGluYXRlcwhodWxsbWFzcwd1aW50MzI/CGNhcGFjaXR5B3VpbnQzMj8JY2FyZ29tYXNzBnVpbnQzMgdsb2FkZXJzDWxvYWRlcl9zdGF0cz8HbW9kdWxlcw5tb2R1bGVfZW50cnlbXQhzY2hlZHVsZQlzY2hlZHVsZT8Ed2FycAAEC2VudGl0eV90eXBlBG5hbWUCaWQGdWludDY0AXgFaW50NjQBeQVpbnQ2NAp3YXJwX3N0YXRzAAEFcmFuZ2UGdWludDMyBHdpcGUAAAx3aXBlc2VxdWVuY2UAAAR3cmFwAAUFb3duZXIEbmFtZQtlbnRpdHlfdHlwZQRuYW1lCWVudGl0eV9pZAZ1aW50NjQIY2FyZ29faWQGdWludDY0CHF1YW50aXR5BnVpbnQ2NDsAAFBRJypTMglhZGRtb2R1bGXHAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBhZGRtb2R1bGUKc3VtbWFyeTogJ0luc3RhbGwgYSBtb2R1bGUgaW50byBhIHNsb3QnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkluc3RhbGwgYSBtb2R1bGUgZnJvbSBjYXJnbyBpbnRvIGEgbW9kdWxlIHNsb3Qgb24gYSBsaXZlIGVudGl0eSBvciBhIHBhY2tlZCBlbnRpdHkgaW4gY2FyZ28uIFRoZSBlbnRpdHkgbXVzdCBiZSBpZGxlIHdpdGggbm8gc2NoZWR1bGVkIHRhc2tzLiBUaGUgbW9kdWxlIHR5cGUgbXVzdCBiZSBjb21wYXRpYmxlIHdpdGggdGhlIHRhcmdldCBzbG90IHR5cGUuIFRoZSBtb2R1bGUgaXRlbSBpcyByZW1vdmVkIGZyb20gY2FyZ28gdXBvbiBpbnN0YWxsYXRpb24uAAAAWHc1UzIIYWRkbmV4dXOnAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBhZGRuZXh1cwpzdW1tYXJ5OiAnQWRkIGEgbmV4dXMgbG9jYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkNyZWF0ZSBhIG5ldyBuZXh1cyBlbnRpdHkgYXQgdGhlIGdpdmVuIGNvb3JkaW5hdGVzLiBOZXh1c2VzIGFyZSBvd25lZCBieSB0aGUgY29udHJhY3QgYW5kIHNlcnZlIGFzIGZpeGVkIGdhdGhlcmluZyBwb2ludHMgd2hlcmUgcGxheWVycyBjYW4gd3JhcCwgdW53cmFwLCBkZXBsb3ksIGFuZCBvdGhlcndpc2UgaW50ZXJhY3Qgd2l0aCBORlQtYmFja2VkIGFzc2V0cy4gUmVxdWlyZXMgY29udHJhY3QgYXV0aG9yaXR5LgAAAEChaXYyB2FkdmFuY2XTAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBhZHZhbmNlCnN1bW1hcnk6ICdBZHZhbmNlIHR1cm4nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkFkdmFuY2UgdGhlIGdhbWUgdG8gdGhlIG5leHQgdHVybi4AAAAAgDRVPAVibGVuZPwCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGJsZW5kCnN1bW1hcnk6ICdCbGVuZCBjYXJnbyBzdGFja3MnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkNvbWJpbmUgbXVsdGlwbGUgY2FyZ28gc3RhY2tzIG9mIHRoZSBzYW1lIGl0ZW0gdHlwZSBpbnRvIGEgc2luZ2xlIHN0YWNrIHdpdGggbmV3IGJsZW5kZWQgc3RhdHMuIEFsbCBpbnB1dCBzdGFja3MgbXVzdCBzaGFyZSB0aGUgc2FtZSBpdGVtIGlkLiBUaGUgb3V0cHV0IHN0YWNrIGhhcyB0aGUgY29tYmluZWQgcXVhbnRpdHkgb2YgYWxsIGlucHV0cy4AAAAARIWmQQZjYW5jZWzCAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjYW5jZWwKc3VtbWFyeTogJ0NhbmNlbCBzY2hlZHVsZWQgdGFza3MnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkNhbmNlbCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiB0YXNrcyBmcm9tIHRoZSBlbmQgb2YgYW4gZW50aXR5J3Mgc2NoZWR1bGUuIFRhc2tzIHRoYXQgYXJlIGltbXV0YWJsZSBhbmQgaW4gcHJvZ3Jlc3MgY2Fubm90IGJlIGNhbmNlbGxlZC5wVb4mY+lMRAxjbGFpbXN0YXJ0ZXKFBC0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjbGFpbXN0YXJ0ZXIKc3VtbWFyeTogJ0RFQlVHOiBjbGFpbSBhIHN0YXJ0ZXIgc2hpcCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKU3Bhd24gYSBwcmUta2l0dGVkIFQxIHN0YXJ0ZXIgc2hpcCBhdCB0aGUgZ2l2ZW4gY29vcmRpbmF0ZXMgZm9yIGEgcmVnaXN0ZXJlZCBwbGF5ZXIuIEF2YWlsYWJsZSBvbmx5IG9uIHRlc3QgZGVwbG95bWVudHMgd2hlcmUgbm8gaW4tZ2FtZSBzaGlwIGVjb25vbXkgeWV0IGV4aXN0cy4gUmVxdWlyZXMgdGhlIGNhbGxlciB0byBiZSBhIGpvaW5lZCBwbGF5ZXIgd2l0aCBubyBleGlzdGluZyBzaGlwczsgdGhlIHJlc3VsdGluZyBzaGlwIGlzIGZpdHRlZCB3aXRoIGEgZ2VuZXJhdG9yLCBlbmdpbmUsIGdhdGhlcmVyLCBjcmFmdGVyLCBhbmQgaGF1bGVyIG1vZHVsZS4AAKgb32lURAljbGVhbnJzdnDsAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjbGVhbnJzdnAKc3VtbWFyeTogJ0NsZWFuIHVwIHBhc3QgZXBvY2ggcmVzZXJ2ZXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkVyYXNlIHJlc2VydmUgdGFibGUgcm93cyBmcm9tIGEgcGFzdCBlcG9jaC4gQ2Fubm90IGNsZWFuIHRoZSBjdXJyZW50IG9yIGZ1dHVyZSBlcG9jaHMuIFRoZSBtYXhfcm93cyBwYXJhbWV0ZXIgY2FwcyB0aGUgbnVtYmVyIG9mIHJvd3MgZXJhc2VkIHBlciBjYWxsIHRvIGxpbWl0IENQVSB1c2FnZS4AgIrH5GtURApjbGVhcnRhYmxlvgEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY2xlYXJ0YWJsZQpzdW1tYXJ5OiAnREVCVUc6IGNsZWFydGFibGUgYWN0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tAAAAAGQnJUUGY29tbWl07AEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY29tbWl0CnN1bW1hcnk6ICdTZXQgY29tbWl0IHZhbHVlJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpTZXQgdGhlIGluaXRpYWwgY29tbWl0IHZhbHVlIGR1cmluZyBnYW1lIGluaXRpYWxpemF0aW9uLgAAYDQytyZFCWNvbmZpZ2xvZ90CLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNvbmZpZ2xvZwpzdW1tYXJ5OiAnTG9nIGdhbWUgY29uZmlndXJhdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW50ZXJuYWwgYWN0aW9uIHRoYXQgbG9ncyB0aGUgY3VycmVudCBnYW1lIGNvbmZpZ3VyYXRpb24uIENhbGxlZCBpbmxpbmUgYWZ0ZXIgaW5pdGlhbGl6YXRpb24gdG8gYnJvYWRjYXN0IGNvbmZpZyB2aWEgYWN0aW9uIHRyYWNlcy4gUmVxdWlyZXMgY29udHJhY3QgYXV0aG9yaXR5LgAAAACAvMxFBWNyYWZ0yAMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY3JhZnQKc3VtbWFyeTogJ0NyYWZ0IGl0ZW1zIGZyb20gYSByZWNpcGUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRyYW5zZm9ybSBjYXJnbyBpdGVtcyBpbnRvIGEgbmV3IGl0ZW0gdXNpbmcgYSByZWNpcGUuIFRoZSBlbnRpdHkgbXVzdCBoYXZlIGEgY3JhZnRlciBtb2R1bGUgaW5zdGFsbGVkLiBDb25zdW1lcyBlbmVyZ3kgYW5kIHNjaGVkdWxlcyBhIGNyYWZ0aW5nIHRhc2sgd2l0aCBkdXJhdGlvbiBiYXNlZCBvbiB0b3RhbCBpbnB1dCBtYXNzIGFuZCBjcmFmdGVyIHNwZWVkLiBJbnB1dCBxdWFudGl0aWVzIG11c3QgZXhhY3RseSBtYXRjaCB0aGUgcmVjaXBlIHJlcXVpcmVtZW50cy7gs8tTqWzURQxjcmVhdGVlbnRpdHm/AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjcmVhdGVlbnRpdHkKc3VtbWFyeTogJ0RFQlVHOiBjcmVhdGUgYW4gZW50aXR5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tAAAAAHgaq0oGZGVwbG957AItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZGVwbG95CnN1bW1hcnk6ICdEZXBsb3kgYSBwYWNrZWQgZW50aXR5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpVbnBhY2sgYSBwYWNrZWQgZW50aXR5IGl0ZW0gKHBhY2tlZCBzaGlwIG9yIHBhY2tlZCBjb250YWluZXIpIGZyb20gY2FyZ28sIHNjaGVkdWxpbmcgYSBkZXBsb3kgdGFzayB0aGF0IGNyZWF0ZXMgdGhlIG5ldyBlbnRpdHkgYXQgdGhlIGRlcGxveWluZyBlbnRpdHkncyBsb2NhdGlvbiB1cG9uIHJlc29sdXRpb24uAIDPLk+FsEoKZGVzY2VudGl0eckDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGRlc2NlbnRpdHkKc3VtbWFyeTogJ0Rlc2NyaWJlIGEgcGFja2VkIGVudGl0eScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgYSBodW1hbi1yZWFkYWJsZSBkZXNjcmlwdGlvbiBzdHJpbmcgZm9yIGEgcGFja2VkIGVudGl0eSwgZGVyaXZlZCBmcm9tIHRoZSBlbnRpdHkgaXRlbSBpZCwgaHVsbCBzdGF0cywgYW5kIHRoZSBsaXN0IG9mIGluc3RhbGxlZCBtb2R1bGUgaXRlbSBpZHMgYW5kIHN0YXRzLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIGFuZCBORlQgcmVuZGVyZXJzIHRvIGRpc3BsYXkgcGFja2VkIGVudGl0aWVzLgAAAACoeMxUBmVuYWJsZd0BLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGVuYWJsZQpzdW1tYXJ5OiAnU2V0IGVuYWJsZWQgc3RhdGUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkVuYWJsZSBvciBkaXNhYmxlIHRoaXMgZ2FtZSBvZiBTaGlwbG9hZC4AAAAAXNWyYQZnYXRoZXKXAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnYXRoZXIKc3VtbWFyeTogJ0dhdGhlciByZXNvdXJjZXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkdhdGhlciByZXNvdXJjZXMgYXQgdGhlIHNoaXAncyBjdXJyZW50IGxvY2F0aW9uLiBPbmx5IHdvcmtzIGF0IGdhdGhlcmFibGUgbG9jYXRpb24gdHlwZXMuIFNjaGVkdWxlcyBhIGdhdGhlciB0YXNrIHRoYXQgY29uc3VtZXMgZW5lcmd5IGFuZCB5aWVsZHMgY2FyZ28gYmFzZWQgb24gdGhlIHNoaXAncyBnYXRoZXJlciBzdGF0cyBhbmQgdGhlIGxvY2F0aW9uJ3MgcmVzb3VyY2UgY29tcG9zaXRpb24uAABgbk2KsmIJZ2V0Y29uZmlnygItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0Y29uZmlnCnN1bW1hcnk6ICdHZXQgZ2FtZSBjb25maWd1cmF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIHRoZSBnYW1lIGNvbmZpZ3VyYXRpb24gaW5jbHVkaW5nIGRlZmF1bHQgZW50aXR5IHN0YXRzIGZvciB3YXJlaG91c2VzIGFuZCBjb250YWluZXJzLCBhbmQgdGhlIGZ1bGwgaXRlbSBkZWZpbml0aW9ucyB0YWJsZS4AsHLZ5amyYgtnZXRlbnRpdGllc6QCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGVudGl0aWVzCnN1bW1hcnk6ICdHZXQgYWxsIGVudGl0aWVzIGZvciBhIHBsYXllcicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUmV0dXJucyBmdWxsIGVudGl0eSBpbmZvIGZvciBhbGwgZW50aXRpZXMgb3duZWQgYnkgYSBwbGF5ZXIuIE9wdGlvbmFsbHkgZmlsdGVyIGJ5IGVudGl0eSB0eXBlLgAA8NnlqbJiCWdldGVudGl0eaICLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGVudGl0eQpzdW1tYXJ5OiAnR2V0IGVudGl0eSBzdGF0ZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUmV0dXJucyB0aGUgY3VycmVudCBzdGF0ZSBvZiBhbiBlbnRpdHkgaW5jbHVkaW5nIGlkZW50aXR5LCBjYXJnbywgc2NoZWR1bGUgc3RhdGUsIGFuZCB0eXBlLXNwZWNpZmljIGZpZWxkcy4ATDZJquyyYgtnZXRpdGVtZGF0YagDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGl0ZW1kYXRhCnN1bW1hcnk6ICdHZXQgZnVsbCBpdGVtIGNhdGFsb2cnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBjb21wbGV0ZSBpdGVtIGNhdGFsb2cgYXMgdGhlIGNvbnRyYWN0IHNlZXMgaXQsIGluY2x1ZGluZyB0eXBlLCBzdWJ0eXBlLCB0aWVyLCBtYXNzLCBhbmQgb3RoZXIgc3RhdGljIG1ldGFkYXRhLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIGFuZCBjbGllbnRzIHRvIG1pcnJvciB0aGUgY29udHJhY3QncyBpdGVtIGRlZmluaXRpb25zLgAATk6q7LJiCmdldGl0ZW1pZHOGAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRpdGVtaWRzCnN1bW1hcnk6ICdHZXQgaXRlbSBpZCB0byBuYW1lIG1hcHBpbmdzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgZnVsbCBtYXBwaW5nIG9mIGl0ZW0gaWQgY29uc3RhbnRzIHRvIHRoZWlyIGNhbm9uaWNhbCBzdHJpbmcgbmFtZXMuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gcmVzb2x2ZSBudW1lcmljIGl0ZW0gaWRzIHRvIGh1bWFuLXJlYWRhYmxlIGlkZW50aWZpZXJzLgAAAFiq7LJiCGdldGl0ZW1zmgItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0aXRlbXMKc3VtbWFyeTogJ0dldCBhbGwgYXZhaWxhYmxlIGl0ZW1zJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIGEgbGlzdCBvZiBhbGwgaXRlbXMgaW4gdGhlIGdhbWUgaW5jbHVkaW5nIHRoZWlyIGlkLCBiYXNlIHByaWNlLCBhbmQgbWFzcy6AVfVZquyyYgxnZXRpdGVtdHlwZXOIAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRpdGVtdHlwZXMKc3VtbWFyeTogJ0dldCBpdGVtIHR5cGUgZW51bSB2YWx1ZXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBmdWxsIHNldCBvZiBpdGVtIHR5cGUgZW51bSB2YWx1ZXMgYW5kIHRoZWlyIHN0cmluZyBuYW1lcyAocmVzb3VyY2UsIGNvbXBvbmVudCwgbW9kdWxlLCBlbnRpdHkpLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIGRlY29kZSBpdGVtIHR5cGUgaWRlbnRpZmllcnMuACZ12SAas2ILZ2V0bG9jYXRpb27iAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRsb2NhdGlvbgpzdW1tYXJ5OiAnR2V0IGxvY2F0aW9uIGluZm9ybWF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIGluZm9ybWF0aW9uIGFib3V0IGEgbG9jYXRpb24gaW5jbHVkaW5nIHdoZXRoZXIgYSBzeXN0ZW0gZXhpc3RzLCBhbmQgZm9yIGVhY2ggaXRlbTogcHJpY2UsIHN1cHBseSwgcmFyaXR5IG11bHRpcGxpZXIsIGFuZCBsb2NhdGlvbiBtdWx0aXBsaWVyLgCAySYhGrNiCmdldGxvY2RhdGH+Ai0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRsb2NkYXRhCnN1bW1hcnk6ICdHZXQgZGVyaXZlZCBsb2NhdGlvbiBkYXRhJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIGRlcml2ZWQgbG9jYXRpb24gZGF0YSBpbmNsdWRpbmcgc3RhdGljIHByb3BlcnRpZXMgKHR5cGUsIGRpZmZpY3VsdHksIHNlZWRzKSBmcm9tIHRoZSBnYW1lIHNlZWQgYW5kIGVwb2NoLXNwZWNpZmljIHByb3BlcnRpZXMgKGFjdGl2ZSwgc2VlZHMpIGZyb20gdGhlIGN1cnJlbnQgZXBvY2ggc2VlZC4AsKo+JyqzYgtnZXRtb2R0eXBlc9YDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldG1vZHR5cGVzCnN1bW1hcnk6ICdHZXQgbW9kdWxlIHR5cGUgZW51bSB2YWx1ZXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBmdWxsIHNldCBvZiBtb2R1bGUgdHlwZSBlbnVtIHZhbHVlcyBhbmQgdGhlaXIgc3RyaW5nIG5hbWVzIChhbnksIGVuZ2luZSwgZ2VuZXJhdG9yLCBnYXRoZXJlciwgbG9hZGVyLCB3YXJwLCBjcmFmdGVyLCBsYXVuY2hlciwgc3RvcmFnZSwgaGF1bGVyKS4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyB0byBkZWNvZGUgbW9kdWxlIHN1YnR5cGUgaWRlbnRpZmllcnMgYW5kIHNsb3QgY29tcGF0aWJpbGl0eS4AAFZRJyqzYgpnZXRtb2R1bGVzgAMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0bW9kdWxlcwpzdW1tYXJ5OiAnR2V0IGFsbCBtb2R1bGUgaXRlbXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBzdWJzZXQgb2YgaXRlbXMgY2xhc3NpZmllZCBhcyBtb2R1bGVzLCBpbmNsdWRpbmcgZWFjaCBtb2R1bGUncyBpZCwgbWFzcywgc3VidHlwZSwgYW5kIHRpZXIuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gZW51bWVyYXRlIGluc3RhbGxhYmxlIGVxdWlwbWVudC4AAPDnGjWzYglnZXRuZWFyYnneAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRuZWFyYnkKc3VtbWFyeTogJ0dldCBuZWFyYnkgcmVhY2hhYmxlIHN5c3RlbXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIHJldHVybnMgbmVhcmJ5IHN5c3RlbXMgcmVhY2hhYmxlIGJ5IGFuIGVudGl0eSBmcm9tIGl0cyBwcm9qZWN0ZWQgbG9jYXRpb24uIFJldHVybnMgY3VycmVudCBzdGF0ZSAod2l0aCBjb21wbGV0ZWQgdGFza3MgcmVzb2x2ZWQpLCBwcm9qZWN0ZWQgc3RhdGUgKGFmdGVyIGFsbCBzY2hlZHVsZWQgdGFza3MpLCBhbmQgYSBsaXN0IG9mIHJlYWNoYWJsZSBzeXN0ZW1zIHdpdGggZGlzdGFuY2UsIGVuZXJneSBjb3N0LCBmbGlnaHQgdGltZSwgYW5kIG1hcmtldCBpbmZvcm1hdGlvbi4AAF3T5TWzYgpnZXRuZnRpbmZv8AMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0bmZ0aW5mbwpzdW1tYXJ5OiAnR2V0IE5GVCBzY2hlbWEgYW5kIHRlbXBsYXRlIGNvbmZpZ3VyYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBmdWxsIHNldCBvZiBBdG9taWNBc3NldHMgc2NoZW1hcyBhbmQgdGVtcGxhdGVzIHRoZSBnYW1lIGNvbnRyYWN0IGV4cGVjdHMsIHBsdXMgdGhlIGN1cnJlbnQgYGl0ZW1faWQg4oaSICh0ZW1wbGF0ZV9pZCwgc2NoZW1hX25hbWUpYCBtYXBwaW5nIHN0b3JlZCBpbiB0aGUgYG5mdGNvbmZpZ2AgdGFibGUuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gc3luYyBhdG9taWNhc3NldHMgc3RhdGUgd2l0aCB0aGUgY29udHJhY3QuAAC4yptYs2IJZ2V0cGxheWVy/QItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0cGxheWVyCnN1bW1hcnk6ICdHZXQgcGxheWVyIGluZm9ybWF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIGluZm9ybWF0aW9uIGFib3V0IGEgcGxheWVyIGluY2x1ZGluZyBiYWxhbmNlLCBkZWJ0LCBuZXR3b3J0aCwgZW50aXR5IGNvdW50cywgYW5kIHByaWNpbmcgZm9yIG5leHQgcHVyY2hhc2VzLiBSZXR1cm5zIGlzX3BsYXllcj1mYWxzZSBpZiB0aGUgYWNjb3VudCBoYXMgbm90IGpvaW5lZCB0aGUgZ2FtZS4AAFDVIXWzYglnZXRyZWNpcGWmAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRyZWNpcGUKc3VtbWFyeTogJ0dldCBhIHNpbmdsZSBjcmFmdGluZyByZWNpcGUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSByZWNpcGUgd2hvc2Ugb3V0cHV0IG1hdGNoZXMgdGhlIGdpdmVuIGl0ZW0gaWQsIGluY2x1ZGluZyBpdHMgaW5wdXRzLCBibGVuZCB3ZWlnaHRzLCBzdGF0IHNsb3RzLCBhbmQgcmVzb2x2ZWQgaXRlbSBtYXNzIGluZm8uIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gZGlzcGxheSBjcmFmdGluZyByZXF1aXJlbWVudHMuAABW1SF1s2IKZ2V0cmVjaXBlc6wDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHJlY2lwZXMKc3VtbWFyeTogJ0xpc3QgY3JhZnRpbmcgcmVjaXBlcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgYSBwYWdpbmF0ZWQgbGlzdCBvZiBjcmFmdGluZyByZWNpcGVzIHN0YXJ0aW5nIGF0IHRoZSBwcm92aWRlZCBsb3dlciBib3VuZCBvdXRwdXQgaXRlbSBpZCwgdXAgdG8gdGhlIHNwZWNpZmllZCBsaW1pdC4gRWFjaCBlbnRyeSBpbmNsdWRlcyBpbnB1dHMsIGJsZW5kIHdlaWdodHMsIHN0YXQgc2xvdHMsIGFuZCByZXNvbHZlZCBpdGVtIG1hc3MgaW5mby4AAM4GYXWzYgpnZXRyZXNjYXRzngMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0cmVzY2F0cwpzdW1tYXJ5OiAnR2V0IHJlc291cmNlIGNhdGVnb3J5IGVudW0gdmFsdWVzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgZnVsbCBzZXQgb2YgcmVzb3VyY2UgY2F0ZWdvcnkgZW51bSB2YWx1ZXMgYW5kIHRoZWlyIHN0cmluZyBuYW1lcyAob3JlLCBnYXMsIHJlZ29saXRoLCBiaW9tYXNzLCBjcnlzdGFsKS4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyB0byBkZWNvZGUgcmVzb3VyY2Ugc3VidHlwZSBpZGVudGlmaWVycy4AsNpXYXWzYgtnZXRyZXNlcnZlcwCAFbqaYnWzYgxnZXRyZXNvdXJjZXOHAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRyZXNvdXJjZXMKc3VtbWFyeTogJ0dldCBhbGwgcmVzb3VyY2UgaXRlbXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBzdWJzZXQgb2YgaXRlbXMgY2xhc3NpZmllZCBhcyByZXNvdXJjZXMsIGluY2x1ZGluZyBlYWNoIHJlc291cmNlJ3MgaWQsIG1hc3MsIHN1YnR5cGUsIGFuZCB0aWVyLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIGVudW1lcmF0ZSBnYXRoZXJhYmxlIG1hdGVyaWFscy4AAAA404izYghnZXRzbG90c7sDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHNsb3RzCnN1bW1hcnk6ICdHZXQgZW50aXR5IHNsb3QgbGF5b3V0cycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgdGhlIG1vZHVsZSBzbG90IGxheW91dCBmb3IgZXZlcnkgZW50aXR5IGl0ZW0gdHlwZSwgbGlzdGluZyB0aGUgb3JkZXJlZCBzbG90IHR5cGVzIGF2YWlsYWJsZSBmb3IgbW9kdWxlIGluc3RhbGxhdGlvbi4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyB0byBkZXRlcm1pbmUgd2hpY2ggbW9kdWxlIHR5cGVzIGFyZSBjb21wYXRpYmxlIHdpdGggYSBnaXZlbiBlbnRpdHkgaHVsbC4AgNTZ3IyzYgpnZXRzdHJhdHVt0gItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0c3RyYXR1bQpzdW1tYXJ5OiAnR2V0IHJlc291cmNlIHN0cmF0dW0gZGF0YScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gcmV0dXJucyByZXNvdXJjZSBzdHJhdHVtIGRhdGEgZm9yIGEgc3BlY2lmaWMgZGVwdGggbGF5ZXIgYXQgYSBjb29yZGluYXRlLCBpbmNsdWRpbmcgdGhlIHN0cmF0dW0gc2VlZCBpbmZvIGFuZCBkZXJpdmVkIHJlc291cmNlIHN0YXRzLoCVu0ZKjbNiDGdldHN1bW1hcmllc+gCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHN1bW1hcmllcwpzdW1tYXJ5OiAnR2V0IGVudGl0eSBzdW1tYXJpZXMgZm9yIGEgcGxheWVyJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpSZXR1cm5zIGxpZ2h0d2VpZ2h0IHN1bW1hcmllcyBvZiBhbGwgZW50aXRpZXMgb3duZWQgYnkgYSBwbGF5ZXIgaW5jbHVkaW5nIHR5cGUsIGlkLCBvd25lciwgbmFtZSwgbG9jYXRpb24sIGFuZCBpZGxlIHN0YXR1cy4gT3B0aW9uYWxseSBmaWx0ZXIgYnkgZW50aXR5IHR5cGUuAKLa5uaq6WULZ3JvdXB0cmF2ZWyaBC0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBncm91cHRyYXZlbApzdW1tYXJ5OiAnTW92ZSBtdWx0aXBsZSBlbnRpdGllcyB0b2dldGhlcicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW5pdGlhdGUgZ3JvdXAgdHJhdmVsIGZvciBtdWx0aXBsZSBlbnRpdGllcyB0byBhIGRlc3RpbmF0aW9uLiBBbGwgZW50aXRpZXMgbXVzdCBiZSBhdCB0aGUgc2FtZSBsb2NhdGlvbiBhbmQgb3duZWQgYnkgdGhlIGNhbGxlci4gQXQgbGVhc3Qgb25lIGVudGl0eSB3aXRoIGVuZ2luZXMgaXMgcmVxdWlyZWQgdG8gcHJvdmlkZSB0aHJ1c3QuIEZsaWdodCBkdXJhdGlvbiBpcyBjYWxjdWxhdGVkIGZyb20gY29tYmluZWQgdGhydXN0IGFuZCB0b3RhbCBtYXNzIG9mIGFsbCBlbnRpdGllcy4gQ3JlYXRlcyBhbiBlbnRpdHlncm91cCBmb3IgYXRvbWljIHJlc29sdXRpb24gYW5kIGNhbmNlbGxhdGlvbi4AAAAAANCwaQRoYXNo+AEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogaGFzaApzdW1tYXJ5OiAnQ2FsY3VsYXRlIHNoYTI1NiBoYXNoJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDYWxjdWxhdGVzIHRoZSBzaGEyNTYgaGFzaCBvZiBhIHN0cmluZyBiYXNlZCB1c2luZyB0aGUgZ2FtZSBzZWVkLgAAAECE0rBpB2hhc2g1MTL7AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBoYXNoNTEyCnN1bW1hcnk6ICdDYWxjdWxhdGUgc2hhNTEyIGhhc2gnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkNhbGN1bGF0ZXMgdGhlIHNoYTUxMiBoYXNoIG9mIGEgc3RyaW5nIGJhc2VkIHVzaW5nIHRoZSBnYW1lIHNlZWQuAAAAAACQ3XQEaW5pdPoBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGluaXQKc3VtbWFyeTogJ0luaXRpYWxpemUgZ2FtZSBzZWVkJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbml0aWFsaXplIGEgdGhlIGdhbWVzIHNlZWQgYW5kIHNlZWQgdmFsdWVzIHRvIGJvb3RzdHJhcCBnYW1lIHN0YXRlLgAAAAAAMB19BGpvaW7EAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBqb2luCnN1bW1hcnk6ICdKb2luIGEgZ2FtZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSm9pbiBhIGdhbWUgb2YgU2hpcGxvYWQAAAAA+OUynQZub3RpZnmKAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBub3RpZnkKc3VtbWFyeTogJ1Rhc2sgbGlmZWN5Y2xlIG5vdGlmaWNhdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW50ZXJuYWwgYWN0aW9uIHRoYXQgbm90aWZpZXMgZW50aXR5IG93bmVycyBvZiB0YXNrIGxpZmVjeWNsZSBldmVudHMgKHJlc29sdmVkLCBjYW5jZWxsZWQpLiBDYWxsZWQgaW5saW5lIHdoZW4gdGFza3MgY2hhbmdlIHN0YXRlLiBVc2VzIHJlcXVpcmVfcmVjaXBpZW50IHRvIGVuYWJsZSBvZmYtY2hhaW4gbW9uaXRvcmluZyB2aWEgYWN0aW9uIHRyYWNlcy4AAACKXdOQughyZWNoYXJnZc0CLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHJlY2hhcmdlCnN1bW1hcnk6ICdSZWNoYXJnZSBzaGlwIGVuZXJneScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKU2NoZWR1bGUgYSByZWNoYXJnZSB0YXNrIGZvciBhbiBlbnRpdHkgdG8gcmVzdG9yZSBlbmVyZ3kgdG8gZnVsbCBjYXBhY2l0eS4gVGhlIHJlY2hhcmdlIGR1cmF0aW9uIGRlcGVuZHMgb24gY3VycmVudCBlbmVyZ3kgbGV2ZWwgYW5kIHJlY2hhcmdlIHJhdGUuAAAAQO1IsboHcmVzb2x2ZdADLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHJlc29sdmUKc3VtbWFyeTogJ0NvbXBsZXRlIHNjaGVkdWxlZCB0YXNrcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUmVzb2x2ZSBjb21wbGV0ZWQgdGFza3MgaW4gYW4gZW50aXR5J3Mgc2NoZWR1bGUsIGFwcGx5aW5nIHRoZWlyIGVmZmVjdHMgKHJlY2hhcmdlIGVuZXJneSwgdXBkYXRlIGxvY2F0aW9uLCBsb2FkL3VubG9hZCBjYXJnbykuIElmIGNvdW50IGlzIHNwZWNpZmllZCwgcmVzb2x2ZSBleGFjdGx5IHRoYXQgbWFueSB0YXNrczsgb3RoZXJ3aXNlIHJlc29sdmUgYWxsIGNvbXBsZXRlZCB0YXNrcy4gRmFpbHMgaWYgY291bnQgZXhjZWVkcyB0aGUgbnVtYmVyIG9mIGNvbXBsZXRlZCB0YXNrcy4AAAAq6kSlvAhybW1vZHVsZbwDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHJtbW9kdWxlCnN1bW1hcnk6ICdSZW1vdmUgYSBtb2R1bGUgZnJvbSBhIHNsb3QnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJlbW92ZSBhbiBpbnN0YWxsZWQgbW9kdWxlIGZyb20gYSBzbG90IG9uIGEgbGl2ZSBlbnRpdHkgb3IgYSBwYWNrZWQgZW50aXR5IGluIGNhcmdvLiBUaGUgZW50aXR5IG11c3QgYmUgaWRsZSB3aXRoIG5vIHNjaGVkdWxlZCB0YXNrcy4gVGhlIG1vZHVsZSBpcyByZXR1cm5lZCB0byBjYXJnby4gRmFpbHMgaWYgdGhlIGVudGl0eSBkb2VzIG5vdCBoYXZlIGVub3VnaCBjYXJnbyBjYXBhY2l0eSB0byBob2xkIHRoZSByZXR1cm5lZCBtb2R1bGUuAAAAbKG8prwIcm1uZnRjZmehAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBybW5mdGNmZwpzdW1tYXJ5OiAnUmVtb3ZlIE5GVCB0ZW1wbGF0ZSBtYXBwaW5nIGZvciBhbiBpdGVtJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpSZW1vdmUgdGhlIEF0b21pY0Fzc2V0cyB0ZW1wbGF0ZSBtYXBwaW5nIGZvciB0aGUgc3BlY2lmaWVkIGl0ZW0gaWQgZnJvbSB0aGUgYG5mdGNvbmZpZ2AgdGFibGUuIEFmdGVyIHJlbW92YWwgdGhlIGl0ZW0gY2FuIG5vIGxvbmdlciBiZSB3cmFwcGVkIG9yIHVud3JhcHBlZCB1bnRpbCBhIG5ldyBtYXBwaW5nIGlzIHNldC4gUmVxdWlyZXMgY29udHJhY3QgYXV0aG9yaXR5LgAAAAAAkKPBBHNhbHTYAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBzYWx0CnN1bW1hcnk6ICdBcHBlbmQgU2FsdCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQWRkIGFkZGl0aW9uYWwgc2FsdCB0byB0aGUgbmV4dCBlcG9jaCBzZWVkLgAAYAvlNbPCCXNldG5mdGNmZ8QDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHNldG5mdGNmZwpzdW1tYXJ5OiAnU2V0IE5GVCB0ZW1wbGF0ZSBtYXBwaW5nIGZvciBhbiBpdGVtJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpCaW5kIGFuIGl0ZW0gaWQgdG8gYW4gQXRvbWljQXNzZXRzIHRlbXBsYXRlIGlkIGFuZCBzY2hlbWEgbmFtZS4gVXNlZCB0byBjb25maWd1cmUgaG93IHRoZSBjb250cmFjdCBtaW50cyBhbmQgcmVjb2duaXplcyBORlRzIGZvciBhIGdpdmVuIGl0ZW0uIEluc2VydHMgYSBuZXcgbWFwcGluZyBpZiBvbmUgZG9lcyBub3QgZXhpc3QsIG9yIHVwZGF0ZXMgdGhlIGV4aXN0aW5nIG1hcHBpbmcuIFJlcXVpcmVzIGNvbnRyYWN0IGF1dGhvcml0eS4AAGXXoMlNxQpzcGF3bmNhcmdvxQEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogc3Bhd25jYXJnbwpzdW1tYXJ5OiAnREVCVUc6IHNwYXduIGNhcmdvIG9uIGFuIGVudGl0eScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQCSgsjUyU3FC3NwYXducGFja2Vk5wEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogc3Bhd25wYWNrZWQKc3VtbWFyeTogJ0RFQlVHOiBzcGF3biBhIHBhY2tlZCBlbnRpdHkgd2l0aCBpbnN0YWxsZWQgbW9kdWxlcyBvbiBhbiBlbnRpdHknCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0AkkpK4clNxQtzcGF3bnNlZWRlZM0BLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHNwYXduc2VlZGVkCnN1bW1hcnk6ICdERUJVRzogc3Bhd24gc2VlZGVkIGNhcmdvIG9uIGFuIGVudGl0eScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQAAAFctPM3NCHRyYW5zZmVyyAMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogdHJhbnNmZXIKc3VtbWFyeTogJ1RyYW5zZmVyIGNhcmdvIGJldHdlZW4gZW50aXRpZXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRyYW5zZmVyIGNhcmdvIGJldHdlZW4gdHdvIGVudGl0aWVzIGF0IHRoZSBzYW1lIGxvY2F0aW9uLiBCb3RoIGVudGl0aWVzIG11c3QgYmUgb3duZWQgYnkgdGhlIGNhbGxlciBhbmQgYXQgbGVhc3Qgb25lIG11c3QgaGF2ZSBsb2FkZXJzLiBDcmVhdGVzIGxvYWQgYW5kIHVubG9hZCB0YXNrcyBvbiBib3RoIGVudGl0aWVzIHdpdGggZHVyYXRpb24gYmFzZWQgb24gY29tYmluZWQgbG9hZGVyIGNhcGFjaXR5IGFuZCBaLWRpc3RhbmNlIGJldHdlZW4gdGhlbS4AAAAARLXNzQZ0cmF2ZWz7AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB0cmF2ZWwKc3VtbWFyeTogJ01vdmUgYSBzaGlwJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbml0aWF0ZSB0cmF2ZWwgb2YgYW4gZW50aXR5IGZyb20gaXRzIGN1cnJlbnQgbG9jYXRpb24gdG8gYSBuZXcgZGVzdGluYXRpb24uAAAAAABQr+EEd2FycJ8DLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHdhcnAKc3VtbWFyeTogJ1dhcnAgdG8gYSBkZXN0aW5hdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW5zdGFudGx5IHRlbGVwb3J0IGFuIGVudGl0eSB0byBhIGRlc3RpbmF0aW9uIHN5c3RlbS4gUmVxdWlyZXMgd2FycCBjYXBhYmlsaXR5LCBmdWxsIGVuZXJneSwgZW1wdHkgY2FyZ28sIGFuZCBhbiBlbXB0eSBzY2hlZHVsZS4gVGhlIGRlc3RpbmF0aW9uIG11c3QgYmUgYSB2YWxpZCBzeXN0ZW0gd2l0aGluIHdhcnAgcmFuZ2UuIFJlc29sdmVzIGltbWVkaWF0ZWx5IGFzIGEgemVyby1kdXJhdGlvbiB0YXNrLgAAAAAAoKrjBHdpcGWyAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB3aXBlCnN1bW1hcnk6ICdERUJVRzogd2lwZSBhY3Rpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS2g0FTaKqyq4wx3aXBlc2VxdWVuY2XCAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB3aXBlc2VxdWVuY2UKc3VtbWFyeTogJ0RFQlVHOiB3aXBlc2VxdWVuY2UgYWN0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tAAAAAABQzeUEd3JhcP4DLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHdyYXAKc3VtbWFyeTogJ1dyYXAgY2FyZ28gaW50byBhbiBORlQnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCldyYXAgYSBxdWFudGl0eSBvZiBjYXJnbyBmcm9tIGFuIGVudGl0eSBpbnRvIGFuIEF0b21pY0Fzc2V0cyBORlQgbWludGVkIHRvIHRoZSBzcGVjaWZpZWQgb3duZXIuIFRoZSBlbnRpdHkgbXVzdCBiZSBhdCBhIG5leHVzLCBoYXZlIGxvYWRlcnMsIGFuZCBjb250YWluIGVub3VnaCBvZiB0aGUgcmVxdWVzdGVkIGNhcmdvLiBTY2hlZHVsZXMgYSB3cmFwIHRhc2sgdGhhdCwgb24gcmVzb2x1dGlvbiwgcmVtb3ZlcyB0aGUgY2FyZ28gZnJvbSB0aGUgZW50aXR5IGFuZCBtaW50cyB0aGUgTkZUIHVzaW5nIHRoZSB0ZW1wbGF0ZSBjb25maWd1cmVkIGZvciB0aGF0IGl0ZW0gaWQuDQAAAAAAyq5BA2k2NAAACWNhcmdvX3JvdwAAuGo6kydFA2k2NAAADWNvbnRhaW5lcl9yb3cAqqaX+ezyVANpNjQAAA9lbnRpdHlncm91cF9yb3cAAACTumwQjQNpNjQAAAxsb2NhdGlvbl9yb3cAAAAAAKy7mgNpNjQAAAluZXh1c19yb3cAAGBuTYrymgNpNjQAAA1uZnRjb25maWdfcm93AAAAAFzlTawDaTY0AAAKcGxheWVyX3JvdwAAAEDtq7C6A2k2NAAAC3Jlc2VydmVfcm93AAAACk2lrcIDaTY0AAAMc2VxdWVuY2Vfcm93AAAAAABQXcMDaTY0AAAIc2hpcF9yb3cAAAAAAJVNxgNpNjQAAAlzdGF0ZV9yb3cAAAAAAKyqzwNpNjQAAAl0eXBlc19yb3cAAFBY06au4QNpNjQAAA13YXJlaG91c2Vfcm93ARFTaGlwbG9hZCAoU2VydmVyKRFTaGlwbG9hZCAoU2VydmVyKQAAACQAAAAARIWmQQ5jYW5jZWxfcmVzdWx0cwAAAACAvMxFDHRhc2tfcmVzdWx0cwAAAAB4GqtKDHRhc2tfcmVzdWx0cwCAzy5PhbBKBnN0cmluZwAAAABc1bJhDHRhc2tfcmVzdWx0cwAAYG5NirJiC2dhbWVfY29uZmlnALBy2eWpsmINZW50aXR5X2luZm9bXQAA8NnlqbJiC2VudGl0eV9pbmZvAEw2SarssmIPaXRlbWRhdGFfcmVzdWx0AABOTqrssmIPaXRlbV9pZHNfcmVzdWx0AAAAWKrssmIKaXRlbXNfaW5mb4BV9Vmq7LJiC2VudW1fcmVzdWx0ACZ12SAas2INbG9jYXRpb25faW5mbwCAySYhGrNiEGxvY2F0aW9uX2Rlcml2ZWQAsKo+JyqzYgtlbnVtX3Jlc3VsdAAAVlEnKrNiDm1vZHVsZXNfcmVzdWx0AADw5xo1s2ILbmVhcmJ5X2luZm8AAF3T5TWzYg5uZnRpbmZvX3Jlc3VsdAAAuMqbWLNiC3BsYXllcl9pbmZvAABQ1SF1s2IOcmVjaXBlc19yZXN1bHQAAFbVIXWzYg5yZWNpcGVzX3Jlc3VsdAAAzgZhdbNiC2VudW1fcmVzdWx0ALDaV2F1s2ITc3RyYXR1bV9yZW1haW5pbmdbXYAVuppidbNiEHJlc291cmNlc19yZXN1bHQAAAA404izYhVlbnRpdHlfbGF5b3V0c19yZXN1bHQAgNTZ3IyzYgxzdHJhdHVtX2RhdGGAlbtGSo2zYhBlbnRpdHlfc3VtbWFyeVtdAKLa5uaq6WUMdGFza19yZXN1bHRzAAAAAADQsGkLY2hlY2tzdW0yNTYAAABAhNKwaQtjaGVja3N1bTUxMgAAAIpd05C6DHRhc2tfcmVzdWx0cwAAAEDtSLG6D3Jlc29sdmVfcmVzdWx0cwAAAFctPM3NDHRhc2tfcmVzdWx0cwAAAABEtc3NDHRhc2tfcmVzdWx0cwAAAAAAUK/hDHRhc2tfcmVzdWx0cwAAAAAAUM3lDHRhc2tfcmVzdWx0cw=='
28
33
  )
29
34
  export const abi = ABI.from(abiBlob)
30
35
  export namespace Types {
36
+ @Struct.type('addmodule')
37
+ export class addmodule extends Struct {
38
+ @Struct.field(Name)
39
+ declare entity_type: Name
40
+ @Struct.field(UInt64)
41
+ declare entity_id: UInt64
42
+ @Struct.field(UInt8)
43
+ declare module_index: UInt8
44
+ @Struct.field(UInt64)
45
+ declare module_cargo_id: UInt64
46
+ @Struct.field(UInt64)
47
+ declare target_cargo_id: UInt64
48
+ }
49
+ @Struct.type('addnexus')
50
+ export class addnexus extends Struct {
51
+ @Struct.field('string')
52
+ declare nexus_name: string
53
+ @Struct.field(Int64)
54
+ declare x: Int64
55
+ @Struct.field(Int64)
56
+ declare y: Int64
57
+ }
31
58
  @Struct.type('advance')
32
59
  export class advance extends Struct {
33
60
  @Struct.field('string')
@@ -35,41 +62,101 @@ export namespace Types {
35
62
  @Struct.field(Checksum256)
36
63
  declare commit: Checksum256
37
64
  }
38
- @Struct.type('arrive')
39
- export class arrive extends Struct {
65
+ @Struct.type('packed_module')
66
+ export class packed_module extends Struct {
67
+ @Struct.field(UInt16)
68
+ declare item_id: UInt16
69
+ @Struct.field(UInt64)
70
+ declare stats: UInt64
71
+ }
72
+ @Struct.type('module_entry')
73
+ export class module_entry extends Struct {
74
+ @Struct.field(UInt8)
75
+ declare type: UInt8
76
+ @Struct.field(packed_module, {optional: true})
77
+ declare installed?: packed_module
78
+ }
79
+ @Struct.type('cargo_item')
80
+ export class cargo_item extends Struct {
81
+ @Struct.field(UInt16)
82
+ declare item_id: UInt16
83
+ @Struct.field(UInt32)
84
+ declare quantity: UInt32
85
+ @Struct.field(UInt64)
86
+ declare stats: UInt64
87
+ @Struct.field(module_entry, {array: true})
88
+ declare modules: module_entry[]
89
+ }
90
+ @Struct.type('blend')
91
+ export class blend extends Struct {
92
+ @Struct.field(Name)
93
+ declare entity_type: Name
40
94
  @Struct.field(UInt64)
41
95
  declare id: UInt64
96
+ @Struct.field(cargo_item, {array: true})
97
+ declare inputs: cargo_item[]
42
98
  }
43
- @Struct.type('buygoods')
44
- export class buygoods extends Struct {
99
+ @Struct.type('cancel')
100
+ export class cancel extends Struct {
101
+ @Struct.field(Name)
102
+ declare entity_type: Name
45
103
  @Struct.field(UInt64)
46
- declare ship_id: UInt64
104
+ declare id: UInt64
47
105
  @Struct.field(UInt64)
48
- declare good_id: UInt64
106
+ declare count: UInt64
107
+ }
108
+ @Struct.type('entity_ref')
109
+ export class entity_ref extends Struct {
110
+ @Struct.field(Name)
111
+ declare entity_type: Name
49
112
  @Struct.field(UInt64)
50
- declare quantity: UInt64
113
+ declare entity_id: UInt64
51
114
  }
52
- @Struct.type('buyship')
53
- export class buyship extends Struct {
115
+ @Struct.type('cancel_results')
116
+ export class cancel_results extends Struct {
117
+ @Struct.field(UInt64)
118
+ declare entity_id: UInt64
54
119
  @Struct.field(Name)
55
- declare account: Name
56
- @Struct.field('string')
57
- declare name: string
120
+ declare entity_type: Name
121
+ @Struct.field(UInt8)
122
+ declare cancelled_count: UInt8
123
+ @Struct.field(TimePoint, {optional: true})
124
+ declare schedule_started?: TimePoint
125
+ @Struct.field(UInt64, {optional: true})
126
+ declare entitygroup?: UInt64
127
+ @Struct.field(entity_ref, {array: true, optional: true})
128
+ declare group_members?: entity_ref[]
58
129
  }
59
130
  @Struct.type('cargo_row')
60
131
  export class cargo_row extends Struct {
61
132
  @Struct.field(UInt64)
62
133
  declare id: UInt64
63
134
  @Struct.field(UInt64)
64
- declare ship_id: UInt64
135
+ declare entity_id: UInt64
65
136
  @Struct.field(UInt64)
66
- declare good_id: UInt64
137
+ declare item_id: UInt64
67
138
  @Struct.field(UInt64)
68
- declare paid: UInt64
69
- @Struct.field(UInt32)
70
- declare owned: UInt32
71
- @Struct.field(UInt32)
72
- declare loaded: UInt32
139
+ declare quantity: UInt64
140
+ @Struct.field(UInt64)
141
+ declare stats: UInt64
142
+ @Struct.field(module_entry, {array: true})
143
+ declare modules: module_entry[]
144
+ }
145
+ @Struct.type('claimstarter')
146
+ export class claimstarter extends Struct {
147
+ @Struct.field(Name)
148
+ declare account: Name
149
+ @Struct.field(Int64)
150
+ declare x: Int64
151
+ @Struct.field(Int64)
152
+ declare y: Int64
153
+ }
154
+ @Struct.type('cleanrsvp')
155
+ export class cleanrsvp extends Struct {
156
+ @Struct.field(UInt64)
157
+ declare epoch: UInt64
158
+ @Struct.field(UInt64)
159
+ declare max_rows: UInt64
73
160
  }
74
161
  @Struct.type('cleartable')
75
162
  export class cleartable extends Struct {
@@ -85,122 +172,820 @@ export namespace Types {
85
172
  @Struct.field(Checksum256)
86
173
  declare commit: Checksum256
87
174
  }
175
+ @Struct.type('entity_defaults')
176
+ export class entity_defaults extends Struct {
177
+ @Struct.field(UInt16)
178
+ declare warehouse_z: UInt16
179
+ @Struct.field(UInt16)
180
+ declare container_z: UInt16
181
+ }
182
+ @Struct.type('item_def')
183
+ export class item_def extends Struct {
184
+ @Struct.field(UInt16)
185
+ declare id: UInt16
186
+ @Struct.field(UInt32)
187
+ declare mass: UInt32
188
+ @Struct.field(UInt8)
189
+ declare type: UInt8
190
+ @Struct.field(UInt8)
191
+ declare subtype: UInt8
192
+ @Struct.field(UInt8)
193
+ declare tier: UInt8
194
+ }
195
+ @Struct.type('game_config')
196
+ export class game_config extends Struct {
197
+ @Struct.field(UInt32)
198
+ declare version: UInt32
199
+ @Struct.field(entity_defaults)
200
+ declare defaults: entity_defaults
201
+ @Struct.field(item_def, {array: true})
202
+ declare items: item_def[]
203
+ }
204
+ @Struct.type('configlog')
205
+ export class configlog extends Struct {
206
+ @Struct.field(game_config)
207
+ declare config: game_config
208
+ }
88
209
  @Struct.type('coordinates')
89
210
  export class coordinates extends Struct {
90
211
  @Struct.field(Int64)
91
212
  declare x: Int64
92
213
  @Struct.field(Int64)
93
214
  declare y: Int64
215
+ @Struct.field(UInt16, {optional: true})
216
+ declare z?: UInt16
217
+ }
218
+ @Struct.type('task')
219
+ export class task extends Struct {
220
+ @Struct.field(UInt8)
221
+ declare type: UInt8
222
+ @Struct.field(UInt32)
223
+ declare duration: UInt32
224
+ @Struct.field(UInt8)
225
+ declare cancelable: UInt8
226
+ @Struct.field(coordinates, {optional: true})
227
+ declare coordinates?: coordinates
228
+ @Struct.field(cargo_item, {array: true})
229
+ declare cargo: cargo_item[]
230
+ @Struct.field(entity_ref, {optional: true})
231
+ declare entitytarget?: entity_ref
232
+ @Struct.field(UInt64, {optional: true})
233
+ declare entitygroup?: UInt64
234
+ @Struct.field(UInt16, {optional: true})
235
+ declare energy_cost?: UInt16
236
+ }
237
+ @Struct.type('schedule')
238
+ export class schedule extends Struct {
239
+ @Struct.field(TimePoint)
240
+ declare started: TimePoint
241
+ @Struct.field(task, {array: true})
242
+ declare tasks: task[]
243
+ }
244
+ @Struct.type('container_row')
245
+ export class container_row extends Struct {
246
+ @Struct.field(UInt64)
247
+ declare id: UInt64
248
+ @Struct.field(Name)
249
+ declare owner: Name
250
+ @Struct.field('string')
251
+ declare name: string
252
+ @Struct.field(coordinates)
253
+ declare coordinates: coordinates
254
+ @Struct.field(UInt32)
255
+ declare hullmass: UInt32
256
+ @Struct.field(UInt32)
257
+ declare capacity: UInt32
258
+ @Struct.field(UInt32)
259
+ declare cargomass: UInt32
260
+ @Struct.field(schedule, {optional: true})
261
+ declare schedule?: schedule
262
+ }
263
+ @Struct.type('craft')
264
+ export class craft extends Struct {
265
+ @Struct.field(Name)
266
+ declare entity_type: Name
267
+ @Struct.field(UInt64)
268
+ declare id: UInt64
269
+ @Struct.field(UInt16)
270
+ declare recipe_id: UInt16
271
+ @Struct.field(UInt32)
272
+ declare quantity: UInt32
273
+ @Struct.field(cargo_item, {array: true})
274
+ declare inputs: cargo_item[]
275
+ }
276
+ @Struct.type('crafter_stats')
277
+ export class crafter_stats extends Struct {
278
+ @Struct.field(UInt16)
279
+ declare speed: UInt16
280
+ @Struct.field(UInt16)
281
+ declare drain: UInt16
282
+ }
283
+ @Struct.type('createentity')
284
+ export class createentity extends Struct {
285
+ @Struct.field(Name)
286
+ declare owner: Name
287
+ @Struct.field(Name)
288
+ declare entity_type: Name
289
+ @Struct.field('string')
290
+ declare entity_name: string
291
+ @Struct.field(Int64)
292
+ declare x: Int64
293
+ @Struct.field(Int64)
294
+ declare y: Int64
295
+ }
296
+ @Struct.type('deploy')
297
+ export class deploy extends Struct {
298
+ @Struct.field(Name)
299
+ declare entity_type: Name
300
+ @Struct.field(UInt64)
301
+ declare id: UInt64
302
+ @Struct.field(UInt16)
303
+ declare packed_item_id: UInt16
304
+ @Struct.field(UInt64)
305
+ declare stats: UInt64
306
+ }
307
+ @Struct.type('descentity')
308
+ export class descentity extends Struct {
309
+ @Struct.field(UInt16)
310
+ declare item_id: UInt16
311
+ @Struct.field(UInt64)
312
+ declare hull_stats: UInt64
313
+ @Struct.field(UInt16, {array: true})
314
+ declare module_items: UInt16[]
315
+ @Struct.field(UInt64, {array: true})
316
+ declare module_stats: UInt64[]
317
+ }
318
+ @Struct.type('enable')
319
+ export class enable extends Struct {
320
+ @Struct.field('bool')
321
+ declare enabled: boolean
322
+ }
323
+ @Struct.type('energy_stats')
324
+ export class energy_stats extends Struct {
325
+ @Struct.field(UInt16)
326
+ declare capacity: UInt16
327
+ @Struct.field(UInt16)
328
+ declare recharge: UInt16
329
+ }
330
+ @Struct.type('entity_current_state')
331
+ export class entity_current_state extends Struct {
332
+ @Struct.field(coordinates)
333
+ declare coordinates: coordinates
334
+ @Struct.field(UInt16)
335
+ declare energy: UInt16
336
+ }
337
+ @Struct.type('loader_stats')
338
+ export class loader_stats extends Struct {
339
+ @Struct.field(UInt32)
340
+ declare mass: UInt32
341
+ @Struct.field(UInt16)
342
+ declare thrust: UInt16
343
+ @Struct.field(UInt8)
344
+ declare quantity: UInt8
345
+ }
346
+ @Struct.type('movement_stats')
347
+ export class movement_stats extends Struct {
348
+ @Struct.field(UInt32)
349
+ declare thrust: UInt32
350
+ @Struct.field(UInt16)
351
+ declare drain: UInt16
352
+ }
353
+ @Struct.type('gatherer_stats')
354
+ export class gatherer_stats extends Struct {
355
+ @Struct.field(UInt16)
356
+ declare yield: UInt16
357
+ @Struct.field(UInt16)
358
+ declare drain: UInt16
359
+ @Struct.field(UInt16)
360
+ declare depth: UInt16
361
+ @Struct.field(UInt16)
362
+ declare speed: UInt16
363
+ }
364
+ @Struct.type('hauler_stats')
365
+ export class hauler_stats extends Struct {
366
+ @Struct.field(UInt8)
367
+ declare capacity: UInt8
368
+ @Struct.field(UInt16)
369
+ declare efficiency: UInt16
370
+ @Struct.field(UInt16)
371
+ declare drain: UInt16
372
+ }
373
+ @Struct.type('warp_stats')
374
+ export class warp_stats extends Struct {
375
+ @Struct.field(UInt32)
376
+ declare range: UInt32
377
+ }
378
+ @Struct.type('entity_info')
379
+ export class entity_info extends Struct {
380
+ @Struct.field(Name)
381
+ declare type: Name
382
+ @Struct.field(UInt64)
383
+ declare id: UInt64
384
+ @Struct.field(Name)
385
+ declare owner: Name
386
+ @Struct.field('string')
387
+ declare entity_name: string
388
+ @Struct.field(coordinates)
389
+ declare coordinates: coordinates
390
+ @Struct.field(UInt32)
391
+ declare cargomass: UInt32
392
+ @Struct.field(cargo_item, {array: true})
393
+ declare cargo: cargo_item[]
394
+ @Struct.field(loader_stats, {optional: true})
395
+ declare loaders?: loader_stats
396
+ @Struct.field(module_entry, {array: true})
397
+ declare modules: module_entry[]
398
+ @Struct.field(UInt16, {optional: true})
399
+ declare energy?: UInt16
400
+ @Struct.field(UInt32, {optional: true})
401
+ declare hullmass?: UInt32
402
+ @Struct.field(movement_stats, {optional: true})
403
+ declare engines?: movement_stats
404
+ @Struct.field(energy_stats, {optional: true})
405
+ declare generator?: energy_stats
406
+ @Struct.field(UInt32, {optional: true})
407
+ declare capacity?: UInt32
408
+ @Struct.field(gatherer_stats, {optional: true})
409
+ declare gatherer?: gatherer_stats
410
+ @Struct.field(hauler_stats, {optional: true})
411
+ declare hauler?: hauler_stats
412
+ @Struct.field(warp_stats, {optional: true})
413
+ declare warp?: warp_stats
414
+ @Struct.field(crafter_stats, {optional: true})
415
+ declare crafter?: crafter_stats
416
+ @Struct.field('bool')
417
+ declare is_idle: boolean
418
+ @Struct.field(task, {optional: true})
419
+ declare current_task?: task
420
+ @Struct.field(UInt32)
421
+ declare current_task_elapsed: UInt32
422
+ @Struct.field(UInt32)
423
+ declare current_task_remaining: UInt32
424
+ @Struct.field(task, {array: true})
425
+ declare pending_tasks: task[]
426
+ @Struct.field(TimePoint, {optional: true})
427
+ declare idle_at?: TimePoint
428
+ @Struct.field(schedule, {optional: true})
429
+ declare schedule?: schedule
430
+ }
431
+ @Struct.type('slot_def')
432
+ export class slot_def extends Struct {
433
+ @Struct.field(UInt8)
434
+ declare type: UInt8
435
+ }
436
+ @Struct.type('entity_layout')
437
+ export class entity_layout extends Struct {
438
+ @Struct.field(UInt16)
439
+ declare entity_item_id: UInt16
440
+ @Struct.field(slot_def, {array: true})
441
+ declare slots: slot_def[]
442
+ }
443
+ @Struct.type('entity_layouts_result')
444
+ export class entity_layouts_result extends Struct {
445
+ @Struct.field(entity_layout, {array: true})
446
+ declare entities: entity_layout[]
447
+ }
448
+ @Struct.type('entity_summary')
449
+ export class entity_summary extends Struct {
450
+ @Struct.field(Name)
451
+ declare type: Name
452
+ @Struct.field(UInt64)
453
+ declare id: UInt64
454
+ @Struct.field(Name)
455
+ declare owner: Name
456
+ @Struct.field('string')
457
+ declare entity_name: string
458
+ @Struct.field(coordinates)
459
+ declare coordinates: coordinates
460
+ @Struct.field('bool')
461
+ declare is_idle: boolean
462
+ @Struct.field(UInt32)
463
+ declare resolved_count: UInt32
464
+ @Struct.field(UInt32)
465
+ declare pending_count: UInt32
466
+ }
467
+ @Struct.type('entity_task_info')
468
+ export class entity_task_info extends Struct {
469
+ @Struct.field(UInt64)
470
+ declare entity_id: UInt64
471
+ @Struct.field(Name)
472
+ declare entity_type: Name
473
+ @Struct.field(UInt8)
474
+ declare task_count: UInt8
475
+ @Struct.field(TimePoint)
476
+ declare schedule_started: TimePoint
477
+ }
478
+ @Struct.type('entitygroup_row')
479
+ export class entitygroup_row extends Struct {
480
+ @Struct.field(UInt64)
481
+ declare id: UInt64
482
+ @Struct.field(entity_ref, {array: true})
483
+ declare participants: entity_ref[]
484
+ }
485
+ @Struct.type('enum_member')
486
+ export class enum_member extends Struct {
487
+ @Struct.field(UInt8)
488
+ declare value: UInt8
489
+ @Struct.field('string')
490
+ declare name: string
491
+ }
492
+ @Struct.type('enum_result')
493
+ export class enum_result extends Struct {
494
+ @Struct.field(enum_member, {array: true})
495
+ declare members: enum_member[]
496
+ }
497
+ @Struct.type('gather')
498
+ export class gather extends Struct {
499
+ @Struct.field(entity_ref)
500
+ declare source: entity_ref
501
+ @Struct.field(entity_ref)
502
+ declare destination: entity_ref
503
+ @Struct.field(UInt16)
504
+ declare stratum: UInt16
505
+ @Struct.field(UInt32)
506
+ declare quantity: UInt32
507
+ }
508
+ @Struct.type('getconfig')
509
+ export class getconfig extends Struct {}
510
+ @Struct.type('getentities')
511
+ export class getentities extends Struct {
512
+ @Struct.field(Name)
513
+ declare owner: Name
514
+ @Struct.field(Name, {optional: true})
515
+ declare entity_type?: Name
516
+ }
517
+ @Struct.type('getentity')
518
+ export class getentity extends Struct {
519
+ @Struct.field(Name)
520
+ declare entity_type: Name
521
+ @Struct.field(UInt64)
522
+ declare entity_id: UInt64
523
+ }
524
+ @Struct.type('getitemdata')
525
+ export class getitemdata extends Struct {}
526
+ @Struct.type('getitemids')
527
+ export class getitemids extends Struct {}
528
+ @Struct.type('getitems')
529
+ export class getitems extends Struct {}
530
+ @Struct.type('getitemtypes')
531
+ export class getitemtypes extends Struct {}
532
+ @Struct.type('getlocation')
533
+ export class getlocation extends Struct {
534
+ @Struct.field(Int64)
535
+ declare x: Int64
536
+ @Struct.field(Int64)
537
+ declare y: Int64
538
+ }
539
+ @Struct.type('getlocdata')
540
+ export class getlocdata extends Struct {
541
+ @Struct.field(Int64)
542
+ declare x: Int64
543
+ @Struct.field(Int64)
544
+ declare y: Int64
545
+ }
546
+ @Struct.type('getmodtypes')
547
+ export class getmodtypes extends Struct {}
548
+ @Struct.type('getmodules')
549
+ export class getmodules extends Struct {}
550
+ @Struct.type('getnearby')
551
+ export class getnearby extends Struct {
552
+ @Struct.field(Name)
553
+ declare entity_type: Name
554
+ @Struct.field(UInt64)
555
+ declare entity_id: UInt64
556
+ @Struct.field('bool')
557
+ declare recharge: boolean
558
+ }
559
+ @Struct.type('getnftinfo')
560
+ export class getnftinfo extends Struct {}
561
+ @Struct.type('getplayer')
562
+ export class getplayer extends Struct {
563
+ @Struct.field(Name)
564
+ declare account: Name
565
+ }
566
+ @Struct.type('getrecipe')
567
+ export class getrecipe extends Struct {
568
+ @Struct.field(UInt16)
569
+ declare output_item_id: UInt16
570
+ }
571
+ @Struct.type('getrecipes')
572
+ export class getrecipes extends Struct {
573
+ @Struct.field(UInt16)
574
+ declare lower_bound: UInt16
575
+ @Struct.field(UInt8)
576
+ declare limit: UInt8
577
+ }
578
+ @Struct.type('getrescats')
579
+ export class getrescats extends Struct {}
580
+ @Struct.type('getreserves')
581
+ export class getreserves extends Struct {
582
+ @Struct.field(Int64)
583
+ declare x: Int64
584
+ @Struct.field(Int64)
585
+ declare y: Int64
586
+ }
587
+ @Struct.type('getresources')
588
+ export class getresources extends Struct {}
589
+ @Struct.type('getslots')
590
+ export class getslots extends Struct {}
591
+ @Struct.type('getstratum')
592
+ export class getstratum extends Struct {
593
+ @Struct.field(Int64)
594
+ declare x: Int64
595
+ @Struct.field(Int64)
596
+ declare y: Int64
597
+ @Struct.field(UInt16)
598
+ declare stratum: UInt16
599
+ }
600
+ @Struct.type('getsummaries')
601
+ export class getsummaries extends Struct {
602
+ @Struct.field(Name)
603
+ declare owner: Name
604
+ @Struct.field(Name, {optional: true})
605
+ declare entity_type?: Name
606
+ }
607
+ @Struct.type('grouptravel')
608
+ export class grouptravel extends Struct {
609
+ @Struct.field(entity_ref, {array: true})
610
+ declare entities: entity_ref[]
611
+ @Struct.field(Int64)
612
+ declare x: Int64
613
+ @Struct.field(Int64)
614
+ declare y: Int64
615
+ @Struct.field('bool')
616
+ declare recharge: boolean
617
+ }
618
+ @Struct.type('hash')
619
+ export class hash extends Struct {
620
+ @Struct.field('string')
621
+ declare value: string
622
+ }
623
+ @Struct.type('hash512')
624
+ export class hash512 extends Struct {
625
+ @Struct.field('string')
626
+ declare value: string
627
+ }
628
+ @Struct.type('init')
629
+ export class init extends Struct {
630
+ @Struct.field(Checksum256)
631
+ declare seed: Checksum256
632
+ }
633
+ @Struct.type('item_id_pair')
634
+ export class item_id_pair extends Struct {
635
+ @Struct.field(UInt16)
636
+ declare id: UInt16
637
+ @Struct.field('string')
638
+ declare name: string
639
+ }
640
+ @Struct.type('item_ids_result')
641
+ export class item_ids_result extends Struct {
642
+ @Struct.field(item_id_pair, {array: true})
643
+ declare items: item_id_pair[]
644
+ }
645
+ @Struct.type('recipe_input')
646
+ export class recipe_input extends Struct {
647
+ @Struct.field(UInt16)
648
+ declare item_id: UInt16
649
+ @Struct.field(UInt8)
650
+ declare category: UInt8
651
+ @Struct.field(UInt8)
652
+ declare tier: UInt8
653
+ @Struct.field(UInt32)
654
+ declare quantity: UInt32
655
+ }
656
+ @Struct.type('stat_source')
657
+ export class stat_source extends Struct {
658
+ @Struct.field(UInt8)
659
+ declare input_index: UInt8
660
+ @Struct.field(UInt8)
661
+ declare input_stat_index: UInt8
662
+ }
663
+ @Struct.type('stat_slot_response')
664
+ export class stat_slot_response extends Struct {
665
+ @Struct.field(stat_source, {array: true})
666
+ declare sources: stat_source[]
667
+ }
668
+ @Struct.type('recipe_item_info')
669
+ export class recipe_item_info extends Struct {
670
+ @Struct.field(UInt16)
671
+ declare id: UInt16
672
+ @Struct.field(UInt32)
673
+ declare mass: UInt32
674
+ }
675
+ @Struct.type('recipe_response')
676
+ export class recipe_response extends Struct {
677
+ @Struct.field(UInt16)
678
+ declare output_item_id: UInt16
679
+ @Struct.field(UInt32)
680
+ declare output_mass: UInt32
681
+ @Struct.field(recipe_input, {array: true})
682
+ declare inputs: recipe_input[]
683
+ @Struct.field(stat_slot_response, {array: true})
684
+ declare stat_slots: stat_slot_response[]
685
+ @Struct.field(Bytes)
686
+ declare blend_weights: Bytes
687
+ @Struct.field(recipe_item_info)
688
+ declare output_item: recipe_item_info
689
+ @Struct.field(recipe_item_info, {array: true})
690
+ declare input_items: recipe_item_info[]
691
+ }
692
+ @Struct.type('recipes_result')
693
+ export class recipes_result extends Struct {
694
+ @Struct.field(recipe_response, {array: true})
695
+ declare recipes: recipe_response[]
696
+ }
697
+ @Struct.type('itemdata_result')
698
+ export class itemdata_result extends Struct {
699
+ @Struct.field(item_def, {array: true})
700
+ declare items: item_def[]
701
+ @Struct.field(recipes_result)
702
+ declare recipes: recipes_result
703
+ }
704
+ @Struct.type('items_info')
705
+ export class items_info extends Struct {
706
+ @Struct.field(item_def, {array: true})
707
+ declare items: item_def[]
708
+ }
709
+ @Struct.type('join')
710
+ export class join extends Struct {
711
+ @Struct.field(Name)
712
+ declare account: Name
713
+ }
714
+ @Struct.type('location_static')
715
+ export class location_static extends Struct {
716
+ @Struct.field(coordinates)
717
+ declare coords: coordinates
718
+ @Struct.field(UInt8)
719
+ declare type: UInt8
720
+ @Struct.field(UInt8)
721
+ declare subtype: UInt8
722
+ @Struct.field(UInt8)
723
+ declare seed0: UInt8
724
+ @Struct.field(UInt8)
725
+ declare seed1: UInt8
726
+ }
727
+ @Struct.type('location_epoch')
728
+ export class location_epoch extends Struct {
729
+ @Struct.field('bool')
730
+ declare active: boolean
731
+ @Struct.field(UInt8)
732
+ declare seed0: UInt8
733
+ @Struct.field(UInt8)
734
+ declare seed1: UInt8
735
+ }
736
+ @Struct.type('location_derived')
737
+ export class location_derived extends Struct {
738
+ @Struct.field(location_static)
739
+ declare static_props: location_static
740
+ @Struct.field(location_epoch)
741
+ declare epoch_props: location_epoch
742
+ @Struct.field(UInt16)
743
+ declare size: UInt16
744
+ }
745
+ @Struct.type('location_info')
746
+ export class location_info extends Struct {
747
+ @Struct.field(coordinates)
748
+ declare coords: coordinates
749
+ @Struct.field('bool')
750
+ declare is_system: boolean
751
+ }
752
+ @Struct.type('location_row')
753
+ export class location_row extends Struct {
754
+ @Struct.field(UInt64)
755
+ declare id: UInt64
756
+ @Struct.field(Name)
757
+ declare owner: Name
758
+ @Struct.field(coordinates)
759
+ declare coordinates: coordinates
760
+ @Struct.field(UInt32)
761
+ declare cargomass: UInt32
762
+ @Struct.field(cargo_item, {array: true})
763
+ declare cargo: cargo_item[]
764
+ @Struct.field(schedule, {optional: true})
765
+ declare schedule?: schedule
766
+ }
767
+ @Struct.type('module_info')
768
+ export class module_info extends Struct {
769
+ @Struct.field(UInt16)
770
+ declare id: UInt16
771
+ @Struct.field(UInt32)
772
+ declare mass: UInt32
773
+ @Struct.field(UInt8)
774
+ declare module_type: UInt8
775
+ @Struct.field(UInt8)
776
+ declare tier: UInt8
777
+ }
778
+ @Struct.type('modules_result')
779
+ export class modules_result extends Struct {
780
+ @Struct.field(module_info, {array: true})
781
+ declare modules: module_info[]
782
+ }
783
+ @Struct.type('nearby_system')
784
+ export class nearby_system extends Struct {
785
+ @Struct.field(UInt64)
786
+ declare distance: UInt64
787
+ @Struct.field(UInt64)
788
+ declare energy_cost: UInt64
789
+ @Struct.field(UInt32)
790
+ declare flight_time: UInt32
791
+ @Struct.field(location_info)
792
+ declare location: location_info
793
+ }
794
+ @Struct.type('nearby_info')
795
+ export class nearby_info extends Struct {
796
+ @Struct.field('bool')
797
+ declare can_travel: boolean
798
+ @Struct.field(entity_current_state)
799
+ declare current: entity_current_state
800
+ @Struct.field(entity_current_state)
801
+ declare projected: entity_current_state
802
+ @Struct.field(UInt16)
803
+ declare max_energy: UInt16
804
+ @Struct.field(nearby_system, {array: true})
805
+ declare systems: nearby_system[]
806
+ }
807
+ @Struct.type('nexus_row')
808
+ export class nexus_row extends Struct {
809
+ @Struct.field(UInt64)
810
+ declare id: UInt64
811
+ @Struct.field(Name)
812
+ declare owner: Name
813
+ @Struct.field('string')
814
+ declare name: string
815
+ @Struct.field(coordinates)
816
+ declare coordinates: coordinates
817
+ }
818
+ @Struct.type('schema_field')
819
+ export class schema_field extends Struct {
820
+ @Struct.field('string')
821
+ declare name: string
822
+ @Struct.field('string')
823
+ declare field_type: string
824
+ }
825
+ @Struct.type('nft_schema_def')
826
+ export class nft_schema_def extends Struct {
827
+ @Struct.field(Name)
828
+ declare schema_name: Name
829
+ @Struct.field(schema_field, {array: true})
830
+ declare fields: schema_field[]
94
831
  }
95
- @Struct.type('enable')
96
- export class enable extends Struct {
97
- @Struct.field('bool')
98
- declare enabled: boolean
832
+ @Struct.type('nft_template_def')
833
+ export class nft_template_def extends Struct {
834
+ @Struct.field(UInt16)
835
+ declare item_id: UInt16
836
+ @Struct.field(Name)
837
+ declare schema_name: Name
99
838
  }
100
- @Struct.type('good_price')
101
- export class good_price extends Struct {
839
+ @Struct.type('nftconfig_row')
840
+ export class nftconfig_row extends Struct {
102
841
  @Struct.field(UInt16)
103
- declare id: UInt16
104
- @Struct.field(UInt64)
105
- declare price: UInt64
106
- @Struct.field(UInt64)
107
- declare supply: UInt64
842
+ declare item_id: UInt16
843
+ @Struct.field(Int32)
844
+ declare template_id: Int32
845
+ @Struct.field(Name)
846
+ declare schema_name: Name
108
847
  }
109
- @Struct.type('hash')
110
- export class hash extends Struct {
111
- @Struct.field('string')
112
- declare value: string
848
+ @Struct.type('nftinfo_result')
849
+ export class nftinfo_result extends Struct {
850
+ @Struct.field(nft_schema_def, {array: true})
851
+ declare schemas: nft_schema_def[]
852
+ @Struct.field(nft_template_def, {array: true})
853
+ declare templates: nft_template_def[]
113
854
  }
114
- @Struct.type('hash512')
115
- export class hash512 extends Struct {
116
- @Struct.field('string')
117
- declare value: string
855
+ @Struct.type('task_event')
856
+ export class task_event extends Struct {
857
+ @Struct.field(UInt8)
858
+ declare event_type: UInt8
859
+ @Struct.field(Name)
860
+ declare owner: Name
861
+ @Struct.field(Name)
862
+ declare entity_type: Name
863
+ @Struct.field(UInt64)
864
+ declare entity_id: UInt64
865
+ @Struct.field(UInt8)
866
+ declare task_index: UInt8
867
+ @Struct.field(task)
868
+ declare task: task
869
+ @Struct.field(TimePoint)
870
+ declare starts_at: TimePoint
871
+ @Struct.field(TimePoint)
872
+ declare completes_at: TimePoint
873
+ @Struct.field(UInt16, {optional: true})
874
+ declare new_energy?: UInt16
118
875
  }
119
- @Struct.type('init')
120
- export class init extends Struct {
121
- @Struct.field(Checksum256)
122
- declare seed: Checksum256
876
+ @Struct.type('notify')
877
+ export class notify extends Struct {
878
+ @Struct.field(task_event)
879
+ declare event: task_event
123
880
  }
124
- @Struct.type('jettison')
125
- export class jettison extends Struct {
881
+ @Struct.type('player_info')
882
+ export class player_info extends Struct {
883
+ @Struct.field(Name)
884
+ declare owner: Name
885
+ @Struct.field('bool')
886
+ declare is_player: boolean
887
+ @Struct.field('string')
888
+ declare company_name: string
126
889
  @Struct.field(UInt64)
127
- declare ship_id: UInt64
128
- @Struct.field(UInt16)
129
- declare good_id: UInt16
890
+ declare ship_count: UInt64
130
891
  @Struct.field(UInt64)
131
- declare quantity: UInt64
892
+ declare warehouse_count: UInt64
893
+ @Struct.field(UInt64)
894
+ declare container_count: UInt64
132
895
  }
133
- @Struct.type('join')
134
- export class join extends Struct {
896
+ @Struct.type('player_row')
897
+ export class player_row extends Struct {
135
898
  @Struct.field(Name)
136
- declare account: Name
899
+ declare owner: Name
137
900
  }
138
- @Struct.type('loader_stats')
139
- export class loader_stats extends Struct {
140
- @Struct.field(UInt32)
141
- declare mass: UInt32
901
+ @Struct.type('recharge')
902
+ export class recharge extends Struct {
903
+ @Struct.field(Name)
904
+ declare entity_type: Name
905
+ @Struct.field(UInt64)
906
+ declare id: UInt64
907
+ }
908
+ @Struct.type('reserve_row')
909
+ export class reserve_row extends Struct {
910
+ @Struct.field(UInt64)
911
+ declare id: UInt64
912
+ @Struct.field(UInt64)
913
+ declare coord_id: UInt64
142
914
  @Struct.field(UInt16)
143
- declare quantity: UInt16
915
+ declare stratum: UInt16
144
916
  @Struct.field(UInt32)
145
- declare thrust: UInt32
917
+ declare remaining: UInt32
146
918
  }
147
- @Struct.type('location_row')
148
- export class location_row extends Struct {
919
+ @Struct.type('resolve')
920
+ export class resolve extends Struct {
921
+ @Struct.field(Name)
922
+ declare entity_type: Name
149
923
  @Struct.field(UInt64)
150
924
  declare id: UInt64
151
- @Struct.field(coordinates)
152
- declare coordinates: coordinates
925
+ @Struct.field(UInt64, {optional: true})
926
+ declare count?: UInt64
927
+ }
928
+ @Struct.type('resolve_results')
929
+ export class resolve_results extends Struct {
153
930
  @Struct.field(UInt64)
154
- declare epoch: UInt64
155
- @Struct.field(UInt16)
156
- declare good_id: UInt16
157
- @Struct.field(UInt16)
158
- declare supply: UInt16
931
+ declare entity_id: UInt64
932
+ @Struct.field(Name)
933
+ declare entity_type: Name
934
+ @Struct.field(UInt8)
935
+ declare resolved_count: UInt8
936
+ @Struct.field(TimePoint, {optional: true})
937
+ declare new_schedule_started?: TimePoint
938
+ @Struct.field(UInt64, {optional: true})
939
+ declare entitygroup?: UInt64
940
+ @Struct.field(entity_ref, {array: true, optional: true})
941
+ declare group_members?: entity_ref[]
159
942
  }
160
- @Struct.type('marketprice')
161
- export class marketprice extends Struct {
162
- @Struct.field(coordinates)
163
- declare location: coordinates
943
+ @Struct.type('resource_info')
944
+ export class resource_info extends Struct {
164
945
  @Struct.field(UInt16)
165
- declare good_id: UInt16
946
+ declare id: UInt16
947
+ @Struct.field(UInt32)
948
+ declare mass: UInt32
949
+ @Struct.field(UInt8)
950
+ declare category: UInt8
951
+ @Struct.field(UInt8)
952
+ declare tier: UInt8
166
953
  }
167
- @Struct.type('marketprices')
168
- export class marketprices extends Struct {
169
- @Struct.field(coordinates)
170
- declare location: coordinates
954
+ @Struct.type('resource_stats')
955
+ export class resource_stats extends Struct {
956
+ @Struct.field(UInt16)
957
+ declare stat1: UInt16
958
+ @Struct.field(UInt16)
959
+ declare stat2: UInt16
960
+ @Struct.field(UInt16)
961
+ declare stat3: UInt16
171
962
  }
172
- @Struct.type('payloan')
173
- export class payloan extends Struct {
174
- @Struct.field(Name)
175
- declare account: Name
176
- @Struct.field(UInt64)
177
- declare amount: UInt64
963
+ @Struct.type('resources_result')
964
+ export class resources_result extends Struct {
965
+ @Struct.field(resource_info, {array: true})
966
+ declare resources: resource_info[]
178
967
  }
179
- @Struct.type('player_row')
180
- export class player_row extends Struct {
968
+ @Struct.type('rmmodule')
969
+ export class rmmodule extends Struct {
181
970
  @Struct.field(Name)
182
- declare owner: Name
971
+ declare entity_type: Name
183
972
  @Struct.field(UInt64)
184
- declare balance: UInt64
973
+ declare entity_id: UInt64
974
+ @Struct.field(UInt8)
975
+ declare module_index: UInt8
185
976
  @Struct.field(UInt64)
186
- declare debt: UInt64
187
- @Struct.field(Int64)
188
- declare networth: Int64
977
+ declare target_cargo_id: UInt64
978
+ }
979
+ @Struct.type('rmnftcfg')
980
+ export class rmnftcfg extends Struct {
981
+ @Struct.field(UInt16)
982
+ declare item_id: UInt16
189
983
  }
190
984
  @Struct.type('salt')
191
985
  export class salt extends Struct {
192
986
  @Struct.field(UInt64)
193
987
  declare salt: UInt64
194
988
  }
195
- @Struct.type('sellgoods')
196
- export class sellgoods extends Struct {
197
- @Struct.field(UInt64)
198
- declare ship_id: UInt64
199
- @Struct.field(UInt64)
200
- declare good_id: UInt64
201
- @Struct.field(UInt64)
202
- declare quantity: UInt64
203
- }
204
989
  @Struct.type('sequence_row')
205
990
  export class sequence_row extends Struct {
206
991
  @Struct.field(Name)
@@ -208,48 +993,14 @@ export namespace Types {
208
993
  @Struct.field(UInt64)
209
994
  declare value: UInt64
210
995
  }
211
- @Struct.type('ship_state')
212
- export class ship_state extends Struct {
213
- @Struct.field(UInt32)
214
- declare energy: UInt32
215
- }
216
- @Struct.type('ship_stats')
217
- export class ship_stats extends Struct {
218
- @Struct.field(UInt32)
219
- declare capacity: UInt32
220
- @Struct.field(UInt32)
221
- declare drain: UInt32
222
- @Struct.field(UInt64)
223
- declare mass: UInt64
224
- @Struct.field(UInt64)
225
- declare maxmass: UInt64
996
+ @Struct.type('setnftcfg')
997
+ export class setnftcfg extends Struct {
226
998
  @Struct.field(UInt16)
227
- declare orbit: UInt16
228
- @Struct.field(UInt32)
229
- declare recharge: UInt32
230
- @Struct.field(UInt64)
231
- declare thrust: UInt64
232
- }
233
- @Struct.type('travel_plan')
234
- export class travel_plan extends Struct {
235
- @Struct.field(TimePoint)
236
- declare departure: TimePoint
237
- @Struct.field(coordinates)
238
- declare destination: coordinates
239
- @Struct.field(UInt64)
240
- declare distance: UInt64
241
- @Struct.field(UInt32)
242
- declare flighttime: UInt32
243
- @Struct.field(UInt32)
244
- declare loadtime: UInt32
245
- @Struct.field(UInt32)
246
- declare rechargetime: UInt32
247
- @Struct.field(UInt32)
248
- declare masspenalty: UInt32
249
- @Struct.field(UInt64)
250
- declare mass: UInt64
251
- @Struct.field(UInt32)
252
- declare energyusage: UInt32
999
+ declare item_id: UInt16
1000
+ @Struct.field(Int32)
1001
+ declare template_id: Int32
1002
+ @Struct.field(Name)
1003
+ declare schema_name: Name
253
1004
  }
254
1005
  @Struct.type('ship_row')
255
1006
  export class ship_row extends Struct {
@@ -259,27 +1010,74 @@ export namespace Types {
259
1010
  declare owner: Name
260
1011
  @Struct.field('string')
261
1012
  declare name: string
1013
+ @Struct.field(UInt64)
1014
+ declare stats: UInt64
262
1015
  @Struct.field(coordinates)
263
- declare location: coordinates
264
- @Struct.field(UInt8)
265
- declare skin: UInt8
266
- @Struct.field(UInt8)
267
- declare tier: UInt8
268
- @Struct.field(ship_state)
269
- declare state: ship_state
270
- @Struct.field(ship_stats)
271
- declare stats: ship_stats
272
- @Struct.field(loader_stats)
273
- declare loaders: loader_stats
274
- @Struct.field(travel_plan, {optional: true})
275
- declare travelplan?: travel_plan
1016
+ declare coordinates: coordinates
1017
+ @Struct.field(UInt32, {optional: true})
1018
+ declare hullmass?: UInt32
1019
+ @Struct.field(UInt32, {optional: true})
1020
+ declare capacity?: UInt32
1021
+ @Struct.field(UInt16, {optional: true})
1022
+ declare energy?: UInt16
1023
+ @Struct.field(UInt32)
1024
+ declare cargomass: UInt32
1025
+ @Struct.field(movement_stats, {optional: true})
1026
+ declare engines?: movement_stats
1027
+ @Struct.field(energy_stats, {optional: true})
1028
+ declare generator?: energy_stats
1029
+ @Struct.field(loader_stats, {optional: true})
1030
+ declare loaders?: loader_stats
1031
+ @Struct.field(gatherer_stats, {optional: true})
1032
+ declare gatherer?: gatherer_stats
1033
+ @Struct.field(warp_stats, {optional: true})
1034
+ declare warp?: warp_stats
1035
+ @Struct.field(crafter_stats, {optional: true})
1036
+ declare crafter?: crafter_stats
1037
+ @Struct.field(hauler_stats, {optional: true})
1038
+ declare hauler?: hauler_stats
1039
+ @Struct.field(module_entry, {array: true})
1040
+ declare modules: module_entry[]
1041
+ @Struct.field(schedule, {optional: true})
1042
+ declare schedule?: schedule
1043
+ }
1044
+ @Struct.type('spawncargo')
1045
+ export class spawncargo extends Struct {
1046
+ @Struct.field(UInt64)
1047
+ declare entity_id: UInt64
1048
+ @Struct.field(UInt64)
1049
+ declare item_id: UInt64
1050
+ @Struct.field(UInt64)
1051
+ declare quantity: UInt64
1052
+ }
1053
+ @Struct.type('spawnpacked')
1054
+ export class spawnpacked extends Struct {
1055
+ @Struct.field(UInt64)
1056
+ declare entity_id: UInt64
1057
+ @Struct.field(UInt16)
1058
+ declare item_id: UInt16
1059
+ @Struct.field(UInt64)
1060
+ declare hull_stats: UInt64
1061
+ @Struct.field(packed_module, {array: true})
1062
+ declare installed: packed_module[]
1063
+ }
1064
+ @Struct.type('spawnseeded')
1065
+ export class spawnseeded extends Struct {
1066
+ @Struct.field(UInt64)
1067
+ declare entity_id: UInt64
1068
+ @Struct.field(UInt64)
1069
+ declare item_id: UInt64
1070
+ @Struct.field(UInt64)
1071
+ declare quantity: UInt64
1072
+ @Struct.field(UInt64)
1073
+ declare stats: UInt64
276
1074
  }
277
1075
  @Struct.type('state_row')
278
1076
  export class state_row extends Struct {
279
1077
  @Struct.field('bool')
280
1078
  declare enabled: boolean
281
- @Struct.field(UInt64)
282
- declare epoch: UInt64
1079
+ @Struct.field(UInt32)
1080
+ declare epoch: UInt32
283
1081
  @Struct.field(UInt64)
284
1082
  declare salt: UInt64
285
1083
  @Struct.field(UInt32)
@@ -289,135 +1087,262 @@ export namespace Types {
289
1087
  @Struct.field(Checksum256)
290
1088
  declare commit: Checksum256
291
1089
  }
292
- @Struct.type('takeloan')
293
- export class takeloan extends Struct {
294
- @Struct.field(Name)
295
- declare account: Name
296
- @Struct.field(UInt64)
297
- declare amount: UInt64
298
- }
299
- @Struct.type('travel')
300
- export class travel extends Struct {
301
- @Struct.field(UInt64)
302
- declare id: UInt64
303
- @Struct.field(coordinates)
304
- declare destination: coordinates
305
- @Struct.field('bool')
306
- declare recharge: boolean
307
- }
308
- @Struct.type('travel_summary')
309
- export class travel_summary extends Struct {
310
- @Struct.field(ship_stats)
311
- declare stats: ship_stats
312
- @Struct.field(loader_stats)
313
- declare loaders: loader_stats
314
- @Struct.field(coordinates)
315
- declare origin: coordinates
316
- @Struct.field(coordinates)
317
- declare destination: coordinates
318
- @Struct.field(UInt64)
319
- declare distance: UInt64
1090
+ @Struct.type('stratum_info')
1091
+ export class stratum_info extends Struct {
1092
+ @Struct.field(UInt16)
1093
+ declare item_id: UInt16
320
1094
  @Struct.field(UInt64)
321
- declare totalmass: UInt64
322
- @Struct.field(Float64)
323
- declare acceleration: Float64
324
- @Struct.field(UInt32)
325
- declare flighttime: UInt32
1095
+ declare seed: UInt64
1096
+ @Struct.field(UInt16)
1097
+ declare richness: UInt16
326
1098
  @Struct.field(UInt32)
327
- declare energyusage: UInt32
1099
+ declare reserve: UInt32
328
1100
  @Struct.field(UInt32)
329
- declare rechargetime: UInt32
1101
+ declare reserve_max: UInt32
1102
+ }
1103
+ @Struct.type('stratum_data')
1104
+ export class stratum_data extends Struct {
1105
+ @Struct.field(stratum_info)
1106
+ declare stratum: stratum_info
1107
+ @Struct.field(resource_stats)
1108
+ declare stats: resource_stats
1109
+ }
1110
+ @Struct.type('stratum_remaining')
1111
+ export class stratum_remaining extends Struct {
1112
+ @Struct.field(UInt16)
1113
+ declare stratum: UInt16
330
1114
  @Struct.field(UInt32)
331
- declare masspenalty: UInt32
1115
+ declare remaining: UInt32
1116
+ }
1117
+ @Struct.type('task_results')
1118
+ export class task_results extends Struct {
1119
+ @Struct.field(entity_task_info, {array: true})
1120
+ declare entities: entity_task_info[]
1121
+ }
1122
+ @Struct.type('transfer')
1123
+ export class transfer extends Struct {
1124
+ @Struct.field(Name)
1125
+ declare source_type: Name
1126
+ @Struct.field(UInt64)
1127
+ declare source_id: UInt64
1128
+ @Struct.field(Name)
1129
+ declare dest_type: Name
332
1130
  @Struct.field(UInt64)
333
- declare loadtime: UInt64
1131
+ declare dest_id: UInt64
1132
+ @Struct.field(UInt16)
1133
+ declare item_id: UInt16
334
1134
  @Struct.field(UInt64)
335
- declare time: UInt64
1135
+ declare stats: UInt64
1136
+ @Struct.field(UInt32)
1137
+ declare quantity: UInt32
336
1138
  }
337
- @Struct.type('travelplan')
338
- export class travelplan extends Struct {
1139
+ @Struct.type('travel')
1140
+ export class travel extends Struct {
1141
+ @Struct.field(Name)
1142
+ declare entity_type: Name
339
1143
  @Struct.field(UInt64)
340
1144
  declare id: UInt64
341
- @Struct.field(coordinates)
342
- declare origin: coordinates
343
- @Struct.field(coordinates)
344
- declare destination: coordinates
1145
+ @Struct.field(Int64)
1146
+ declare x: Int64
1147
+ @Struct.field(Int64)
1148
+ declare y: Int64
345
1149
  @Struct.field('bool')
346
1150
  declare recharge: boolean
347
1151
  }
348
- @Struct.type('traveltime')
349
- export class traveltime extends Struct {
1152
+ @Struct.type('types_row')
1153
+ export class types_row extends Struct {
1154
+ @Struct.field(UInt64)
1155
+ declare id: UInt64
1156
+ @Struct.field(entity_summary)
1157
+ declare entity_summary_type: entity_summary
1158
+ @Struct.field(game_config)
1159
+ declare game_config_type: game_config
1160
+ @Struct.field(stratum_remaining)
1161
+ declare stratum_remaining_type: stratum_remaining
1162
+ }
1163
+ @Struct.type('warehouse_row')
1164
+ export class warehouse_row extends Struct {
350
1165
  @Struct.field(UInt64)
351
1166
  declare id: UInt64
352
- @Struct.field(coordinates)
353
- declare destination: coordinates
354
- }
355
- @Struct.type('updatecredit')
356
- export class updatecredit extends Struct {
357
- @Struct.field(Name)
358
- declare account: Name
359
- @Struct.field(Int64)
360
- declare amount: Int64
361
- }
362
- @Struct.type('updatedebt')
363
- export class updatedebt extends Struct {
364
1167
  @Struct.field(Name)
365
- declare account: Name
366
- @Struct.field(Int64)
367
- declare amount: Int64
368
- }
369
- @Struct.type('upgradeship')
370
- export class upgradeship extends Struct {
1168
+ declare owner: Name
1169
+ @Struct.field('string')
1170
+ declare name: string
1171
+ @Struct.field(UInt64)
1172
+ declare stats: UInt64
1173
+ @Struct.field(coordinates)
1174
+ declare coordinates: coordinates
1175
+ @Struct.field(UInt32, {optional: true})
1176
+ declare hullmass?: UInt32
1177
+ @Struct.field(UInt32, {optional: true})
1178
+ declare capacity?: UInt32
1179
+ @Struct.field(UInt32)
1180
+ declare cargomass: UInt32
1181
+ @Struct.field(loader_stats, {optional: true})
1182
+ declare loaders?: loader_stats
1183
+ @Struct.field(module_entry, {array: true})
1184
+ declare modules: module_entry[]
1185
+ @Struct.field(schedule, {optional: true})
1186
+ declare schedule?: schedule
1187
+ }
1188
+ @Struct.type('warp')
1189
+ export class warp extends Struct {
371
1190
  @Struct.field(Name)
372
- declare account: Name
1191
+ declare entity_type: Name
373
1192
  @Struct.field(UInt64)
374
1193
  declare id: UInt64
1194
+ @Struct.field(Int64)
1195
+ declare x: Int64
1196
+ @Struct.field(Int64)
1197
+ declare y: Int64
375
1198
  }
376
1199
  @Struct.type('wipe')
377
1200
  export class wipe extends Struct {}
378
1201
  @Struct.type('wipesequence')
379
1202
  export class wipesequence extends Struct {}
1203
+ @Struct.type('wrap')
1204
+ export class wrap extends Struct {
1205
+ @Struct.field(Name)
1206
+ declare owner: Name
1207
+ @Struct.field(Name)
1208
+ declare entity_type: Name
1209
+ @Struct.field(UInt64)
1210
+ declare entity_id: UInt64
1211
+ @Struct.field(UInt64)
1212
+ declare cargo_id: UInt64
1213
+ @Struct.field(UInt64)
1214
+ declare quantity: UInt64
1215
+ }
380
1216
  }
381
1217
  export const TableMap = {
382
1218
  cargo: Types.cargo_row,
1219
+ container: Types.container_row,
1220
+ entitygroup: Types.entitygroup_row,
383
1221
  location: Types.location_row,
1222
+ nexus: Types.nexus_row,
1223
+ nftconfig: Types.nftconfig_row,
384
1224
  player: Types.player_row,
1225
+ reserve: Types.reserve_row,
385
1226
  sequence: Types.sequence_row,
386
1227
  ship: Types.ship_row,
387
1228
  state: Types.state_row,
1229
+ types: Types.types_row,
1230
+ warehouse: Types.warehouse_row,
388
1231
  }
389
1232
  export interface TableTypes {
390
1233
  cargo: Types.cargo_row
1234
+ container: Types.container_row
1235
+ entitygroup: Types.entitygroup_row
391
1236
  location: Types.location_row
1237
+ nexus: Types.nexus_row
1238
+ nftconfig: Types.nftconfig_row
392
1239
  player: Types.player_row
1240
+ reserve: Types.reserve_row
393
1241
  sequence: Types.sequence_row
394
1242
  ship: Types.ship_row
395
1243
  state: Types.state_row
1244
+ types: Types.types_row
1245
+ warehouse: Types.warehouse_row
396
1246
  }
397
1247
  export type RowType<T> = T extends keyof TableTypes ? TableTypes[T] : any
398
1248
  export type TableNames = keyof TableTypes
399
1249
  export namespace ActionParams {
400
1250
  export namespace Type {
1251
+ export interface cargo_item {
1252
+ item_id: UInt16Type
1253
+ quantity: UInt32Type
1254
+ stats: UInt64Type
1255
+ modules: Type.module_entry[]
1256
+ }
1257
+ export interface module_entry {
1258
+ type: UInt8Type
1259
+ installed?: Type.packed_module
1260
+ }
1261
+ export interface packed_module {
1262
+ item_id: UInt16Type
1263
+ stats: UInt64Type
1264
+ }
1265
+ export interface game_config {
1266
+ version: UInt32Type
1267
+ defaults: Type.entity_defaults
1268
+ items: Type.item_def[]
1269
+ }
1270
+ export interface entity_defaults {
1271
+ warehouse_z: UInt16Type
1272
+ container_z: UInt16Type
1273
+ }
1274
+ export interface item_def {
1275
+ id: UInt16Type
1276
+ mass: UInt32Type
1277
+ type: UInt8Type
1278
+ subtype: UInt8Type
1279
+ tier: UInt8Type
1280
+ }
1281
+ export interface entity_ref {
1282
+ entity_type: NameType
1283
+ entity_id: UInt64Type
1284
+ }
1285
+ export interface task_event {
1286
+ event_type: UInt8Type
1287
+ owner: NameType
1288
+ entity_type: NameType
1289
+ entity_id: UInt64Type
1290
+ task_index: UInt8Type
1291
+ task: Type.task
1292
+ starts_at: TimePointType
1293
+ completes_at: TimePointType
1294
+ new_energy?: UInt16Type
1295
+ }
1296
+ export interface task {
1297
+ type: UInt8Type
1298
+ duration: UInt32Type
1299
+ cancelable: UInt8Type
1300
+ coordinates?: Type.coordinates
1301
+ cargo: Type.cargo_item[]
1302
+ entitytarget?: Type.entity_ref
1303
+ entitygroup?: UInt64Type
1304
+ energy_cost?: UInt16Type
1305
+ }
401
1306
  export interface coordinates {
402
1307
  x: Int64Type
403
1308
  y: Int64Type
1309
+ z?: UInt16Type
404
1310
  }
405
1311
  }
1312
+ export interface addmodule {
1313
+ entity_type: NameType
1314
+ entity_id: UInt64Type
1315
+ module_index: UInt8Type
1316
+ module_cargo_id: UInt64Type
1317
+ target_cargo_id: UInt64Type
1318
+ }
1319
+ export interface addnexus {
1320
+ nexus_name: string
1321
+ x: Int64Type
1322
+ y: Int64Type
1323
+ }
406
1324
  export interface advance {
407
1325
  reveal: string
408
1326
  commit: Checksum256Type
409
1327
  }
410
- export interface arrive {
1328
+ export interface blend {
1329
+ entity_type: NameType
411
1330
  id: UInt64Type
1331
+ inputs: Type.cargo_item[]
412
1332
  }
413
- export interface buygoods {
414
- ship_id: UInt64Type
415
- good_id: UInt64Type
416
- quantity: UInt64Type
1333
+ export interface cancel {
1334
+ entity_type: NameType
1335
+ id: UInt64Type
1336
+ count: UInt64Type
417
1337
  }
418
- export interface buyship {
1338
+ export interface claimstarter {
419
1339
  account: NameType
420
- name: string
1340
+ x: Int64Type
1341
+ y: Int64Type
1342
+ }
1343
+ export interface cleanrsvp {
1344
+ epoch: UInt64Type
1345
+ max_rows: UInt64Type
421
1346
  }
422
1347
  export interface cleartable {
423
1348
  table_name: NameType
@@ -427,9 +1352,105 @@ export namespace ActionParams {
427
1352
  export interface commit {
428
1353
  commit: Checksum256Type
429
1354
  }
1355
+ export interface configlog {
1356
+ config: Type.game_config
1357
+ }
1358
+ export interface craft {
1359
+ entity_type: NameType
1360
+ id: UInt64Type
1361
+ recipe_id: UInt16Type
1362
+ quantity: UInt32Type
1363
+ inputs: Type.cargo_item[]
1364
+ }
1365
+ export interface createentity {
1366
+ owner: NameType
1367
+ entity_type: NameType
1368
+ entity_name: string
1369
+ x: Int64Type
1370
+ y: Int64Type
1371
+ }
1372
+ export interface deploy {
1373
+ entity_type: NameType
1374
+ id: UInt64Type
1375
+ packed_item_id: UInt16Type
1376
+ stats: UInt64Type
1377
+ }
1378
+ export interface descentity {
1379
+ item_id: UInt16Type
1380
+ hull_stats: UInt64Type
1381
+ module_items: UInt16Type[]
1382
+ module_stats: UInt64Type[]
1383
+ }
430
1384
  export interface enable {
431
1385
  enabled: boolean
432
1386
  }
1387
+ export interface gather {
1388
+ source: Type.entity_ref
1389
+ destination: Type.entity_ref
1390
+ stratum: UInt16Type
1391
+ quantity: UInt32Type
1392
+ }
1393
+ export interface getconfig {}
1394
+ export interface getentities {
1395
+ owner: NameType
1396
+ entity_type?: NameType
1397
+ }
1398
+ export interface getentity {
1399
+ entity_type: NameType
1400
+ entity_id: UInt64Type
1401
+ }
1402
+ export interface getitemdata {}
1403
+ export interface getitemids {}
1404
+ export interface getitems {}
1405
+ export interface getitemtypes {}
1406
+ export interface getlocation {
1407
+ x: Int64Type
1408
+ y: Int64Type
1409
+ }
1410
+ export interface getlocdata {
1411
+ x: Int64Type
1412
+ y: Int64Type
1413
+ }
1414
+ export interface getmodtypes {}
1415
+ export interface getmodules {}
1416
+ export interface getnearby {
1417
+ entity_type: NameType
1418
+ entity_id: UInt64Type
1419
+ recharge: boolean
1420
+ }
1421
+ export interface getnftinfo {}
1422
+ export interface getplayer {
1423
+ account: NameType
1424
+ }
1425
+ export interface getrecipe {
1426
+ output_item_id: UInt16Type
1427
+ }
1428
+ export interface getrecipes {
1429
+ lower_bound: UInt16Type
1430
+ limit: UInt8Type
1431
+ }
1432
+ export interface getrescats {}
1433
+ export interface getreserves {
1434
+ x: Int64Type
1435
+ y: Int64Type
1436
+ }
1437
+ export interface getresources {}
1438
+ export interface getslots {}
1439
+ export interface getstratum {
1440
+ x: Int64Type
1441
+ y: Int64Type
1442
+ stratum: UInt16Type
1443
+ }
1444
+ export interface getsummaries {
1445
+ owner: NameType
1446
+ entity_type?: NameType
1447
+ }
1448
+ export interface grouptravel {
1449
+ entities: Type.entity_ref[]
1450
+ x: Int64Type
1451
+ y: Int64Type
1452
+ recharge: boolean
1453
+ }
433
1454
  export interface hash {
434
1455
  value: string
435
1456
  }
@@ -439,103 +1460,186 @@ export namespace ActionParams {
439
1460
  export interface init {
440
1461
  seed: Checksum256Type
441
1462
  }
442
- export interface jettison {
443
- ship_id: UInt64Type
444
- good_id: UInt16Type
445
- quantity: UInt64Type
446
- }
447
1463
  export interface join {
448
1464
  account: NameType
449
1465
  }
450
- export interface marketprice {
451
- location: Type.coordinates
452
- good_id: UInt16Type
1466
+ export interface notify {
1467
+ event: Type.task_event
453
1468
  }
454
- export interface marketprices {
455
- location: Type.coordinates
1469
+ export interface recharge {
1470
+ entity_type: NameType
1471
+ id: UInt64Type
456
1472
  }
457
- export interface payloan {
458
- account: NameType
459
- amount: UInt64Type
1473
+ export interface resolve {
1474
+ entity_type: NameType
1475
+ id: UInt64Type
1476
+ count?: UInt64Type
1477
+ }
1478
+ export interface rmmodule {
1479
+ entity_type: NameType
1480
+ entity_id: UInt64Type
1481
+ module_index: UInt8Type
1482
+ target_cargo_id: UInt64Type
1483
+ }
1484
+ export interface rmnftcfg {
1485
+ item_id: UInt16Type
460
1486
  }
461
1487
  export interface salt {
462
1488
  salt: UInt64Type
463
1489
  }
464
- export interface sellgoods {
465
- ship_id: UInt64Type
466
- good_id: UInt64Type
1490
+ export interface setnftcfg {
1491
+ item_id: UInt16Type
1492
+ template_id: Int32Type
1493
+ schema_name: NameType
1494
+ }
1495
+ export interface spawncargo {
1496
+ entity_id: UInt64Type
1497
+ item_id: UInt64Type
467
1498
  quantity: UInt64Type
468
1499
  }
469
- export interface takeloan {
470
- account: NameType
471
- amount: UInt64Type
1500
+ export interface spawnpacked {
1501
+ entity_id: UInt64Type
1502
+ item_id: UInt16Type
1503
+ hull_stats: UInt64Type
1504
+ installed: Type.packed_module[]
472
1505
  }
473
- export interface travel {
474
- id: UInt64Type
475
- destination: Type.coordinates
476
- recharge: boolean
1506
+ export interface spawnseeded {
1507
+ entity_id: UInt64Type
1508
+ item_id: UInt64Type
1509
+ quantity: UInt64Type
1510
+ stats: UInt64Type
477
1511
  }
478
- export interface travelplan {
479
- id: UInt64Type
480
- origin: Type.coordinates
481
- destination: Type.coordinates
482
- recharge: boolean
1512
+ export interface transfer {
1513
+ source_type: NameType
1514
+ source_id: UInt64Type
1515
+ dest_type: NameType
1516
+ dest_id: UInt64Type
1517
+ item_id: UInt16Type
1518
+ stats: UInt64Type
1519
+ quantity: UInt32Type
483
1520
  }
484
- export interface traveltime {
1521
+ export interface travel {
1522
+ entity_type: NameType
485
1523
  id: UInt64Type
486
- destination: Type.coordinates
487
- }
488
- export interface updatecredit {
489
- account: NameType
490
- amount: Int64Type
491
- }
492
- export interface updatedebt {
493
- account: NameType
494
- amount: Int64Type
1524
+ x: Int64Type
1525
+ y: Int64Type
1526
+ recharge: boolean
495
1527
  }
496
- export interface upgradeship {
497
- account: NameType
1528
+ export interface warp {
1529
+ entity_type: NameType
498
1530
  id: UInt64Type
1531
+ x: Int64Type
1532
+ y: Int64Type
499
1533
  }
500
1534
  export interface wipe {}
501
1535
  export interface wipesequence {}
1536
+ export interface wrap {
1537
+ owner: NameType
1538
+ entity_type: NameType
1539
+ entity_id: UInt64Type
1540
+ cargo_id: UInt64Type
1541
+ quantity: UInt64Type
1542
+ }
502
1543
  }
503
1544
  export interface ActionNameParams {
1545
+ addmodule: ActionParams.addmodule
1546
+ addnexus: ActionParams.addnexus
504
1547
  advance: ActionParams.advance
505
- arrive: ActionParams.arrive
506
- buygoods: ActionParams.buygoods
507
- buyship: ActionParams.buyship
1548
+ blend: ActionParams.blend
1549
+ cancel: ActionParams.cancel
1550
+ claimstarter: ActionParams.claimstarter
1551
+ cleanrsvp: ActionParams.cleanrsvp
508
1552
  cleartable: ActionParams.cleartable
509
1553
  commit: ActionParams.commit
1554
+ configlog: ActionParams.configlog
1555
+ craft: ActionParams.craft
1556
+ createentity: ActionParams.createentity
1557
+ deploy: ActionParams.deploy
1558
+ descentity: ActionParams.descentity
510
1559
  enable: ActionParams.enable
1560
+ gather: ActionParams.gather
1561
+ getconfig: ActionParams.getconfig
1562
+ getentities: ActionParams.getentities
1563
+ getentity: ActionParams.getentity
1564
+ getitemdata: ActionParams.getitemdata
1565
+ getitemids: ActionParams.getitemids
1566
+ getitems: ActionParams.getitems
1567
+ getitemtypes: ActionParams.getitemtypes
1568
+ getlocation: ActionParams.getlocation
1569
+ getlocdata: ActionParams.getlocdata
1570
+ getmodtypes: ActionParams.getmodtypes
1571
+ getmodules: ActionParams.getmodules
1572
+ getnearby: ActionParams.getnearby
1573
+ getnftinfo: ActionParams.getnftinfo
1574
+ getplayer: ActionParams.getplayer
1575
+ getrecipe: ActionParams.getrecipe
1576
+ getrecipes: ActionParams.getrecipes
1577
+ getrescats: ActionParams.getrescats
1578
+ getreserves: ActionParams.getreserves
1579
+ getresources: ActionParams.getresources
1580
+ getslots: ActionParams.getslots
1581
+ getstratum: ActionParams.getstratum
1582
+ getsummaries: ActionParams.getsummaries
1583
+ grouptravel: ActionParams.grouptravel
511
1584
  hash: ActionParams.hash
512
1585
  hash512: ActionParams.hash512
513
1586
  init: ActionParams.init
514
- jettison: ActionParams.jettison
515
1587
  join: ActionParams.join
516
- marketprice: ActionParams.marketprice
517
- marketprices: ActionParams.marketprices
518
- payloan: ActionParams.payloan
1588
+ notify: ActionParams.notify
1589
+ recharge: ActionParams.recharge
1590
+ resolve: ActionParams.resolve
1591
+ rmmodule: ActionParams.rmmodule
1592
+ rmnftcfg: ActionParams.rmnftcfg
519
1593
  salt: ActionParams.salt
520
- sellgoods: ActionParams.sellgoods
521
- takeloan: ActionParams.takeloan
1594
+ setnftcfg: ActionParams.setnftcfg
1595
+ spawncargo: ActionParams.spawncargo
1596
+ spawnpacked: ActionParams.spawnpacked
1597
+ spawnseeded: ActionParams.spawnseeded
1598
+ transfer: ActionParams.transfer
522
1599
  travel: ActionParams.travel
523
- travelplan: ActionParams.travelplan
524
- traveltime: ActionParams.traveltime
525
- updatecredit: ActionParams.updatecredit
526
- updatedebt: ActionParams.updatedebt
527
- upgradeship: ActionParams.upgradeship
1600
+ warp: ActionParams.warp
528
1601
  wipe: ActionParams.wipe
529
1602
  wipesequence: ActionParams.wipesequence
1603
+ wrap: ActionParams.wrap
530
1604
  }
531
1605
  export type ActionNames = keyof ActionNameParams
532
1606
  export interface ActionReturnValues {
1607
+ cancel: Types.cancel_results
1608
+ craft: Types.task_results
1609
+ deploy: Types.task_results
1610
+ descentity: string
1611
+ gather: Types.task_results
1612
+ getconfig: Types.game_config
1613
+ getentities: Types.entity_info[]
1614
+ getentity: Types.entity_info
1615
+ getitemdata: Types.itemdata_result
1616
+ getitemids: Types.item_ids_result
1617
+ getitems: Types.items_info
1618
+ getitemtypes: Types.enum_result
1619
+ getlocation: Types.location_info
1620
+ getlocdata: Types.location_derived
1621
+ getmodtypes: Types.enum_result
1622
+ getmodules: Types.modules_result
1623
+ getnearby: Types.nearby_info
1624
+ getnftinfo: Types.nftinfo_result
1625
+ getplayer: Types.player_info
1626
+ getrecipe: Types.recipes_result
1627
+ getrecipes: Types.recipes_result
1628
+ getrescats: Types.enum_result
1629
+ getreserves: Types.stratum_remaining[]
1630
+ getresources: Types.resources_result
1631
+ getslots: Types.entity_layouts_result
1632
+ getstratum: Types.stratum_data
1633
+ getsummaries: Types.entity_summary[]
1634
+ grouptravel: Types.task_results
533
1635
  hash: Checksum256
534
1636
  hash512: Checksum512
535
- marketprice: Types.good_price
536
- marketprices: Types.good_price[]
537
- travelplan: Types.travel_plan
538
- traveltime: Types.travel_summary
1637
+ recharge: Types.task_results
1638
+ resolve: Types.resolve_results
1639
+ transfer: Types.task_results
1640
+ travel: Types.task_results
1641
+ warp: Types.task_results
1642
+ wrap: Types.task_results
539
1643
  }
540
1644
  export type ActionReturnNames = keyof ActionReturnValues
541
1645
  export class Contract extends BaseContract {