@shipload/sdk 2.0.0-rc6 → 2.0.0-rc8
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.
- package/README.md +1 -349
- package/lib/shipload.d.ts +261 -121
- package/lib/shipload.js +889 -214
- package/lib/shipload.js.map +1 -1
- package/lib/shipload.m.js +847 -201
- package/lib/shipload.m.js.map +1 -1
- package/package.json +1 -1
- package/src/capabilities/crafting.ts +18 -0
- package/src/capabilities/extraction.ts +14 -8
- package/src/capabilities/index.ts +1 -0
- package/src/capabilities/modules.ts +49 -0
- package/src/contracts/server.ts +164 -129
- package/src/data/colors.ts +47 -0
- package/src/data/items.json +4 -4
- package/src/data/recipes.ts +241 -7
- package/src/derivation/crafting.ts +41 -19
- package/src/entities/makers.ts +10 -9
- package/src/entities/ship-deploy.ts +89 -0
- package/src/entities/ship.ts +14 -6
- package/src/index-module.ts +33 -0
- package/src/managers/actions.ts +47 -6
- package/src/resolution/resolve-item.ts +261 -0
- package/src/travel/travel.ts +3 -3
- package/src/types/entity.ts +3 -3
- package/src/types.ts +1 -18
package/lib/shipload.m.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __decorate } from 'tslib';
|
|
2
|
-
import { Blob, ABI, Struct, Name, UInt64, Checksum256, UInt32, TimePointSec, UInt8,
|
|
2
|
+
import { Blob, ABI, Struct, Name, UInt64, Checksum256, UInt32, TimePointSec, UInt8, UInt16, TimePoint, Int64, Bytes, Checksum512, APIClient } from '@wharfkit/antelope';
|
|
3
3
|
import ContractKit, { Contract as Contract$2 } from '@wharfkit/contract';
|
|
4
4
|
|
|
5
5
|
const abiBlob$1 = Blob.from('DmVvc2lvOjphYmkvMS4yAA0KY2xlYXJ0YWJsZQADCnRhYmxlX25hbWUEbmFtZQVzY29wZQVuYW1lPwhtYXhfcm93cwd1aW50NjQ/C2NvbXBhbnlfcm93AAIHYWNjb3VudARuYW1lBG5hbWUGc3RyaW5nBmVuYWJsZQABB2VuYWJsZWQEYm9vbAplbmFibGVnYW1lAAIIY29udHJhY3QEbmFtZQdlbmFibGVkBGJvb2wMZm91bmRjb21wYW55AAIHYWNjb3VudARuYW1lBG5hbWUGc3RyaW5nC2dhbWVfY29uZmlnAAQEc2VlZAtjaGVja3N1bTI1NgllcG9jaHRpbWUGdWludDMyBXN0YXJ0DnRpbWVfcG9pbnRfc2VjA2VuZA50aW1lX3BvaW50X3NlYwlnYW1lX21ldGEABARuYW1lBnN0cmluZwtkZXNjcmlwdGlvbgZzdHJpbmcDdXJsBnN0cmluZwd2ZXJzaW9uBnN0cmluZwhnYW1lX3JvdwAECGNvbnRyYWN0BG5hbWUGY29uZmlnC2dhbWVfY29uZmlnBG1ldGEJZ2FtZV9tZXRhBXN0YXRlCmdhbWVfc3RhdGUKZ2FtZV9zdGF0ZQABB2VuYWJsZWQEYm9vbAlzdGFydGdhbWUABAhjb250cmFjdARuYW1lBmNvbmZpZwtnYW1lX2NvbmZpZwRtZXRhCWdhbWVfbWV0YQVzdGF0ZQpnYW1lX3N0YXRlCXN0YXRlX3JvdwABB2VuYWJsZWQEYm9vbAp1cGRhdGVnYW1lAAIIY29udHJhY3QEbmFtZQRtZXRhCWdhbWVfbWV0YQR3aXBlAAAHAICKx+RrVEQKY2xlYXJ0YWJsZb4BLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNsZWFydGFibGUKc3VtbWFyeTogJ0RFQlVHOiBjbGVhcnRhYmxlIGFjdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQAAAACoeMxUBmVuYWJsZfMBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGVuYWJsZQpzdW1tYXJ5OiAnRW5hYmxlL2Rpc2FibGUgcGxhdGZvcm0nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNTgxMTM3ODIjZDNiZjI5MGZkZGVkZGJiN2QzMmFhODk3ZTlmN2U5ZTEzYTJhZTQ0OTU2MTQyZTIzZWI0N2I3NzA5NmEyZWE4ZAoKLS0tCgpFbmFibGUgb3IgZGlzYWJsZSB0aGUgcGxhdGZvcm0gY29udHJhY3QuAICShql4zFQKZW5hYmxlZ2FtZfwBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGVuYWJsZWdhbWUKc3VtbWFyeTogJ0VuYWJsZS9kaXNiYWJsZSBhIGdhbWUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNTgxMTM3ODIjZDNiZjI5MGZkZGVkZGJiN2QzMmFhODk3ZTlmN2U5ZTEzYTJhZTQ0OTU2MTQyZTIzZWI0N2I3NzA5NmEyZWE4ZAoKLS0tCgpFbmFibGUgb3IgZGlzYWJsZSB0aGUgc3BlY2lmaWVkIGdhbWUgY29udHJhY3Qu4KepkqI0NV0MZm91bmRjb21wYW55gwItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZm91bmRjb21wYW55CnN1bW1hcnk6ICdGb3VuZCBhIG5ldyBjb21wYW55JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTU4MTEzNzgyI2QzYmYyOTBmZGRlZGRiYjdkMzJhYTg5N2U5ZjdlOWUxM2EyYWU0NDk1NjE0MmUyM2ViNDdiNzcwOTZhMmVhOGQKCi0tLQoKRm91bmQgYSBuZXcgY29tcGFueSBpbiB0aGUgU2hpcGxvYWQgcGxhdGZvcm0gY29udHJhY3QuAABQ0rB8TcYJc3RhcnRnYW1l/wEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogc3RhcnRnYW1lCnN1bW1hcnk6ICdTdGFydCBhIG5ldyBnYW1lJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTU4MTEzNzgyI2QzYmYyOTBmZGRlZGRiYjdkMzJhYTg5N2U5ZjdlOWUxM2EyYWU0NDk1NjE0MmUyM2ViNDdiNzcwOTZhMmVhOGQKCi0tLQoKU3RhcnQgYSBuZXcgZ2FtZSBvZiBTaGlwbG9hZCBkZXBsb3llZCB0byBhIG5ldyBjb250cmFjdC4AgJKGqWxS1Qp1cGRhdGVnYW1ljQItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogdXBkYXRlZ2FtZQpzdW1tYXJ5OiAnVXBkYXRlIGdhbWUgaW5mb3JtYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNTgxMTM3ODIjZDNiZjI5MGZkZGVkZGJiN2QzMmFhODk3ZTlmN2U5ZTEzYTJhZTQ0OTU2MTQyZTIzZWI0N2I3NzA5NmEyZWE4ZAoKLS0tCgpVcGRhdGUgdGhlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzcGVjaWZpZWQgZ2FtZSBjb250cmFjdC4KCi0tLQAAAAAAoKrjBHdpcGWyAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB3aXBlCnN1bW1hcnk6ICdERUJVRzogd2lwZSBhY3Rpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0DAAAAwE9TJUUDaTY0AAALY29tcGFueV9yb3cAAAAAAKykYQNpNjQAAAhnYW1lX3JvdwAAAAAAlU3GA2k2NAAACXN0YXRlX3JvdwETU2hpcGxvYWQgKFBsYXRmb3JtKRNTaGlwbG9hZCAoUGxhdGZvcm0pAAAAAA==');
|
|
@@ -205,10 +205,31 @@ var platform = /*#__PURE__*/Object.freeze({
|
|
|
205
205
|
Contract: Contract$1
|
|
206
206
|
});
|
|
207
207
|
|
|
208
|
-
const abiBlob = Blob.from('DmVvc2lvOjphYmkvMS4yAhVCX3ZlY3Rvcl9lbnRpdHlfcmVmX0UMZW50aXR5X3JlZltdDWxvY2F0aW9uX3R5cGUFdWludDhSB2FkdmFuY2UAAgZyZXZlYWwGc3RyaW5nBmNvbW1pdAtjaGVja3N1bTI1NgZjYW5jZWwAAwtlbnRpdHlfdHlwZQRuYW1lAmlkBnVpbnQ2NAVjb3VudAZ1aW50NjQOY2FuY2VsX3Jlc3VsdHMABgllbnRpdHlfaWQGdWludDY0C2VudGl0eV90eXBlBG5hbWUPY2FuY2VsbGVkX2NvdW50BXVpbnQ4EHNjaGVkdWxlX3N0YXJ0ZWQLdGltZV9wb2ludD8LZW50aXR5Z3JvdXAHdWludDY0Pw1ncm91cF9tZW1iZXJzFkJfdmVjdG9yX2VudGl0eV9yZWZfRT8KY2FyZ29faXRlbQADB2l0ZW1faWQGdWludDE2CHF1YW50aXR5BnVpbnQzMgRzZWVkB3VpbnQ2ND8JY2FyZ29fcm93AAUCaWQGdWludDY0CWVudGl0eV9pZAZ1aW50NjQHaXRlbV9pZAZ1aW50NjQIcXVhbnRpdHkGdWludDY0BHNlZWQGdWludDY0CWNsZWFucnN2cAACBWVwb2NoBnVpbnQ2NAhtYXhfcm93cwZ1aW50NjQKY2xlYXJ0YWJsZQADCnRhYmxlX25hbWUEbmFtZQVzY29wZQVuYW1lPwhtYXhfcm93cwd1aW50NjQ/BmNvbW1pdAABBmNvbW1pdAtjaGVja3N1bTI1Ngljb25maWdsb2cAAQZjb25maWcLZ2FtZV9jb25maWcNY29udGFpbmVyX3JvdwAIAmlkBnVpbnQ2NAVvd25lcgRuYW1lBG5hbWUGc3RyaW5nC2Nvb3JkaW5hdGVzC2Nvb3JkaW5hdGVzCGh1bGxtYXNzBnVpbnQzMghjYXBhY2l0eQZ1aW50MzIJY2FyZ29tYXNzBnVpbnQzMghzY2hlZHVsZQlzY2hlZHVsZT8LY29vcmRpbmF0ZXMAAwF4BWludDY0AXkFaW50NjQBegd1aW50MTY/BWNyYWZ0AAULZW50aXR5X3R5cGUEbmFtZQJpZAZ1aW50NjQJcmVjaXBlX2lkBnVpbnQxNghxdWFudGl0eQZ1aW50MzIGaW5wdXRzDGNhcmdvX2l0ZW1bXQ1jcmFmdGVyX3N0YXRzAAIFc3BlZWQGdWludDE2BWRyYWluBnVpbnQxNgxjcmVhdGVlbnRpdHkABQVvd25lcgRuYW1lC2VudGl0eV90eXBlBG5hbWULZW50aXR5X25hbWUGc3RyaW5nAXgFaW50NjQBeQVpbnQ2NAZkZXBsb3kABQtlbnRpdHlfdHlwZQRuYW1lAmlkBnVpbnQ2NA5wYWNrZWRfaXRlbV9pZAZ1aW50MTYEc2VlZAZ1aW50NjQLZW50aXR5X25hbWUGc3RyaW5nBmVuYWJsZQABB2VuYWJsZWQEYm9vbAxlbmVyZ3lfc3RhdHMAAghjYXBhY2l0eQZ1aW50MTYIcmVjaGFyZ2UGdWludDE2FGVudGl0eV9jdXJyZW50X3N0YXRlAAILY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMGZW5lcmd5BnVpbnQxNg9lbnRpdHlfZGVmYXVsdHMAEA1zaGlwX2h1bGxtYXNzBnVpbnQzMg1zaGlwX2NhcGFjaXR5BnVpbnQzMgtzaGlwX2VuZXJneQZ1aW50MTYGc2hpcF96BnVpbnQxNgxzaGlwX2VuZ2luZXMObW92ZW1lbnRfc3RhdHMOc2hpcF9nZW5lcmF0b3IMZW5lcmd5X3N0YXRzDHNoaXBfbG9hZGVycwxsb2FkZXJfc3RhdHMOc2hpcF9leHRyYWN0b3IPZXh0cmFjdG9yX3N0YXRzCXNoaXBfd2FycAp3YXJwX3N0YXRzDHNoaXBfY3JhZnRlcg1jcmFmdGVyX3N0YXRzEndhcmVob3VzZV9jYXBhY2l0eQZ1aW50MzILd2FyZWhvdXNlX3oGdWludDE2EXdhcmVob3VzZV9sb2FkZXJzDGxvYWRlcl9zdGF0cxJjb250YWluZXJfaHVsbG1hc3MGdWludDMyEmNvbnRhaW5lcl9jYXBhY2l0eQZ1aW50MzILY29udGFpbmVyX3oGdWludDE2C2VudGl0eV9pbmZvABcEdHlwZQRuYW1lAmlkBnVpbnQ2NAVvd25lcgRuYW1lC2VudGl0eV9uYW1lBnN0cmluZwtjb29yZGluYXRlcwtjb29yZGluYXRlcwljYXJnb21hc3MGdWludDMyBWNhcmdvDGNhcmdvX2l0ZW1bXQdsb2FkZXJzDWxvYWRlcl9zdGF0cz8GZW5lcmd5B3VpbnQxNj8IaHVsbG1hc3MHdWludDMyPwdlbmdpbmVzD21vdmVtZW50X3N0YXRzPwlnZW5lcmF0b3INZW5lcmd5X3N0YXRzPwhjYXBhY2l0eQd1aW50MzI/CWV4dHJhY3RvchBleHRyYWN0b3Jfc3RhdHM/BHdhcnALd2FycF9zdGF0cz8HY3JhZnRlcg5jcmFmdGVyX3N0YXRzPwdpc19pZGxlBGJvb2wMY3VycmVudF90YXNrBXRhc2s/FGN1cnJlbnRfdGFza19lbGFwc2VkBnVpbnQzMhZjdXJyZW50X3Rhc2tfcmVtYWluaW5nBnVpbnQzMg1wZW5kaW5nX3Rhc2tzBnRhc2tbXQdpZGxlX2F0C3RpbWVfcG9pbnQ/CHNjaGVkdWxlCXNjaGVkdWxlPwplbnRpdHlfcmVmAAILZW50aXR5X3R5cGUEbmFtZQllbnRpdHlfaWQGdWludDY0DmVudGl0eV9zdW1tYXJ5AAgEdHlwZQRuYW1lAmlkBnVpbnQ2NAVvd25lcgRuYW1lC2VudGl0eV9uYW1lBnN0cmluZwtjb29yZGluYXRlcwtjb29yZGluYXRlcwdpc19pZGxlBGJvb2wOcmVzb2x2ZWRfY291bnQGdWludDMyDXBlbmRpbmdfY291bnQGdWludDMyEGVudGl0eV90YXNrX2luZm8ABAllbnRpdHlfaWQGdWludDY0C2VudGl0eV90eXBlBG5hbWUKdGFza19jb3VudAV1aW50OBBzY2hlZHVsZV9zdGFydGVkCnRpbWVfcG9pbnQPZW50aXR5Z3JvdXBfcm93AAICaWQGdWludDY0DHBhcnRpY2lwYW50cwxlbnRpdHlfcmVmW10HZXh0cmFjdAAEC2VudGl0eV90eXBlBG5hbWUCaWQGdWludDY0B3N0cmF0dW0GdWludDE2CHF1YW50aXR5BnVpbnQzMg9leHRyYWN0b3Jfc3RhdHMABQRyYXRlBnVpbnQxNgVkcmFpbgZ1aW50MTYKZWZmaWNpZW5jeQZ1aW50MTYFZGVwdGgGdWludDE2BWRyaWxsBnVpbnQxNgtnYW1lX2NvbmZpZwADB3ZlcnNpb24GdWludDMyCGRlZmF1bHRzD2VudGl0eV9kZWZhdWx0cwVpdGVtcwppdGVtX2RlZltdCWdldGNvbmZpZwAAC2dldGVudGl0aWVzAAIFb3duZXIEbmFtZQtlbnRpdHlfdHlwZQVuYW1lPwlnZXRlbnRpdHkAAgtlbnRpdHlfdHlwZQRuYW1lCWVudGl0eV9pZAZ1aW50NjQIZ2V0aXRlbXMAAAtnZXRsb2NhdGlvbgACAXgFaW50NjQBeQVpbnQ2NApnZXRsb2NkYXRhAAIBeAVpbnQ2NAF5BWludDY0CWdldG5lYXJieQADC2VudGl0eV90eXBlBG5hbWUJZW50aXR5X2lkBnVpbnQ2NAhyZWNoYXJnZQRib29sCWdldHBsYXllcgABB2FjY291bnQEbmFtZQpnZXRzdGFydGVyAAAKZ2V0c3RyYXR1bQADAXgFaW50NjQBeQVpbnQ2NAdzdHJhdHVtBnVpbnQxNgxnZXRzdW1tYXJpZXMAAgVvd25lcgRuYW1lC2VudGl0eV90eXBlBW5hbWU/C2dyb3VwdHJhdmVsAAQIZW50aXRpZXMMZW50aXR5X3JlZltdAXgFaW50NjQBeQVpbnQ2NAhyZWNoYXJnZQRib29sBGhhc2gAAQV2YWx1ZQZzdHJpbmcHaGFzaDUxMgABBXZhbHVlBnN0cmluZwRpbml0AAEEc2VlZAtjaGVja3N1bTI1NghpdGVtX2RlZgACAmlkBnVpbnQxNgRtYXNzBnVpbnQzMgppdGVtc19pbmZvAAEFaXRlbXMKaXRlbV9kZWZbXQRqb2luAAEHYWNjb3VudARuYW1lDGxvYWRlcl9zdGF0cwADBG1hc3MGdWludDMyBnRocnVzdAZ1aW50MTYIcXVhbnRpdHkFdWludDgQbG9jYXRpb25fZGVyaXZlZAADDHN0YXRpY19wcm9wcw9sb2NhdGlvbl9zdGF0aWMLZXBvY2hfcHJvcHMObG9jYXRpb25fZXBvY2gEc2l6ZQZ1aW50MTYObG9jYXRpb25fZXBvY2gAAwZhY3RpdmUEYm9vbAVzZWVkMAV1aW50OAVzZWVkMQV1aW50OA1sb2NhdGlvbl9pbmZvAAIGY29vcmRzC2Nvb3JkaW5hdGVzCWlzX3N5c3RlbQRib29sDGxvY2F0aW9uX3JvdwAGAmlkBnVpbnQ2NAVvd25lcgRuYW1lC2Nvb3JkaW5hdGVzC2Nvb3JkaW5hdGVzCWNhcmdvbWFzcwZ1aW50MzIFY2FyZ28MY2FyZ29faXRlbVtdCHNjaGVkdWxlCXNjaGVkdWxlPw9sb2NhdGlvbl9zdGF0aWMABQZjb29yZHMLY29vcmRpbmF0ZXMEdHlwZQ1sb2NhdGlvbl90eXBlB3N1YnR5cGUFdWludDgFc2VlZDAFdWludDgFc2VlZDEFdWludDgObW92ZW1lbnRfc3RhdHMAAgZ0aHJ1c3QGdWludDMyBWRyYWluBnVpbnQxNgtuZWFyYnlfaW5mbwAFCmNhbl90cmF2ZWwEYm9vbAdjdXJyZW50FGVudGl0eV9jdXJyZW50X3N0YXRlCXByb2plY3RlZBRlbnRpdHlfY3VycmVudF9zdGF0ZQptYXhfZW5lcmd5BnVpbnQxNgdzeXN0ZW1zD25lYXJieV9zeXN0ZW1bXQ1uZWFyYnlfc3lzdGVtAAQIZGlzdGFuY2UGdWludDY0C2VuZXJneV9jb3N0BnVpbnQ2NAtmbGlnaHRfdGltZQZ1aW50MzIIbG9jYXRpb24NbG9jYXRpb25faW5mbwZub3RpZnkAAQVldmVudAp0YXNrX2V2ZW50C3BsYXllcl9pbmZvAAYFb3duZXIEbmFtZQlpc19wbGF5ZXIEYm9vbAxjb21wYW55X25hbWUGc3RyaW5nCnNoaXBfY291bnQGdWludDY0D3dhcmVob3VzZV9jb3VudAZ1aW50NjQPY29udGFpbmVyX2NvdW50BnVpbnQ2NApwbGF5ZXJfcm93AAEFb3duZXIEbmFtZQhyZWNoYXJnZQACC2VudGl0eV90eXBlBG5hbWUCaWQGdWludDY0C3Jlc2VydmVfcm93AAICaWQGdWludDY0CXJlbWFpbmluZwZ1aW50MzIHcmVzb2x2ZQADC2VudGl0eV90eXBlBG5hbWUCaWQGdWludDY0BWNvdW50B3VpbnQ2ND8PcmVzb2x2ZV9yZXN1bHRzAAYJZW50aXR5X2lkBnVpbnQ2NAtlbnRpdHlfdHlwZQRuYW1lDnJlc29sdmVkX2NvdW50BXVpbnQ4FG5ld19zY2hlZHVsZV9zdGFydGVkC3RpbWVfcG9pbnQ/C2VudGl0eWdyb3VwB3VpbnQ2ND8NZ3JvdXBfbWVtYmVycxZCX3ZlY3Rvcl9lbnRpdHlfcmVmX0U/DnJlc291cmNlX3N0YXRzAAMFc3RhdDEGdWludDE2BXN0YXQyBnVpbnQxNgVzdGF0MwZ1aW50MTYEc2FsdAABBHNhbHQGdWludDY0CHNjaGVkdWxlAAIHc3RhcnRlZAp0aW1lX3BvaW50BXRhc2tzBnRhc2tbXQxzZXF1ZW5jZV9yb3cAAgNrZXkEbmFtZQV2YWx1ZQZ1aW50NjQIc2hpcF9yb3cADwJpZAZ1aW50NjQFb3duZXIEbmFtZQRuYW1lBnN0cmluZwtjb29yZGluYXRlcwtjb29yZGluYXRlcwhodWxsbWFzcwZ1aW50MzIIY2FwYWNpdHkGdWludDMyBmVuZXJneQZ1aW50MTYJY2FyZ29tYXNzBnVpbnQzMgdlbmdpbmVzDm1vdmVtZW50X3N0YXRzCWdlbmVyYXRvcgxlbmVyZ3lfc3RhdHMHbG9hZGVycwxsb2FkZXJfc3RhdHMJZXh0cmFjdG9yEGV4dHJhY3Rvcl9zdGF0cz8Ed2FycAt3YXJwX3N0YXRzPwdjcmFmdGVyDmNyYWZ0ZXJfc3RhdHM/CHNjaGVkdWxlCXNjaGVkdWxlPwpzcGF3bmNhcmdvAAMJZW50aXR5X2lkBnVpbnQ2NAdpdGVtX2lkBnVpbnQ2NAhxdWFudGl0eQZ1aW50NjQMc3RhcnRlcl9pbmZvAAEEc2hpcAtlbnRpdHlfaW5mbwlzdGF0ZV9yb3cABgdlbmFibGVkBGJvb2wFZXBvY2gGdWludDMyBHNhbHQGdWludDY0BXNoaXBzBnVpbnQzMgRzZWVkC2NoZWNrc3VtMjU2BmNvbW1pdAtjaGVja3N1bTI1NgxzdHJhdHVtX2RhdGEAAgdzdHJhdHVtDHN0cmF0dW1faW5mbwVzdGF0cw5yZXNvdXJjZV9zdGF0cwxzdHJhdHVtX2luZm8ABAdpdGVtX2lkBnVpbnQxNgRzZWVkBnVpbnQ2NAhyaWNobmVzcwZ1aW50MTYHcmVzZXJ2ZQZ1aW50MzIEdGFzawAIBHR5cGUFdWludDgIZHVyYXRpb24GdWludDMyCmNhbmNlbGFibGUFdWludDgLY29vcmRpbmF0ZXMMY29vcmRpbmF0ZXM/BWNhcmdvDGNhcmdvX2l0ZW1bXQxlbnRpdHl0YXJnZXQLZW50aXR5X3JlZj8LZW50aXR5Z3JvdXAHdWludDY0PwtlbmVyZ3lfY29zdAd1aW50MTY/CnRhc2tfZXZlbnQACQpldmVudF90eXBlBXVpbnQ4BW93bmVyBG5hbWULZW50aXR5X3R5cGUEbmFtZQllbnRpdHlfaWQGdWludDY0CnRhc2tfaW5kZXgFdWludDgEdGFzawR0YXNrCXN0YXJ0c19hdAp0aW1lX3BvaW50DGNvbXBsZXRlc19hdAp0aW1lX3BvaW50Cm5ld19lbmVyZ3kHdWludDE2Pwx0YXNrX3Jlc3VsdHMAAQhlbnRpdGllcxJlbnRpdHlfdGFza19pbmZvW10IdHJhbnNmZXIABgtzb3VyY2VfdHlwZQRuYW1lCXNvdXJjZV9pZAZ1aW50NjQJZGVzdF90eXBlBG5hbWUHZGVzdF9pZAZ1aW50NjQHaXRlbV9pZAZ1aW50MTYIcXVhbnRpdHkGdWludDMyBnRyYXZlbAAFC2VudGl0eV90eXBlBG5hbWUCaWQGdWludDY0AXgFaW50NjQBeQVpbnQ2NAhyZWNoYXJnZQRib29sCXR5cGVzX3JvdwAEAmlkBnVpbnQ2NBNlbnRpdHlfc3VtbWFyeV90eXBlDmVudGl0eV9zdW1tYXJ5EXN0YXJ0ZXJfaW5mb190eXBlDHN0YXJ0ZXJfaW5mbxBnYW1lX2NvbmZpZ190eXBlC2dhbWVfY29uZmlnDXdhcmVob3VzZV9yb3cACAJpZAZ1aW50NjQFb3duZXIEbmFtZQRuYW1lBnN0cmluZwtjb29yZGluYXRlcwtjb29yZGluYXRlcwhjYXBhY2l0eQZ1aW50MzIJY2FyZ29tYXNzBnVpbnQzMgdsb2FkZXJzDGxvYWRlcl9zdGF0cwhzY2hlZHVsZQlzY2hlZHVsZT8Ed2FycAAEC2VudGl0eV90eXBlBG5hbWUCaWQGdWludDY0AXgFaW50NjQBeQVpbnQ2NAp3YXJwX3N0YXRzAAEFcmFuZ2UGdWludDMyBHdpcGUAAAx3aXBlc2VxdWVuY2UAACUAAABAoWl2MgdhZHZhbmNl0wEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogYWR2YW5jZQpzdW1tYXJ5OiAnQWR2YW5jZSB0dXJuJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpBZHZhbmNlIHRoZSBnYW1lIHRvIHRoZSBuZXh0IHR1cm4uAAAAAESFpkEGY2FuY2VsxwItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY2FuY2VsCnN1bW1hcnk6ICdDYW5jZWwgc2NoZWR1bGVkIHRhc2tzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDYW5jZWwgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgdGFza3MgZnJvbSB0aGUgZW5kIG9mIGFuIGVudGl0eSdzIHNjaGVkdWxlLiBUYXNrcyB0aGF0IGFyZSBpbW11dGFibGUgYW5kIGluIHByb2dyZXNzIGNhbm5vdCBiZSBjYW5jZWxsZWQuCgotLS0AAKgb32lURAljbGVhbnJzdnAAAICKx+RrVEQKY2xlYXJ0YWJsZb4BLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNsZWFydGFibGUKc3VtbWFyeTogJ0RFQlVHOiBjbGVhcnRhYmxlIGFjdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQAAAABkJyVFBmNvbW1pdPEBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNvbW1pdApzdW1tYXJ5OiAnU2V0IGNvbW1pdCB2YWx1ZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKU2V0IHRoZSBpbml0aWFsIGNvbW1pdCB2YWx1ZSBkdXJpbmcgZ2FtZSBpbml0aWFsaXphdGlvbi4KCi0tLQAAYDQytyZFCWNvbmZpZ2xvZwAAAAAAgLzMRQVjcmFmdADgs8tTqWzURQxjcmVhdGVlbnRpdHkAAAAAAHgaq0oGZGVwbG95AAAAAACoeMxUBmVuYWJsZeIBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGVuYWJsZQpzdW1tYXJ5OiAnU2V0IGVuYWJsZWQgc3RhdGUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkVuYWJsZSBvciBkaXNhYmxlIHRoaXMgZ2FtZSBvZiBTaGlwbG9hZC4KCi0tLQAAACAjc3NXB2V4dHJhY3ShAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBleHRyYWN0CnN1bW1hcnk6ICdFeHRyYWN0IHJlc291cmNlcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKRXh0cmFjdCByZXNvdXJjZXMgYXQgdGhlIHNoaXAncyBjdXJyZW50IGxvY2F0aW9uLiBPbmx5IHdvcmtzIGF0IGV4dHJhY3RhYmxlIGxvY2F0aW9uIHR5cGVzLiBTY2hlZHVsZXMgYW4gZXh0cmFjdGlvbiB0YXNrIHRoYXQgY29uc3VtZXMgZW5lcmd5IGFuZCB5aWVsZHMgY2FyZ28gYmFzZWQgb24gdGhlIHNoaXAncyBleHRyYWN0b3Igc3RhdHMgYW5kIHRoZSBsb2NhdGlvbidzIHJlc291cmNlIGNvbXBvc2l0aW9uLgAAYG5NirJiCWdldGNvbmZpZwAAsHLZ5amyYgtnZXRlbnRpdGllc6QCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGVudGl0aWVzCnN1bW1hcnk6ICdHZXQgYWxsIGVudGl0aWVzIGZvciBhIHBsYXllcicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUmV0dXJucyBmdWxsIGVudGl0eSBpbmZvIGZvciBhbGwgZW50aXRpZXMgb3duZWQgYnkgYSBwbGF5ZXIuIE9wdGlvbmFsbHkgZmlsdGVyIGJ5IGVudGl0eSB0eXBlLgAA8NnlqbJiCWdldGVudGl0eaICLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGVudGl0eQpzdW1tYXJ5OiAnR2V0IGVudGl0eSBzdGF0ZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUmV0dXJucyB0aGUgY3VycmVudCBzdGF0ZSBvZiBhbiBlbnRpdHkgaW5jbHVkaW5nIGlkZW50aXR5LCBjYXJnbywgc2NoZWR1bGUgc3RhdGUsIGFuZCB0eXBlLXNwZWNpZmljIGZpZWxkcy4AAABYquyyYghnZXRpdGVtc5oCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGl0ZW1zCnN1bW1hcnk6ICdHZXQgYWxsIGF2YWlsYWJsZSBpdGVtcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gcmV0dXJucyBhIGxpc3Qgb2YgYWxsIGl0ZW1zIGluIHRoZSBnYW1lIGluY2x1ZGluZyB0aGVpciBpZCwgYmFzZSBwcmljZSwgYW5kIG1hc3MuACZ12SAas2ILZ2V0bG9jYXRpb27iAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRsb2NhdGlvbgpzdW1tYXJ5OiAnR2V0IGxvY2F0aW9uIGluZm9ybWF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIGluZm9ybWF0aW9uIGFib3V0IGEgbG9jYXRpb24gaW5jbHVkaW5nIHdoZXRoZXIgYSBzeXN0ZW0gZXhpc3RzLCBhbmQgZm9yIGVhY2ggaXRlbTogcHJpY2UsIHN1cHBseSwgcmFyaXR5IG11bHRpcGxpZXIsIGFuZCBsb2NhdGlvbiBtdWx0aXBsaWVyLgCAySYhGrNiCmdldGxvY2RhdGH+Ai0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRsb2NkYXRhCnN1bW1hcnk6ICdHZXQgZGVyaXZlZCBsb2NhdGlvbiBkYXRhJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIGRlcml2ZWQgbG9jYXRpb24gZGF0YSBpbmNsdWRpbmcgc3RhdGljIHByb3BlcnRpZXMgKHR5cGUsIGRpZmZpY3VsdHksIHNlZWRzKSBmcm9tIHRoZSBnYW1lIHNlZWQgYW5kIGVwb2NoLXNwZWNpZmljIHByb3BlcnRpZXMgKGFjdGl2ZSwgc2VlZHMpIGZyb20gdGhlIGN1cnJlbnQgZXBvY2ggc2VlZC4AAPDnGjWzYglnZXRuZWFyYnneAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRuZWFyYnkKc3VtbWFyeTogJ0dldCBuZWFyYnkgcmVhY2hhYmxlIHN5c3RlbXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIHJldHVybnMgbmVhcmJ5IHN5c3RlbXMgcmVhY2hhYmxlIGJ5IGFuIGVudGl0eSBmcm9tIGl0cyBwcm9qZWN0ZWQgbG9jYXRpb24uIFJldHVybnMgY3VycmVudCBzdGF0ZSAod2l0aCBjb21wbGV0ZWQgdGFza3MgcmVzb2x2ZWQpLCBwcm9qZWN0ZWQgc3RhdGUgKGFmdGVyIGFsbCBzY2hlZHVsZWQgdGFza3MpLCBhbmQgYSBsaXN0IG9mIHJlYWNoYWJsZSBzeXN0ZW1zIHdpdGggZGlzdGFuY2UsIGVuZXJneSBjb3N0LCBmbGlnaHQgdGltZSwgYW5kIG1hcmtldCBpbmZvcm1hdGlvbi4AALjKm1izYglnZXRwbGF5ZXL9Ai0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRwbGF5ZXIKc3VtbWFyeTogJ0dldCBwbGF5ZXIgaW5mb3JtYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIHJldHVybnMgaW5mb3JtYXRpb24gYWJvdXQgYSBwbGF5ZXIgaW5jbHVkaW5nIGJhbGFuY2UsIGRlYnQsIG5ldHdvcnRoLCBlbnRpdHkgY291bnRzLCBhbmQgcHJpY2luZyBmb3IgbmV4dCBwdXJjaGFzZXMuIFJldHVybnMgaXNfcGxheWVyPWZhbHNlIGlmIHRoZSBhY2NvdW50IGhhcyBub3Qgam9pbmVkIHRoZSBnYW1lLgDAVfmajLNiCmdldHN0YXJ0ZXKFAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRzdGFydGVyCnN1bW1hcnk6ICdHZXQgc3RhcnRlciBzaGlwIGFuZCBiYWxhbmNlIGluZm9ybWF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIHRoZSBzdGFydGVyIHNoaXAgc3RhdHMgYW5kIGluaXRpYWwgYmFsYW5jZSBhIG5ldyBwbGF5ZXIgd291bGQgcmVjZWl2ZSB1cG9uIGpvaW5pbmcuIFVzZWQgZm9yIG9uYm9hcmRpbmcgVUkgdG8gZGlzcGxheSB3aGF0IHBsYXllcnMgd2lsbCBnZXQgYmVmb3JlIHRoZXkgcmVnaXN0ZXIuAIDU2dyMs2IKZ2V0c3RyYXR1bQCAlbtGSo2zYgxnZXRzdW1tYXJpZXPoAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRzdW1tYXJpZXMKc3VtbWFyeTogJ0dldCBlbnRpdHkgc3VtbWFyaWVzIGZvciBhIHBsYXllcicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUmV0dXJucyBsaWdodHdlaWdodCBzdW1tYXJpZXMgb2YgYWxsIGVudGl0aWVzIG93bmVkIGJ5IGEgcGxheWVyIGluY2x1ZGluZyB0eXBlLCBpZCwgb3duZXIsIG5hbWUsIGxvY2F0aW9uLCBhbmQgaWRsZSBzdGF0dXMuIE9wdGlvbmFsbHkgZmlsdGVyIGJ5IGVudGl0eSB0eXBlLgCi2ubmqullC2dyb3VwdHJhdmVsmgQtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ3JvdXB0cmF2ZWwKc3VtbWFyeTogJ01vdmUgbXVsdGlwbGUgZW50aXRpZXMgdG9nZXRoZXInCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkluaXRpYXRlIGdyb3VwIHRyYXZlbCBmb3IgbXVsdGlwbGUgZW50aXRpZXMgdG8gYSBkZXN0aW5hdGlvbi4gQWxsIGVudGl0aWVzIG11c3QgYmUgYXQgdGhlIHNhbWUgbG9jYXRpb24gYW5kIG93bmVkIGJ5IHRoZSBjYWxsZXIuIEF0IGxlYXN0IG9uZSBlbnRpdHkgd2l0aCBlbmdpbmVzIGlzIHJlcXVpcmVkIHRvIHByb3ZpZGUgdGhydXN0LiBGbGlnaHQgZHVyYXRpb24gaXMgY2FsY3VsYXRlZCBmcm9tIGNvbWJpbmVkIHRocnVzdCBhbmQgdG90YWwgbWFzcyBvZiBhbGwgZW50aXRpZXMuIENyZWF0ZXMgYW4gZW50aXR5Z3JvdXAgZm9yIGF0b21pYyByZXNvbHV0aW9uIGFuZCBjYW5jZWxsYXRpb24uAAAAAADQsGkEaGFzaP0BLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGhhc2gKc3VtbWFyeTogJ0NhbGN1bGF0ZSBzaGEyNTYgaGFzaCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQ2FsY3VsYXRlcyB0aGUgc2hhMjU2IGhhc2ggb2YgYSBzdHJpbmcgYmFzZWQgdXNpbmcgdGhlIGdhbWUgc2VlZC4KCi0tLQAAAECE0rBpB2hhc2g1MTL7AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBoYXNoNTEyCnN1bW1hcnk6ICdDYWxjdWxhdGUgc2hhNTEyIGhhc2gnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkNhbGN1bGF0ZXMgdGhlIHNoYTUxMiBoYXNoIG9mIGEgc3RyaW5nIGJhc2VkIHVzaW5nIHRoZSBnYW1lIHNlZWQuAAAAAACQ3XQEaW5pdPoBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGluaXQKc3VtbWFyeTogJ0luaXRpYWxpemUgZ2FtZSBzZWVkJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbml0aWFsaXplIGEgdGhlIGdhbWVzIHNlZWQgYW5kIHNlZWQgdmFsdWVzIHRvIGJvb3RzdHJhcCBnYW1lIHN0YXRlLgAAAAAAMB19BGpvaW7JAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBqb2luCnN1bW1hcnk6ICdKb2luIGEgZ2FtZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSm9pbiBhIGdhbWUgb2YgU2hpcGxvYWQKCi0tLQAAAAD45TKdBm5vdGlmeYoDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IG5vdGlmeQpzdW1tYXJ5OiAnVGFzayBsaWZlY3ljbGUgbm90aWZpY2F0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbnRlcm5hbCBhY3Rpb24gdGhhdCBub3RpZmllcyBlbnRpdHkgb3duZXJzIG9mIHRhc2sgbGlmZWN5Y2xlIGV2ZW50cyAocmVzb2x2ZWQsIGNhbmNlbGxlZCkuIENhbGxlZCBpbmxpbmUgd2hlbiB0YXNrcyBjaGFuZ2Ugc3RhdGUuIFVzZXMgcmVxdWlyZV9yZWNpcGllbnQgdG8gZW5hYmxlIG9mZi1jaGFpbiBtb25pdG9yaW5nIHZpYSBhY3Rpb24gdHJhY2VzLgAAAIpd05C6CHJlY2hhcmdl0gItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogcmVjaGFyZ2UKc3VtbWFyeTogJ1JlY2hhcmdlIHNoaXAgZW5lcmd5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpTY2hlZHVsZSBhIHJlY2hhcmdlIHRhc2sgZm9yIGFuIGVudGl0eSB0byByZXN0b3JlIGVuZXJneSB0byBmdWxsIGNhcGFjaXR5LiBUaGUgcmVjaGFyZ2UgZHVyYXRpb24gZGVwZW5kcyBvbiBjdXJyZW50IGVuZXJneSBsZXZlbCBhbmQgcmVjaGFyZ2UgcmF0ZS4KCi0tLQAAAEDtSLG6B3Jlc29sdmXVAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiByZXNvbHZlCnN1bW1hcnk6ICdDb21wbGV0ZSBzY2hlZHVsZWQgdGFza3MnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJlc29sdmUgY29tcGxldGVkIHRhc2tzIGluIGFuIGVudGl0eSdzIHNjaGVkdWxlLCBhcHBseWluZyB0aGVpciBlZmZlY3RzIChyZWNoYXJnZSBlbmVyZ3ksIHVwZGF0ZSBsb2NhdGlvbiwgbG9hZC91bmxvYWQgY2FyZ28pLiBJZiBjb3VudCBpcyBzcGVjaWZpZWQsIHJlc29sdmUgZXhhY3RseSB0aGF0IG1hbnkgdGFza3M7IG90aGVyd2lzZSByZXNvbHZlIGFsbCBjb21wbGV0ZWQgdGFza3MuIEZhaWxzIGlmIGNvdW50IGV4Y2VlZHMgdGhlIG51bWJlciBvZiBjb21wbGV0ZWQgdGFza3MuCgotLS0AAAAAAJCjwQRzYWx03QEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogc2FsdApzdW1tYXJ5OiAnQXBwZW5kIFNhbHQnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkFkZCBhZGRpdGlvbmFsIHNhbHQgdG8gdGhlIG5leHQgZXBvY2ggc2VlZC4KCi0tLQAAZdegyU3FCnNwYXduY2FyZ28AAAAAVy08zc0IdHJhbnNmZXLIAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB0cmFuc2ZlcgpzdW1tYXJ5OiAnVHJhbnNmZXIgY2FyZ28gYmV0d2VlbiBlbnRpdGllcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVHJhbnNmZXIgY2FyZ28gYmV0d2VlbiB0d28gZW50aXRpZXMgYXQgdGhlIHNhbWUgbG9jYXRpb24uIEJvdGggZW50aXRpZXMgbXVzdCBiZSBvd25lZCBieSB0aGUgY2FsbGVyIGFuZCBhdCBsZWFzdCBvbmUgbXVzdCBoYXZlIGxvYWRlcnMuIENyZWF0ZXMgbG9hZCBhbmQgdW5sb2FkIHRhc2tzIG9uIGJvdGggZW50aXRpZXMgd2l0aCBkdXJhdGlvbiBiYXNlZCBvbiBjb21iaW5lZCBsb2FkZXIgY2FwYWNpdHkgYW5kIFotZGlzdGFuY2UgYmV0d2VlbiB0aGVtLgAAAABEtc3NBnRyYXZlbMsCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHRyYXZlbApzdW1tYXJ5OiAnTW92ZSBhIHNoaXAnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkluaXRpYXRlIHRyYXZlbCBvZiBhbiBlbnRpdHkgZnJvbSBpdHMgY3VycmVudCBsb2NhdGlvbiB0byBhIG5ldyBkZXN0aW5hdGlvbi4KCi0tLQoKVGhpcyBhY3Rpb24gZGV0ZXJtaW5lcyB0aGUgbWFya2V0IHByaWNlIG9mIGFsbCBpdGVtcyBhdCBhIGdpdmVuIGxvY2F0aW9uLgAAAAAAUK/hBHdhcnAAAAAAAACgquMEd2lwZbIBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHdpcGUKc3VtbWFyeTogJ0RFQlVHOiB3aXBlIGFjdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLaDQVNoqrKrjDHdpcGVzZXF1ZW5jZcIBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHdpcGVzZXF1ZW5jZQpzdW1tYXJ5OiAnREVCVUc6IHdpcGVzZXF1ZW5jZSBhY3Rpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0LAAAAAADKrkEDaTY0AAAJY2FyZ29fcm93AAC4ajqTJ0UDaTY0AAANY29udGFpbmVyX3JvdwCqppf57PJUA2k2NAAAD2VudGl0eWdyb3VwX3JvdwAAAJO6bBCNA2k2NAAADGxvY2F0aW9uX3JvdwAAAABc5U2sA2k2NAAACnBsYXllcl9yb3cAAABA7auwugNpNjQAAAtyZXNlcnZlX3JvdwAAAApNpa3CA2k2NAAADHNlcXVlbmNlX3JvdwAAAAAAUF3DA2k2NAAACHNoaXBfcm93AAAAAACVTcYDaTY0AAAJc3RhdGVfcm93AAAAAACsqs8DaTY0AAAJdHlwZXNfcm93AABQWNOmruEDaTY0AAANd2FyZWhvdXNlX3JvdwERU2hpcGxvYWQgKFNlcnZlcikRU2hpcGxvYWQgKFNlcnZlcikAAAAXAAAAAESFpkEOY2FuY2VsX3Jlc3VsdHMAAAAAgLzMRQx0YXNrX3Jlc3VsdHMAAAAAeBqrSgx0YXNrX3Jlc3VsdHMAAAAgI3NzVwx0YXNrX3Jlc3VsdHMAAGBuTYqyYgtnYW1lX2NvbmZpZwCwctnlqbJiDWVudGl0eV9pbmZvW10AAPDZ5amyYgtlbnRpdHlfaW5mbwAAAFiq7LJiCml0ZW1zX2luZm8AJnXZIBqzYg1sb2NhdGlvbl9pbmZvAIDJJiEas2IQbG9jYXRpb25fZGVyaXZlZAAA8OcaNbNiC25lYXJieV9pbmZvAAC4yptYs2ILcGxheWVyX2luZm8AwFX5moyzYgxzdGFydGVyX2luZm8AgNTZ3IyzYgxzdHJhdHVtX2RhdGGAlbtGSo2zYhBlbnRpdHlfc3VtbWFyeVtdAKLa5uaq6WUMdGFza19yZXN1bHRzAAAAAADQsGkLY2hlY2tzdW0yNTYAAABAhNKwaQtjaGVja3N1bTUxMgAAAIpd05C6DHRhc2tfcmVzdWx0cwAAAEDtSLG6D3Jlc29sdmVfcmVzdWx0cwAAAFctPM3NDHRhc2tfcmVzdWx0cwAAAABEtc3NDHRhc2tfcmVzdWx0cwAAAAAAUK/hDHRhc2tfcmVzdWx0cw==');
|
|
208
|
+
const abiBlob = Blob.from('DmVvc2lvOjphYmkvMS4yAhVCX3ZlY3Rvcl9lbnRpdHlfcmVmX0UMZW50aXR5X3JlZltdDWxvY2F0aW9uX3R5cGUFdWludDhWCWFkZG1vZHVsZQAFC2VudGl0eV90eXBlBG5hbWUJZW50aXR5X2lkBnVpbnQ2NAxtb2R1bGVfaW5kZXgFdWludDgPbW9kdWxlX2NhcmdvX2lkBnVpbnQ2NA90YXJnZXRfY2FyZ29faWQGdWludDY0B2FkdmFuY2UAAgZyZXZlYWwGc3RyaW5nBmNvbW1pdAtjaGVja3N1bTI1NgVibGVuZAADC2VudGl0eV90eXBlBG5hbWUCaWQGdWludDY0BmlucHV0cwxjYXJnb19pdGVtW10GY2FuY2VsAAMLZW50aXR5X3R5cGUEbmFtZQJpZAZ1aW50NjQFY291bnQGdWludDY0DmNhbmNlbF9yZXN1bHRzAAYJZW50aXR5X2lkBnVpbnQ2NAtlbnRpdHlfdHlwZQRuYW1lD2NhbmNlbGxlZF9jb3VudAV1aW50OBBzY2hlZHVsZV9zdGFydGVkC3RpbWVfcG9pbnQ/C2VudGl0eWdyb3VwB3VpbnQ2ND8NZ3JvdXBfbWVtYmVycxZCX3ZlY3Rvcl9lbnRpdHlfcmVmX0U/CmNhcmdvX2l0ZW0ABAdpdGVtX2lkBnVpbnQxNghxdWFudGl0eQZ1aW50MzIEc2VlZAd1aW50NjQ/B21vZHVsZXMObW9kdWxlX2VudHJ5W10JY2FyZ29fcm93AAYCaWQGdWludDY0CWVudGl0eV9pZAZ1aW50NjQHaXRlbV9pZAZ1aW50NjQIcXVhbnRpdHkGdWludDY0BHNlZWQGdWludDY0B21vZHVsZXMObW9kdWxlX2VudHJ5W10KY2FyZ29fc2VlZAACB2l0ZW1faWQGdWludDE2BHNlZWQGdWludDY0CWNsZWFucnN2cAACBWVwb2NoBnVpbnQ2NAhtYXhfcm93cwZ1aW50NjQKY2xlYXJ0YWJsZQADCnRhYmxlX25hbWUEbmFtZQVzY29wZQVuYW1lPwhtYXhfcm93cwd1aW50NjQ/BmNvbW1pdAABBmNvbW1pdAtjaGVja3N1bTI1Ngljb25maWdsb2cAAQZjb25maWcLZ2FtZV9jb25maWcNY29udGFpbmVyX3JvdwAIAmlkBnVpbnQ2NAVvd25lcgRuYW1lBG5hbWUGc3RyaW5nC2Nvb3JkaW5hdGVzC2Nvb3JkaW5hdGVzCGh1bGxtYXNzBnVpbnQzMghjYXBhY2l0eQZ1aW50MzIJY2FyZ29tYXNzBnVpbnQzMghzY2hlZHVsZQlzY2hlZHVsZT8LY29vcmRpbmF0ZXMAAwF4BWludDY0AXkFaW50NjQBegd1aW50MTY/BWNyYWZ0AAULZW50aXR5X3R5cGUEbmFtZQJpZAZ1aW50NjQJcmVjaXBlX2lkBnVpbnQxNghxdWFudGl0eQZ1aW50MzIGaW5wdXRzDGNhcmdvX2l0ZW1bXQ1jcmFmdGVyX3N0YXRzAAIFc3BlZWQGdWludDE2BWRyYWluBnVpbnQxNgxjcmVhdGVlbnRpdHkABQVvd25lcgRuYW1lC2VudGl0eV90eXBlBG5hbWULZW50aXR5X25hbWUGc3RyaW5nAXgFaW50NjQBeQVpbnQ2NAZkZXBsb3kABQtlbnRpdHlfdHlwZQRuYW1lAmlkBnVpbnQ2NA5wYWNrZWRfaXRlbV9pZAZ1aW50MTYEc2VlZAZ1aW50NjQLZW50aXR5X25hbWUGc3RyaW5nBmVuYWJsZQABB2VuYWJsZWQEYm9vbAxlbmVyZ3lfc3RhdHMAAghjYXBhY2l0eQZ1aW50MTYIcmVjaGFyZ2UGdWludDE2FGVudGl0eV9jdXJyZW50X3N0YXRlAAILY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMGZW5lcmd5BnVpbnQxNg9lbnRpdHlfZGVmYXVsdHMABhJ3YXJlaG91c2VfY2FwYWNpdHkGdWludDMyC3dhcmVob3VzZV96BnVpbnQxNhF3YXJlaG91c2VfbG9hZGVycwxsb2FkZXJfc3RhdHMSY29udGFpbmVyX2h1bGxtYXNzBnVpbnQzMhJjb250YWluZXJfY2FwYWNpdHkGdWludDMyC2NvbnRhaW5lcl96BnVpbnQxNgtlbnRpdHlfaW5mbwAXBHR5cGUEbmFtZQJpZAZ1aW50NjQFb3duZXIEbmFtZQtlbnRpdHlfbmFtZQZzdHJpbmcLY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMJY2FyZ29tYXNzBnVpbnQzMgVjYXJnbwxjYXJnb19pdGVtW10HbG9hZGVycw1sb2FkZXJfc3RhdHM/BmVuZXJneQd1aW50MTY/CGh1bGxtYXNzB3VpbnQzMj8HZW5naW5lcw9tb3ZlbWVudF9zdGF0cz8JZ2VuZXJhdG9yDWVuZXJneV9zdGF0cz8IY2FwYWNpdHkHdWludDMyPwlleHRyYWN0b3IQZXh0cmFjdG9yX3N0YXRzPwR3YXJwC3dhcnBfc3RhdHM/B2NyYWZ0ZXIOY3JhZnRlcl9zdGF0cz8HaXNfaWRsZQRib29sDGN1cnJlbnRfdGFzawV0YXNrPxRjdXJyZW50X3Rhc2tfZWxhcHNlZAZ1aW50MzIWY3VycmVudF90YXNrX3JlbWFpbmluZwZ1aW50MzINcGVuZGluZ190YXNrcwZ0YXNrW10HaWRsZV9hdAt0aW1lX3BvaW50PwhzY2hlZHVsZQlzY2hlZHVsZT8KZW50aXR5X3JlZgACC2VudGl0eV90eXBlBG5hbWUJZW50aXR5X2lkBnVpbnQ2NA5lbnRpdHlfc3VtbWFyeQAIBHR5cGUEbmFtZQJpZAZ1aW50NjQFb3duZXIEbmFtZQtlbnRpdHlfbmFtZQZzdHJpbmcLY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMHaXNfaWRsZQRib29sDnJlc29sdmVkX2NvdW50BnVpbnQzMg1wZW5kaW5nX2NvdW50BnVpbnQzMhBlbnRpdHlfdGFza19pbmZvAAQJZW50aXR5X2lkBnVpbnQ2NAtlbnRpdHlfdHlwZQRuYW1lCnRhc2tfY291bnQFdWludDgQc2NoZWR1bGVfc3RhcnRlZAp0aW1lX3BvaW50D2VudGl0eWdyb3VwX3JvdwACAmlkBnVpbnQ2NAxwYXJ0aWNpcGFudHMMZW50aXR5X3JlZltdB2V4dHJhY3QABAtlbnRpdHlfdHlwZQRuYW1lAmlkBnVpbnQ2NAdzdHJhdHVtBnVpbnQxNghxdWFudGl0eQZ1aW50MzIPZXh0cmFjdG9yX3N0YXRzAAQEcmF0ZQZ1aW50MTYFZHJhaW4GdWludDE2BWRlcHRoBnVpbnQxNgVkcmlsbAZ1aW50MTYLZ2FtZV9jb25maWcAAwd2ZXJzaW9uBnVpbnQzMghkZWZhdWx0cw9lbnRpdHlfZGVmYXVsdHMFaXRlbXMKaXRlbV9kZWZbXQlnZXRjb25maWcAAAtnZXRlbnRpdGllcwACBW93bmVyBG5hbWULZW50aXR5X3R5cGUFbmFtZT8JZ2V0ZW50aXR5AAILZW50aXR5X3R5cGUEbmFtZQllbnRpdHlfaWQGdWludDY0CGdldGl0ZW1zAAALZ2V0bG9jYXRpb24AAgF4BWludDY0AXkFaW50NjQKZ2V0bG9jZGF0YQACAXgFaW50NjQBeQVpbnQ2NAlnZXRuZWFyYnkAAwtlbnRpdHlfdHlwZQRuYW1lCWVudGl0eV9pZAZ1aW50NjQIcmVjaGFyZ2UEYm9vbAlnZXRwbGF5ZXIAAQdhY2NvdW50BG5hbWUKZ2V0c3RyYXR1bQADAXgFaW50NjQBeQVpbnQ2NAdzdHJhdHVtBnVpbnQxNgxnZXRzdW1tYXJpZXMAAgVvd25lcgRuYW1lC2VudGl0eV90eXBlBW5hbWU/C2dyb3VwdHJhdmVsAAQIZW50aXRpZXMMZW50aXR5X3JlZltdAXgFaW50NjQBeQVpbnQ2NAhyZWNoYXJnZQRib29sBGhhc2gAAQV2YWx1ZQZzdHJpbmcHaGFzaDUxMgABBXZhbHVlBnN0cmluZwRpbml0AAEEc2VlZAtjaGVja3N1bTI1NghpdGVtX2RlZgACAmlkBnVpbnQxNgRtYXNzBnVpbnQzMgppdGVtc19pbmZvAAEFaXRlbXMKaXRlbV9kZWZbXQRqb2luAAEHYWNjb3VudARuYW1lDGxvYWRlcl9zdGF0cwADBG1hc3MGdWludDMyBnRocnVzdAZ1aW50MTYIcXVhbnRpdHkFdWludDgQbG9jYXRpb25fZGVyaXZlZAADDHN0YXRpY19wcm9wcw9sb2NhdGlvbl9zdGF0aWMLZXBvY2hfcHJvcHMObG9jYXRpb25fZXBvY2gEc2l6ZQZ1aW50MTYObG9jYXRpb25fZXBvY2gAAwZhY3RpdmUEYm9vbAVzZWVkMAV1aW50OAVzZWVkMQV1aW50OA1sb2NhdGlvbl9pbmZvAAIGY29vcmRzC2Nvb3JkaW5hdGVzCWlzX3N5c3RlbQRib29sDGxvY2F0aW9uX3JvdwAGAmlkBnVpbnQ2NAVvd25lcgRuYW1lC2Nvb3JkaW5hdGVzC2Nvb3JkaW5hdGVzCWNhcmdvbWFzcwZ1aW50MzIFY2FyZ28MY2FyZ29faXRlbVtdCHNjaGVkdWxlCXNjaGVkdWxlPw9sb2NhdGlvbl9zdGF0aWMABQZjb29yZHMLY29vcmRpbmF0ZXMEdHlwZQ1sb2NhdGlvbl90eXBlB3N1YnR5cGUFdWludDgFc2VlZDAFdWludDgFc2VlZDEFdWludDgMbW9kdWxlX2VudHJ5AAIEdHlwZQV1aW50OAlpbnN0YWxsZWQLY2FyZ29fc2VlZD8ObW92ZW1lbnRfc3RhdHMAAgZ0aHJ1c3QGdWludDMyBWRyYWluBnVpbnQxNgtuZWFyYnlfaW5mbwAFCmNhbl90cmF2ZWwEYm9vbAdjdXJyZW50FGVudGl0eV9jdXJyZW50X3N0YXRlCXByb2plY3RlZBRlbnRpdHlfY3VycmVudF9zdGF0ZQptYXhfZW5lcmd5BnVpbnQxNgdzeXN0ZW1zD25lYXJieV9zeXN0ZW1bXQ1uZWFyYnlfc3lzdGVtAAQIZGlzdGFuY2UGdWludDY0C2VuZXJneV9jb3N0BnVpbnQ2NAtmbGlnaHRfdGltZQZ1aW50MzIIbG9jYXRpb24NbG9jYXRpb25faW5mbwZub3RpZnkAAQVldmVudAp0YXNrX2V2ZW50C3BsYXllcl9pbmZvAAYFb3duZXIEbmFtZQlpc19wbGF5ZXIEYm9vbAxjb21wYW55X25hbWUGc3RyaW5nCnNoaXBfY291bnQGdWludDY0D3dhcmVob3VzZV9jb3VudAZ1aW50NjQPY29udGFpbmVyX2NvdW50BnVpbnQ2NApwbGF5ZXJfcm93AAEFb3duZXIEbmFtZQhyZWNoYXJnZQACC2VudGl0eV90eXBlBG5hbWUCaWQGdWludDY0C3Jlc2VydmVfcm93AAICaWQGdWludDY0CXJlbWFpbmluZwZ1aW50MzIHcmVzb2x2ZQADC2VudGl0eV90eXBlBG5hbWUCaWQGdWludDY0BWNvdW50B3VpbnQ2ND8PcmVzb2x2ZV9yZXN1bHRzAAYJZW50aXR5X2lkBnVpbnQ2NAtlbnRpdHlfdHlwZQRuYW1lDnJlc29sdmVkX2NvdW50BXVpbnQ4FG5ld19zY2hlZHVsZV9zdGFydGVkC3RpbWVfcG9pbnQ/C2VudGl0eWdyb3VwB3VpbnQ2ND8NZ3JvdXBfbWVtYmVycxZCX3ZlY3Rvcl9lbnRpdHlfcmVmX0U/DnJlc291cmNlX3N0YXRzAAMFc3RhdDEGdWludDE2BXN0YXQyBnVpbnQxNgVzdGF0MwZ1aW50MTYIcm1tb2R1bGUABAtlbnRpdHlfdHlwZQRuYW1lCWVudGl0eV9pZAZ1aW50NjQMbW9kdWxlX2luZGV4BXVpbnQ4D3RhcmdldF9jYXJnb19pZAZ1aW50NjQEc2FsdAABBHNhbHQGdWludDY0CHNjaGVkdWxlAAIHc3RhcnRlZAp0aW1lX3BvaW50BXRhc2tzBnRhc2tbXQxzZXF1ZW5jZV9yb3cAAgNrZXkEbmFtZQV2YWx1ZQZ1aW50NjQIc2hpcF9yb3cAEAJpZAZ1aW50NjQFb3duZXIEbmFtZQRuYW1lBnN0cmluZwtjb29yZGluYXRlcwtjb29yZGluYXRlcwhodWxsbWFzcwd1aW50MzI/CGNhcGFjaXR5B3VpbnQzMj8GZW5lcmd5B3VpbnQxNj8JY2FyZ29tYXNzBnVpbnQzMgdlbmdpbmVzD21vdmVtZW50X3N0YXRzPwlnZW5lcmF0b3INZW5lcmd5X3N0YXRzPwdsb2FkZXJzDWxvYWRlcl9zdGF0cz8JZXh0cmFjdG9yEGV4dHJhY3Rvcl9zdGF0cz8Ed2FycAt3YXJwX3N0YXRzPwdjcmFmdGVyDmNyYWZ0ZXJfc3RhdHM/B21vZHVsZXMObW9kdWxlX2VudHJ5W10Ic2NoZWR1bGUJc2NoZWR1bGU/CnNwYXduY2FyZ28AAwllbnRpdHlfaWQGdWludDY0B2l0ZW1faWQGdWludDY0CHF1YW50aXR5BnVpbnQ2NAtzcGF3bnNlZWRlZAAECWVudGl0eV9pZAZ1aW50NjQHaXRlbV9pZAZ1aW50NjQIcXVhbnRpdHkGdWludDY0BHNlZWQGdWludDY0CXN0YXRlX3JvdwAGB2VuYWJsZWQEYm9vbAVlcG9jaAZ1aW50MzIEc2FsdAZ1aW50NjQFc2hpcHMGdWludDMyBHNlZWQLY2hlY2tzdW0yNTYGY29tbWl0C2NoZWNrc3VtMjU2DHN0cmF0dW1fZGF0YQACB3N0cmF0dW0Mc3RyYXR1bV9pbmZvBXN0YXRzDnJlc291cmNlX3N0YXRzDHN0cmF0dW1faW5mbwAEB2l0ZW1faWQGdWludDE2BHNlZWQGdWludDY0CHJpY2huZXNzBnVpbnQxNgdyZXNlcnZlBnVpbnQzMgR0YXNrAAgEdHlwZQV1aW50OAhkdXJhdGlvbgZ1aW50MzIKY2FuY2VsYWJsZQV1aW50OAtjb29yZGluYXRlcwxjb29yZGluYXRlcz8FY2FyZ28MY2FyZ29faXRlbVtdDGVudGl0eXRhcmdldAtlbnRpdHlfcmVmPwtlbnRpdHlncm91cAd1aW50NjQ/C2VuZXJneV9jb3N0B3VpbnQxNj8KdGFza19ldmVudAAJCmV2ZW50X3R5cGUFdWludDgFb3duZXIEbmFtZQtlbnRpdHlfdHlwZQRuYW1lCWVudGl0eV9pZAZ1aW50NjQKdGFza19pbmRleAV1aW50OAR0YXNrBHRhc2sJc3RhcnRzX2F0CnRpbWVfcG9pbnQMY29tcGxldGVzX2F0CnRpbWVfcG9pbnQKbmV3X2VuZXJneQd1aW50MTY/DHRhc2tfcmVzdWx0cwABCGVudGl0aWVzEmVudGl0eV90YXNrX2luZm9bXQh0cmFuc2ZlcgAGC3NvdXJjZV90eXBlBG5hbWUJc291cmNlX2lkBnVpbnQ2NAlkZXN0X3R5cGUEbmFtZQdkZXN0X2lkBnVpbnQ2NAdpdGVtX2lkBnVpbnQxNghxdWFudGl0eQZ1aW50MzIGdHJhdmVsAAULZW50aXR5X3R5cGUEbmFtZQJpZAZ1aW50NjQBeAVpbnQ2NAF5BWludDY0CHJlY2hhcmdlBGJvb2wJdHlwZXNfcm93AAMCaWQGdWludDY0E2VudGl0eV9zdW1tYXJ5X3R5cGUOZW50aXR5X3N1bW1hcnkQZ2FtZV9jb25maWdfdHlwZQtnYW1lX2NvbmZpZw13YXJlaG91c2Vfcm93AAgCaWQGdWludDY0BW93bmVyBG5hbWUEbmFtZQZzdHJpbmcLY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMIY2FwYWNpdHkGdWludDMyCWNhcmdvbWFzcwZ1aW50MzIHbG9hZGVycwxsb2FkZXJfc3RhdHMIc2NoZWR1bGUJc2NoZWR1bGU/BHdhcnAABAtlbnRpdHlfdHlwZQRuYW1lAmlkBnVpbnQ2NAF4BWludDY0AXkFaW50NjQKd2FycF9zdGF0cwABBXJhbmdlBnVpbnQzMgR3aXBlAAAMd2lwZXNlcXVlbmNlAAAoAABQUScqUzIJYWRkbW9kdWxlAAAAAEChaXYyB2FkdmFuY2XTAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBhZHZhbmNlCnN1bW1hcnk6ICdBZHZhbmNlIHR1cm4nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkFkdmFuY2UgdGhlIGdhbWUgdG8gdGhlIG5leHQgdHVybi4AAAAAgDRVPAVibGVuZAAAAAAARIWmQQZjYW5jZWzHAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjYW5jZWwKc3VtbWFyeTogJ0NhbmNlbCBzY2hlZHVsZWQgdGFza3MnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkNhbmNlbCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiB0YXNrcyBmcm9tIHRoZSBlbmQgb2YgYW4gZW50aXR5J3Mgc2NoZWR1bGUuIFRhc2tzIHRoYXQgYXJlIGltbXV0YWJsZSBhbmQgaW4gcHJvZ3Jlc3MgY2Fubm90IGJlIGNhbmNlbGxlZC4KCi0tLQAAqBvfaVRECWNsZWFucnN2cAAAgIrH5GtURApjbGVhcnRhYmxlvgEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY2xlYXJ0YWJsZQpzdW1tYXJ5OiAnREVCVUc6IGNsZWFydGFibGUgYWN0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tAAAAAGQnJUUGY29tbWl08QEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY29tbWl0CnN1bW1hcnk6ICdTZXQgY29tbWl0IHZhbHVlJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpTZXQgdGhlIGluaXRpYWwgY29tbWl0IHZhbHVlIGR1cmluZyBnYW1lIGluaXRpYWxpemF0aW9uLgoKLS0tAABgNDK3JkUJY29uZmlnbG9nAAAAAACAvMxFBWNyYWZ0AOCzy1OpbNRFDGNyZWF0ZWVudGl0eQAAAAAAeBqrSgZkZXBsb3kAAAAAAKh4zFQGZW5hYmxl4gEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZW5hYmxlCnN1bW1hcnk6ICdTZXQgZW5hYmxlZCBzdGF0ZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKRW5hYmxlIG9yIGRpc2FibGUgdGhpcyBnYW1lIG9mIFNoaXBsb2FkLgoKLS0tAAAAICNzc1cHZXh0cmFjdKEDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGV4dHJhY3QKc3VtbWFyeTogJ0V4dHJhY3QgcmVzb3VyY2VzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpFeHRyYWN0IHJlc291cmNlcyBhdCB0aGUgc2hpcCdzIGN1cnJlbnQgbG9jYXRpb24uIE9ubHkgd29ya3MgYXQgZXh0cmFjdGFibGUgbG9jYXRpb24gdHlwZXMuIFNjaGVkdWxlcyBhbiBleHRyYWN0aW9uIHRhc2sgdGhhdCBjb25zdW1lcyBlbmVyZ3kgYW5kIHlpZWxkcyBjYXJnbyBiYXNlZCBvbiB0aGUgc2hpcCdzIGV4dHJhY3RvciBzdGF0cyBhbmQgdGhlIGxvY2F0aW9uJ3MgcmVzb3VyY2UgY29tcG9zaXRpb24uAABgbk2KsmIJZ2V0Y29uZmlnAACwctnlqbJiC2dldGVudGl0aWVzpAItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0ZW50aXRpZXMKc3VtbWFyeTogJ0dldCBhbGwgZW50aXRpZXMgZm9yIGEgcGxheWVyJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpSZXR1cm5zIGZ1bGwgZW50aXR5IGluZm8gZm9yIGFsbCBlbnRpdGllcyBvd25lZCBieSBhIHBsYXllci4gT3B0aW9uYWxseSBmaWx0ZXIgYnkgZW50aXR5IHR5cGUuAADw2eWpsmIJZ2V0ZW50aXR5ogItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0ZW50aXR5CnN1bW1hcnk6ICdHZXQgZW50aXR5IHN0YXRlJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpSZXR1cm5zIHRoZSBjdXJyZW50IHN0YXRlIG9mIGFuIGVudGl0eSBpbmNsdWRpbmcgaWRlbnRpdHksIGNhcmdvLCBzY2hlZHVsZSBzdGF0ZSwgYW5kIHR5cGUtc3BlY2lmaWMgZmllbGRzLgAAAFiq7LJiCGdldGl0ZW1zmgItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0aXRlbXMKc3VtbWFyeTogJ0dldCBhbGwgYXZhaWxhYmxlIGl0ZW1zJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIGEgbGlzdCBvZiBhbGwgaXRlbXMgaW4gdGhlIGdhbWUgaW5jbHVkaW5nIHRoZWlyIGlkLCBiYXNlIHByaWNlLCBhbmQgbWFzcy4AJnXZIBqzYgtnZXRsb2NhdGlvbuICLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGxvY2F0aW9uCnN1bW1hcnk6ICdHZXQgbG9jYXRpb24gaW5mb3JtYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIHJldHVybnMgaW5mb3JtYXRpb24gYWJvdXQgYSBsb2NhdGlvbiBpbmNsdWRpbmcgd2hldGhlciBhIHN5c3RlbSBleGlzdHMsIGFuZCBmb3IgZWFjaCBpdGVtOiBwcmljZSwgc3VwcGx5LCByYXJpdHkgbXVsdGlwbGllciwgYW5kIGxvY2F0aW9uIG11bHRpcGxpZXIuAIDJJiEas2IKZ2V0bG9jZGF0Yf4CLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGxvY2RhdGEKc3VtbWFyeTogJ0dldCBkZXJpdmVkIGxvY2F0aW9uIGRhdGEnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIHJldHVybnMgZGVyaXZlZCBsb2NhdGlvbiBkYXRhIGluY2x1ZGluZyBzdGF0aWMgcHJvcGVydGllcyAodHlwZSwgZGlmZmljdWx0eSwgc2VlZHMpIGZyb20gdGhlIGdhbWUgc2VlZCBhbmQgZXBvY2gtc3BlY2lmaWMgcHJvcGVydGllcyAoYWN0aXZlLCBzZWVkcykgZnJvbSB0aGUgY3VycmVudCBlcG9jaCBzZWVkLgAA8OcaNbNiCWdldG5lYXJied4DLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldG5lYXJieQpzdW1tYXJ5OiAnR2V0IG5lYXJieSByZWFjaGFibGUgc3lzdGVtcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gcmV0dXJucyBuZWFyYnkgc3lzdGVtcyByZWFjaGFibGUgYnkgYW4gZW50aXR5IGZyb20gaXRzIHByb2plY3RlZCBsb2NhdGlvbi4gUmV0dXJucyBjdXJyZW50IHN0YXRlICh3aXRoIGNvbXBsZXRlZCB0YXNrcyByZXNvbHZlZCksIHByb2plY3RlZCBzdGF0ZSAoYWZ0ZXIgYWxsIHNjaGVkdWxlZCB0YXNrcyksIGFuZCBhIGxpc3Qgb2YgcmVhY2hhYmxlIHN5c3RlbXMgd2l0aCBkaXN0YW5jZSwgZW5lcmd5IGNvc3QsIGZsaWdodCB0aW1lLCBhbmQgbWFya2V0IGluZm9ybWF0aW9uLgAAuMqbWLNiCWdldHBsYXllcv0CLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHBsYXllcgpzdW1tYXJ5OiAnR2V0IHBsYXllciBpbmZvcm1hdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gcmV0dXJucyBpbmZvcm1hdGlvbiBhYm91dCBhIHBsYXllciBpbmNsdWRpbmcgYmFsYW5jZSwgZGVidCwgbmV0d29ydGgsIGVudGl0eSBjb3VudHMsIGFuZCBwcmljaW5nIGZvciBuZXh0IHB1cmNoYXNlcy4gUmV0dXJucyBpc19wbGF5ZXI9ZmFsc2UgaWYgdGhlIGFjY291bnQgaGFzIG5vdCBqb2luZWQgdGhlIGdhbWUuAIDU2dyMs2IKZ2V0c3RyYXR1bQCAlbtGSo2zYgxnZXRzdW1tYXJpZXPoAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRzdW1tYXJpZXMKc3VtbWFyeTogJ0dldCBlbnRpdHkgc3VtbWFyaWVzIGZvciBhIHBsYXllcicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUmV0dXJucyBsaWdodHdlaWdodCBzdW1tYXJpZXMgb2YgYWxsIGVudGl0aWVzIG93bmVkIGJ5IGEgcGxheWVyIGluY2x1ZGluZyB0eXBlLCBpZCwgb3duZXIsIG5hbWUsIGxvY2F0aW9uLCBhbmQgaWRsZSBzdGF0dXMuIE9wdGlvbmFsbHkgZmlsdGVyIGJ5IGVudGl0eSB0eXBlLgCi2ubmqullC2dyb3VwdHJhdmVsmgQtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ3JvdXB0cmF2ZWwKc3VtbWFyeTogJ01vdmUgbXVsdGlwbGUgZW50aXRpZXMgdG9nZXRoZXInCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkluaXRpYXRlIGdyb3VwIHRyYXZlbCBmb3IgbXVsdGlwbGUgZW50aXRpZXMgdG8gYSBkZXN0aW5hdGlvbi4gQWxsIGVudGl0aWVzIG11c3QgYmUgYXQgdGhlIHNhbWUgbG9jYXRpb24gYW5kIG93bmVkIGJ5IHRoZSBjYWxsZXIuIEF0IGxlYXN0IG9uZSBlbnRpdHkgd2l0aCBlbmdpbmVzIGlzIHJlcXVpcmVkIHRvIHByb3ZpZGUgdGhydXN0LiBGbGlnaHQgZHVyYXRpb24gaXMgY2FsY3VsYXRlZCBmcm9tIGNvbWJpbmVkIHRocnVzdCBhbmQgdG90YWwgbWFzcyBvZiBhbGwgZW50aXRpZXMuIENyZWF0ZXMgYW4gZW50aXR5Z3JvdXAgZm9yIGF0b21pYyByZXNvbHV0aW9uIGFuZCBjYW5jZWxsYXRpb24uAAAAAADQsGkEaGFzaP0BLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGhhc2gKc3VtbWFyeTogJ0NhbGN1bGF0ZSBzaGEyNTYgaGFzaCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQ2FsY3VsYXRlcyB0aGUgc2hhMjU2IGhhc2ggb2YgYSBzdHJpbmcgYmFzZWQgdXNpbmcgdGhlIGdhbWUgc2VlZC4KCi0tLQAAAECE0rBpB2hhc2g1MTL7AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBoYXNoNTEyCnN1bW1hcnk6ICdDYWxjdWxhdGUgc2hhNTEyIGhhc2gnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkNhbGN1bGF0ZXMgdGhlIHNoYTUxMiBoYXNoIG9mIGEgc3RyaW5nIGJhc2VkIHVzaW5nIHRoZSBnYW1lIHNlZWQuAAAAAACQ3XQEaW5pdPoBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGluaXQKc3VtbWFyeTogJ0luaXRpYWxpemUgZ2FtZSBzZWVkJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbml0aWFsaXplIGEgdGhlIGdhbWVzIHNlZWQgYW5kIHNlZWQgdmFsdWVzIHRvIGJvb3RzdHJhcCBnYW1lIHN0YXRlLgAAAAAAMB19BGpvaW7JAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBqb2luCnN1bW1hcnk6ICdKb2luIGEgZ2FtZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSm9pbiBhIGdhbWUgb2YgU2hpcGxvYWQKCi0tLQAAAAD45TKdBm5vdGlmeYoDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IG5vdGlmeQpzdW1tYXJ5OiAnVGFzayBsaWZlY3ljbGUgbm90aWZpY2F0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbnRlcm5hbCBhY3Rpb24gdGhhdCBub3RpZmllcyBlbnRpdHkgb3duZXJzIG9mIHRhc2sgbGlmZWN5Y2xlIGV2ZW50cyAocmVzb2x2ZWQsIGNhbmNlbGxlZCkuIENhbGxlZCBpbmxpbmUgd2hlbiB0YXNrcyBjaGFuZ2Ugc3RhdGUuIFVzZXMgcmVxdWlyZV9yZWNpcGllbnQgdG8gZW5hYmxlIG9mZi1jaGFpbiBtb25pdG9yaW5nIHZpYSBhY3Rpb24gdHJhY2VzLgAAAIpd05C6CHJlY2hhcmdl0gItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogcmVjaGFyZ2UKc3VtbWFyeTogJ1JlY2hhcmdlIHNoaXAgZW5lcmd5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpTY2hlZHVsZSBhIHJlY2hhcmdlIHRhc2sgZm9yIGFuIGVudGl0eSB0byByZXN0b3JlIGVuZXJneSB0byBmdWxsIGNhcGFjaXR5LiBUaGUgcmVjaGFyZ2UgZHVyYXRpb24gZGVwZW5kcyBvbiBjdXJyZW50IGVuZXJneSBsZXZlbCBhbmQgcmVjaGFyZ2UgcmF0ZS4KCi0tLQAAAEDtSLG6B3Jlc29sdmXVAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiByZXNvbHZlCnN1bW1hcnk6ICdDb21wbGV0ZSBzY2hlZHVsZWQgdGFza3MnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJlc29sdmUgY29tcGxldGVkIHRhc2tzIGluIGFuIGVudGl0eSdzIHNjaGVkdWxlLCBhcHBseWluZyB0aGVpciBlZmZlY3RzIChyZWNoYXJnZSBlbmVyZ3ksIHVwZGF0ZSBsb2NhdGlvbiwgbG9hZC91bmxvYWQgY2FyZ28pLiBJZiBjb3VudCBpcyBzcGVjaWZpZWQsIHJlc29sdmUgZXhhY3RseSB0aGF0IG1hbnkgdGFza3M7IG90aGVyd2lzZSByZXNvbHZlIGFsbCBjb21wbGV0ZWQgdGFza3MuIEZhaWxzIGlmIGNvdW50IGV4Y2VlZHMgdGhlIG51bWJlciBvZiBjb21wbGV0ZWQgdGFza3MuCgotLS0AAAAq6kSlvAhybW1vZHVsZQAAAAAAAJCjwQRzYWx03QEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogc2FsdApzdW1tYXJ5OiAnQXBwZW5kIFNhbHQnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkFkZCBhZGRpdGlvbmFsIHNhbHQgdG8gdGhlIG5leHQgZXBvY2ggc2VlZC4KCi0tLQAAZdegyU3FCnNwYXduY2FyZ28AAJJKSuHJTcULc3Bhd25zZWVkZWQAAAAAVy08zc0IdHJhbnNmZXLIAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB0cmFuc2ZlcgpzdW1tYXJ5OiAnVHJhbnNmZXIgY2FyZ28gYmV0d2VlbiBlbnRpdGllcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVHJhbnNmZXIgY2FyZ28gYmV0d2VlbiB0d28gZW50aXRpZXMgYXQgdGhlIHNhbWUgbG9jYXRpb24uIEJvdGggZW50aXRpZXMgbXVzdCBiZSBvd25lZCBieSB0aGUgY2FsbGVyIGFuZCBhdCBsZWFzdCBvbmUgbXVzdCBoYXZlIGxvYWRlcnMuIENyZWF0ZXMgbG9hZCBhbmQgdW5sb2FkIHRhc2tzIG9uIGJvdGggZW50aXRpZXMgd2l0aCBkdXJhdGlvbiBiYXNlZCBvbiBjb21iaW5lZCBsb2FkZXIgY2FwYWNpdHkgYW5kIFotZGlzdGFuY2UgYmV0d2VlbiB0aGVtLgAAAABEtc3NBnRyYXZlbMsCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHRyYXZlbApzdW1tYXJ5OiAnTW92ZSBhIHNoaXAnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkluaXRpYXRlIHRyYXZlbCBvZiBhbiBlbnRpdHkgZnJvbSBpdHMgY3VycmVudCBsb2NhdGlvbiB0byBhIG5ldyBkZXN0aW5hdGlvbi4KCi0tLQoKVGhpcyBhY3Rpb24gZGV0ZXJtaW5lcyB0aGUgbWFya2V0IHByaWNlIG9mIGFsbCBpdGVtcyBhdCBhIGdpdmVuIGxvY2F0aW9uLgAAAAAAUK/hBHdhcnAAAAAAAACgquMEd2lwZbIBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHdpcGUKc3VtbWFyeTogJ0RFQlVHOiB3aXBlIGFjdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLaDQVNoqrKrjDHdpcGVzZXF1ZW5jZcIBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHdpcGVzZXF1ZW5jZQpzdW1tYXJ5OiAnREVCVUc6IHdpcGVzZXF1ZW5jZSBhY3Rpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0LAAAAAADKrkEDaTY0AAAJY2FyZ29fcm93AAC4ajqTJ0UDaTY0AAANY29udGFpbmVyX3JvdwCqppf57PJUA2k2NAAAD2VudGl0eWdyb3VwX3JvdwAAAJO6bBCNA2k2NAAADGxvY2F0aW9uX3JvdwAAAABc5U2sA2k2NAAACnBsYXllcl9yb3cAAABA7auwugNpNjQAAAtyZXNlcnZlX3JvdwAAAApNpa3CA2k2NAAADHNlcXVlbmNlX3JvdwAAAAAAUF3DA2k2NAAACHNoaXBfcm93AAAAAACVTcYDaTY0AAAJc3RhdGVfcm93AAAAAACsqs8DaTY0AAAJdHlwZXNfcm93AABQWNOmruEDaTY0AAANd2FyZWhvdXNlX3JvdwERU2hpcGxvYWQgKFNlcnZlcikRU2hpcGxvYWQgKFNlcnZlcikAAAAWAAAAAESFpkEOY2FuY2VsX3Jlc3VsdHMAAAAAgLzMRQx0YXNrX3Jlc3VsdHMAAAAAeBqrSgx0YXNrX3Jlc3VsdHMAAAAgI3NzVwx0YXNrX3Jlc3VsdHMAAGBuTYqyYgtnYW1lX2NvbmZpZwCwctnlqbJiDWVudGl0eV9pbmZvW10AAPDZ5amyYgtlbnRpdHlfaW5mbwAAAFiq7LJiCml0ZW1zX2luZm8AJnXZIBqzYg1sb2NhdGlvbl9pbmZvAIDJJiEas2IQbG9jYXRpb25fZGVyaXZlZAAA8OcaNbNiC25lYXJieV9pbmZvAAC4yptYs2ILcGxheWVyX2luZm8AgNTZ3IyzYgxzdHJhdHVtX2RhdGGAlbtGSo2zYhBlbnRpdHlfc3VtbWFyeVtdAKLa5uaq6WUMdGFza19yZXN1bHRzAAAAAADQsGkLY2hlY2tzdW0yNTYAAABAhNKwaQtjaGVja3N1bTUxMgAAAIpd05C6DHRhc2tfcmVzdWx0cwAAAEDtSLG6D3Jlc29sdmVfcmVzdWx0cwAAAFctPM3NDHRhc2tfcmVzdWx0cwAAAABEtc3NDHRhc2tfcmVzdWx0cwAAAAAAUK/hDHRhc2tfcmVzdWx0cw==');
|
|
209
209
|
const abi = ABI.from(abiBlob);
|
|
210
210
|
var Types;
|
|
211
211
|
(function (Types) {
|
|
212
|
+
let addmodule = class addmodule extends Struct {
|
|
213
|
+
};
|
|
214
|
+
__decorate([
|
|
215
|
+
Struct.field(Name)
|
|
216
|
+
], addmodule.prototype, "entity_type", void 0);
|
|
217
|
+
__decorate([
|
|
218
|
+
Struct.field(UInt64)
|
|
219
|
+
], addmodule.prototype, "entity_id", void 0);
|
|
220
|
+
__decorate([
|
|
221
|
+
Struct.field(UInt8)
|
|
222
|
+
], addmodule.prototype, "module_index", void 0);
|
|
223
|
+
__decorate([
|
|
224
|
+
Struct.field(UInt64)
|
|
225
|
+
], addmodule.prototype, "module_cargo_id", void 0);
|
|
226
|
+
__decorate([
|
|
227
|
+
Struct.field(UInt64)
|
|
228
|
+
], addmodule.prototype, "target_cargo_id", void 0);
|
|
229
|
+
addmodule = __decorate([
|
|
230
|
+
Struct.type('addmodule')
|
|
231
|
+
], addmodule);
|
|
232
|
+
Types.addmodule = addmodule;
|
|
212
233
|
let advance = class advance extends Struct {
|
|
213
234
|
};
|
|
214
235
|
__decorate([
|
|
@@ -221,6 +242,63 @@ var Types;
|
|
|
221
242
|
Struct.type('advance')
|
|
222
243
|
], advance);
|
|
223
244
|
Types.advance = advance;
|
|
245
|
+
let cargo_seed = class cargo_seed extends Struct {
|
|
246
|
+
};
|
|
247
|
+
__decorate([
|
|
248
|
+
Struct.field(UInt16)
|
|
249
|
+
], cargo_seed.prototype, "item_id", void 0);
|
|
250
|
+
__decorate([
|
|
251
|
+
Struct.field(UInt64)
|
|
252
|
+
], cargo_seed.prototype, "seed", void 0);
|
|
253
|
+
cargo_seed = __decorate([
|
|
254
|
+
Struct.type('cargo_seed')
|
|
255
|
+
], cargo_seed);
|
|
256
|
+
Types.cargo_seed = cargo_seed;
|
|
257
|
+
let module_entry = class module_entry extends Struct {
|
|
258
|
+
};
|
|
259
|
+
__decorate([
|
|
260
|
+
Struct.field(UInt8)
|
|
261
|
+
], module_entry.prototype, "type", void 0);
|
|
262
|
+
__decorate([
|
|
263
|
+
Struct.field(cargo_seed, { optional: true })
|
|
264
|
+
], module_entry.prototype, "installed", void 0);
|
|
265
|
+
module_entry = __decorate([
|
|
266
|
+
Struct.type('module_entry')
|
|
267
|
+
], module_entry);
|
|
268
|
+
Types.module_entry = module_entry;
|
|
269
|
+
let cargo_item = class cargo_item extends Struct {
|
|
270
|
+
};
|
|
271
|
+
__decorate([
|
|
272
|
+
Struct.field(UInt16)
|
|
273
|
+
], cargo_item.prototype, "item_id", void 0);
|
|
274
|
+
__decorate([
|
|
275
|
+
Struct.field(UInt32)
|
|
276
|
+
], cargo_item.prototype, "quantity", void 0);
|
|
277
|
+
__decorate([
|
|
278
|
+
Struct.field(UInt64, { optional: true })
|
|
279
|
+
], cargo_item.prototype, "seed", void 0);
|
|
280
|
+
__decorate([
|
|
281
|
+
Struct.field(module_entry, { array: true })
|
|
282
|
+
], cargo_item.prototype, "modules", void 0);
|
|
283
|
+
cargo_item = __decorate([
|
|
284
|
+
Struct.type('cargo_item')
|
|
285
|
+
], cargo_item);
|
|
286
|
+
Types.cargo_item = cargo_item;
|
|
287
|
+
let blend = class blend extends Struct {
|
|
288
|
+
};
|
|
289
|
+
__decorate([
|
|
290
|
+
Struct.field(Name)
|
|
291
|
+
], blend.prototype, "entity_type", void 0);
|
|
292
|
+
__decorate([
|
|
293
|
+
Struct.field(UInt64)
|
|
294
|
+
], blend.prototype, "id", void 0);
|
|
295
|
+
__decorate([
|
|
296
|
+
Struct.field(cargo_item, { array: true })
|
|
297
|
+
], blend.prototype, "inputs", void 0);
|
|
298
|
+
blend = __decorate([
|
|
299
|
+
Struct.type('blend')
|
|
300
|
+
], blend);
|
|
301
|
+
Types.blend = blend;
|
|
224
302
|
let cancel = class cancel extends Struct {
|
|
225
303
|
};
|
|
226
304
|
__decorate([
|
|
@@ -272,21 +350,6 @@ var Types;
|
|
|
272
350
|
Struct.type('cancel_results')
|
|
273
351
|
], cancel_results);
|
|
274
352
|
Types.cancel_results = cancel_results;
|
|
275
|
-
let cargo_item = class cargo_item extends Struct {
|
|
276
|
-
};
|
|
277
|
-
__decorate([
|
|
278
|
-
Struct.field(UInt16)
|
|
279
|
-
], cargo_item.prototype, "item_id", void 0);
|
|
280
|
-
__decorate([
|
|
281
|
-
Struct.field(UInt32)
|
|
282
|
-
], cargo_item.prototype, "quantity", void 0);
|
|
283
|
-
__decorate([
|
|
284
|
-
Struct.field(UInt64, { optional: true })
|
|
285
|
-
], cargo_item.prototype, "seed", void 0);
|
|
286
|
-
cargo_item = __decorate([
|
|
287
|
-
Struct.type('cargo_item')
|
|
288
|
-
], cargo_item);
|
|
289
|
-
Types.cargo_item = cargo_item;
|
|
290
353
|
let cargo_row = class cargo_row extends Struct {
|
|
291
354
|
};
|
|
292
355
|
__decorate([
|
|
@@ -304,6 +367,9 @@ var Types;
|
|
|
304
367
|
__decorate([
|
|
305
368
|
Struct.field(UInt64)
|
|
306
369
|
], cargo_row.prototype, "seed", void 0);
|
|
370
|
+
__decorate([
|
|
371
|
+
Struct.field(module_entry, { array: true })
|
|
372
|
+
], cargo_row.prototype, "modules", void 0);
|
|
307
373
|
cargo_row = __decorate([
|
|
308
374
|
Struct.type('cargo_row')
|
|
309
375
|
], cargo_row);
|
|
@@ -344,30 +410,6 @@ var Types;
|
|
|
344
410
|
Struct.type('commit')
|
|
345
411
|
], commit);
|
|
346
412
|
Types.commit = commit;
|
|
347
|
-
let movement_stats = class movement_stats extends Struct {
|
|
348
|
-
};
|
|
349
|
-
__decorate([
|
|
350
|
-
Struct.field(UInt32)
|
|
351
|
-
], movement_stats.prototype, "thrust", void 0);
|
|
352
|
-
__decorate([
|
|
353
|
-
Struct.field(UInt16)
|
|
354
|
-
], movement_stats.prototype, "drain", void 0);
|
|
355
|
-
movement_stats = __decorate([
|
|
356
|
-
Struct.type('movement_stats')
|
|
357
|
-
], movement_stats);
|
|
358
|
-
Types.movement_stats = movement_stats;
|
|
359
|
-
let energy_stats = class energy_stats extends Struct {
|
|
360
|
-
};
|
|
361
|
-
__decorate([
|
|
362
|
-
Struct.field(UInt16)
|
|
363
|
-
], energy_stats.prototype, "capacity", void 0);
|
|
364
|
-
__decorate([
|
|
365
|
-
Struct.field(UInt16)
|
|
366
|
-
], energy_stats.prototype, "recharge", void 0);
|
|
367
|
-
energy_stats = __decorate([
|
|
368
|
-
Struct.type('energy_stats')
|
|
369
|
-
], energy_stats);
|
|
370
|
-
Types.energy_stats = energy_stats;
|
|
371
413
|
let loader_stats = class loader_stats extends Struct {
|
|
372
414
|
};
|
|
373
415
|
__decorate([
|
|
@@ -383,80 +425,8 @@ var Types;
|
|
|
383
425
|
Struct.type('loader_stats')
|
|
384
426
|
], loader_stats);
|
|
385
427
|
Types.loader_stats = loader_stats;
|
|
386
|
-
let extractor_stats = class extractor_stats extends Struct {
|
|
387
|
-
};
|
|
388
|
-
__decorate([
|
|
389
|
-
Struct.field(UInt16)
|
|
390
|
-
], extractor_stats.prototype, "rate", void 0);
|
|
391
|
-
__decorate([
|
|
392
|
-
Struct.field(UInt16)
|
|
393
|
-
], extractor_stats.prototype, "drain", void 0);
|
|
394
|
-
__decorate([
|
|
395
|
-
Struct.field(UInt16)
|
|
396
|
-
], extractor_stats.prototype, "efficiency", void 0);
|
|
397
|
-
__decorate([
|
|
398
|
-
Struct.field(UInt16)
|
|
399
|
-
], extractor_stats.prototype, "depth", void 0);
|
|
400
|
-
__decorate([
|
|
401
|
-
Struct.field(UInt16)
|
|
402
|
-
], extractor_stats.prototype, "drill", void 0);
|
|
403
|
-
extractor_stats = __decorate([
|
|
404
|
-
Struct.type('extractor_stats')
|
|
405
|
-
], extractor_stats);
|
|
406
|
-
Types.extractor_stats = extractor_stats;
|
|
407
|
-
let warp_stats = class warp_stats extends Struct {
|
|
408
|
-
};
|
|
409
|
-
__decorate([
|
|
410
|
-
Struct.field(UInt32)
|
|
411
|
-
], warp_stats.prototype, "range", void 0);
|
|
412
|
-
warp_stats = __decorate([
|
|
413
|
-
Struct.type('warp_stats')
|
|
414
|
-
], warp_stats);
|
|
415
|
-
Types.warp_stats = warp_stats;
|
|
416
|
-
let crafter_stats = class crafter_stats extends Struct {
|
|
417
|
-
};
|
|
418
|
-
__decorate([
|
|
419
|
-
Struct.field(UInt16)
|
|
420
|
-
], crafter_stats.prototype, "speed", void 0);
|
|
421
|
-
__decorate([
|
|
422
|
-
Struct.field(UInt16)
|
|
423
|
-
], crafter_stats.prototype, "drain", void 0);
|
|
424
|
-
crafter_stats = __decorate([
|
|
425
|
-
Struct.type('crafter_stats')
|
|
426
|
-
], crafter_stats);
|
|
427
|
-
Types.crafter_stats = crafter_stats;
|
|
428
428
|
let entity_defaults = class entity_defaults extends Struct {
|
|
429
429
|
};
|
|
430
|
-
__decorate([
|
|
431
|
-
Struct.field(UInt32)
|
|
432
|
-
], entity_defaults.prototype, "ship_hullmass", void 0);
|
|
433
|
-
__decorate([
|
|
434
|
-
Struct.field(UInt32)
|
|
435
|
-
], entity_defaults.prototype, "ship_capacity", void 0);
|
|
436
|
-
__decorate([
|
|
437
|
-
Struct.field(UInt16)
|
|
438
|
-
], entity_defaults.prototype, "ship_energy", void 0);
|
|
439
|
-
__decorate([
|
|
440
|
-
Struct.field(UInt16)
|
|
441
|
-
], entity_defaults.prototype, "ship_z", void 0);
|
|
442
|
-
__decorate([
|
|
443
|
-
Struct.field(movement_stats)
|
|
444
|
-
], entity_defaults.prototype, "ship_engines", void 0);
|
|
445
|
-
__decorate([
|
|
446
|
-
Struct.field(energy_stats)
|
|
447
|
-
], entity_defaults.prototype, "ship_generator", void 0);
|
|
448
|
-
__decorate([
|
|
449
|
-
Struct.field(loader_stats)
|
|
450
|
-
], entity_defaults.prototype, "ship_loaders", void 0);
|
|
451
|
-
__decorate([
|
|
452
|
-
Struct.field(extractor_stats)
|
|
453
|
-
], entity_defaults.prototype, "ship_extractor", void 0);
|
|
454
|
-
__decorate([
|
|
455
|
-
Struct.field(warp_stats)
|
|
456
|
-
], entity_defaults.prototype, "ship_warp", void 0);
|
|
457
|
-
__decorate([
|
|
458
|
-
Struct.field(crafter_stats)
|
|
459
|
-
], entity_defaults.prototype, "ship_crafter", void 0);
|
|
460
430
|
__decorate([
|
|
461
431
|
Struct.field(UInt32)
|
|
462
432
|
], entity_defaults.prototype, "warehouse_capacity", void 0);
|
|
@@ -623,6 +593,18 @@ var Types;
|
|
|
623
593
|
Struct.type('craft')
|
|
624
594
|
], craft);
|
|
625
595
|
Types.craft = craft;
|
|
596
|
+
let crafter_stats = class crafter_stats extends Struct {
|
|
597
|
+
};
|
|
598
|
+
__decorate([
|
|
599
|
+
Struct.field(UInt16)
|
|
600
|
+
], crafter_stats.prototype, "speed", void 0);
|
|
601
|
+
__decorate([
|
|
602
|
+
Struct.field(UInt16)
|
|
603
|
+
], crafter_stats.prototype, "drain", void 0);
|
|
604
|
+
crafter_stats = __decorate([
|
|
605
|
+
Struct.type('crafter_stats')
|
|
606
|
+
], crafter_stats);
|
|
607
|
+
Types.crafter_stats = crafter_stats;
|
|
626
608
|
let createentity = class createentity extends Struct {
|
|
627
609
|
};
|
|
628
610
|
__decorate([
|
|
@@ -674,6 +656,18 @@ var Types;
|
|
|
674
656
|
Struct.type('enable')
|
|
675
657
|
], enable);
|
|
676
658
|
Types.enable = enable;
|
|
659
|
+
let energy_stats = class energy_stats extends Struct {
|
|
660
|
+
};
|
|
661
|
+
__decorate([
|
|
662
|
+
Struct.field(UInt16)
|
|
663
|
+
], energy_stats.prototype, "capacity", void 0);
|
|
664
|
+
__decorate([
|
|
665
|
+
Struct.field(UInt16)
|
|
666
|
+
], energy_stats.prototype, "recharge", void 0);
|
|
667
|
+
energy_stats = __decorate([
|
|
668
|
+
Struct.type('energy_stats')
|
|
669
|
+
], energy_stats);
|
|
670
|
+
Types.energy_stats = energy_stats;
|
|
677
671
|
let entity_current_state = class entity_current_state extends Struct {
|
|
678
672
|
};
|
|
679
673
|
__decorate([
|
|
@@ -686,6 +680,45 @@ var Types;
|
|
|
686
680
|
Struct.type('entity_current_state')
|
|
687
681
|
], entity_current_state);
|
|
688
682
|
Types.entity_current_state = entity_current_state;
|
|
683
|
+
let movement_stats = class movement_stats extends Struct {
|
|
684
|
+
};
|
|
685
|
+
__decorate([
|
|
686
|
+
Struct.field(UInt32)
|
|
687
|
+
], movement_stats.prototype, "thrust", void 0);
|
|
688
|
+
__decorate([
|
|
689
|
+
Struct.field(UInt16)
|
|
690
|
+
], movement_stats.prototype, "drain", void 0);
|
|
691
|
+
movement_stats = __decorate([
|
|
692
|
+
Struct.type('movement_stats')
|
|
693
|
+
], movement_stats);
|
|
694
|
+
Types.movement_stats = movement_stats;
|
|
695
|
+
let extractor_stats = class extractor_stats extends Struct {
|
|
696
|
+
};
|
|
697
|
+
__decorate([
|
|
698
|
+
Struct.field(UInt16)
|
|
699
|
+
], extractor_stats.prototype, "rate", void 0);
|
|
700
|
+
__decorate([
|
|
701
|
+
Struct.field(UInt16)
|
|
702
|
+
], extractor_stats.prototype, "drain", void 0);
|
|
703
|
+
__decorate([
|
|
704
|
+
Struct.field(UInt16)
|
|
705
|
+
], extractor_stats.prototype, "depth", void 0);
|
|
706
|
+
__decorate([
|
|
707
|
+
Struct.field(UInt16)
|
|
708
|
+
], extractor_stats.prototype, "drill", void 0);
|
|
709
|
+
extractor_stats = __decorate([
|
|
710
|
+
Struct.type('extractor_stats')
|
|
711
|
+
], extractor_stats);
|
|
712
|
+
Types.extractor_stats = extractor_stats;
|
|
713
|
+
let warp_stats = class warp_stats extends Struct {
|
|
714
|
+
};
|
|
715
|
+
__decorate([
|
|
716
|
+
Struct.field(UInt32)
|
|
717
|
+
], warp_stats.prototype, "range", void 0);
|
|
718
|
+
warp_stats = __decorate([
|
|
719
|
+
Struct.type('warp_stats')
|
|
720
|
+
], warp_stats);
|
|
721
|
+
Types.warp_stats = warp_stats;
|
|
689
722
|
let entity_info = class entity_info extends Struct {
|
|
690
723
|
};
|
|
691
724
|
__decorate([
|
|
@@ -923,12 +956,6 @@ var Types;
|
|
|
923
956
|
Struct.type('getplayer')
|
|
924
957
|
], getplayer);
|
|
925
958
|
Types.getplayer = getplayer;
|
|
926
|
-
let getstarter = class getstarter extends Struct {
|
|
927
|
-
};
|
|
928
|
-
getstarter = __decorate([
|
|
929
|
-
Struct.type('getstarter')
|
|
930
|
-
], getstarter);
|
|
931
|
-
Types.getstarter = getstarter;
|
|
932
959
|
let getstratum = class getstratum extends Struct {
|
|
933
960
|
};
|
|
934
961
|
__decorate([
|
|
@@ -1298,6 +1325,24 @@ var Types;
|
|
|
1298
1325
|
Struct.type('resource_stats')
|
|
1299
1326
|
], resource_stats);
|
|
1300
1327
|
Types.resource_stats = resource_stats;
|
|
1328
|
+
let rmmodule = class rmmodule extends Struct {
|
|
1329
|
+
};
|
|
1330
|
+
__decorate([
|
|
1331
|
+
Struct.field(Name)
|
|
1332
|
+
], rmmodule.prototype, "entity_type", void 0);
|
|
1333
|
+
__decorate([
|
|
1334
|
+
Struct.field(UInt64)
|
|
1335
|
+
], rmmodule.prototype, "entity_id", void 0);
|
|
1336
|
+
__decorate([
|
|
1337
|
+
Struct.field(UInt8)
|
|
1338
|
+
], rmmodule.prototype, "module_index", void 0);
|
|
1339
|
+
__decorate([
|
|
1340
|
+
Struct.field(UInt64)
|
|
1341
|
+
], rmmodule.prototype, "target_cargo_id", void 0);
|
|
1342
|
+
rmmodule = __decorate([
|
|
1343
|
+
Struct.type('rmmodule')
|
|
1344
|
+
], rmmodule);
|
|
1345
|
+
Types.rmmodule = rmmodule;
|
|
1301
1346
|
let salt = class salt extends Struct {
|
|
1302
1347
|
};
|
|
1303
1348
|
__decorate([
|
|
@@ -1334,25 +1379,25 @@ var Types;
|
|
|
1334
1379
|
Struct.field(coordinates)
|
|
1335
1380
|
], ship_row.prototype, "coordinates", void 0);
|
|
1336
1381
|
__decorate([
|
|
1337
|
-
Struct.field(UInt32)
|
|
1382
|
+
Struct.field(UInt32, { optional: true })
|
|
1338
1383
|
], ship_row.prototype, "hullmass", void 0);
|
|
1339
1384
|
__decorate([
|
|
1340
|
-
Struct.field(UInt32)
|
|
1385
|
+
Struct.field(UInt32, { optional: true })
|
|
1341
1386
|
], ship_row.prototype, "capacity", void 0);
|
|
1342
1387
|
__decorate([
|
|
1343
|
-
Struct.field(UInt16)
|
|
1388
|
+
Struct.field(UInt16, { optional: true })
|
|
1344
1389
|
], ship_row.prototype, "energy", void 0);
|
|
1345
1390
|
__decorate([
|
|
1346
1391
|
Struct.field(UInt32)
|
|
1347
1392
|
], ship_row.prototype, "cargomass", void 0);
|
|
1348
1393
|
__decorate([
|
|
1349
|
-
Struct.field(movement_stats)
|
|
1394
|
+
Struct.field(movement_stats, { optional: true })
|
|
1350
1395
|
], ship_row.prototype, "engines", void 0);
|
|
1351
1396
|
__decorate([
|
|
1352
|
-
Struct.field(energy_stats)
|
|
1397
|
+
Struct.field(energy_stats, { optional: true })
|
|
1353
1398
|
], ship_row.prototype, "generator", void 0);
|
|
1354
1399
|
__decorate([
|
|
1355
|
-
Struct.field(loader_stats)
|
|
1400
|
+
Struct.field(loader_stats, { optional: true })
|
|
1356
1401
|
], ship_row.prototype, "loaders", void 0);
|
|
1357
1402
|
__decorate([
|
|
1358
1403
|
Struct.field(extractor_stats, { optional: true })
|
|
@@ -1363,6 +1408,9 @@ var Types;
|
|
|
1363
1408
|
__decorate([
|
|
1364
1409
|
Struct.field(crafter_stats, { optional: true })
|
|
1365
1410
|
], ship_row.prototype, "crafter", void 0);
|
|
1411
|
+
__decorate([
|
|
1412
|
+
Struct.field(module_entry, { array: true })
|
|
1413
|
+
], ship_row.prototype, "modules", void 0);
|
|
1366
1414
|
__decorate([
|
|
1367
1415
|
Struct.field(schedule, { optional: true })
|
|
1368
1416
|
], ship_row.prototype, "schedule", void 0);
|
|
@@ -1385,15 +1433,24 @@ var Types;
|
|
|
1385
1433
|
Struct.type('spawncargo')
|
|
1386
1434
|
], spawncargo);
|
|
1387
1435
|
Types.spawncargo = spawncargo;
|
|
1388
|
-
let
|
|
1436
|
+
let spawnseeded = class spawnseeded extends Struct {
|
|
1389
1437
|
};
|
|
1390
1438
|
__decorate([
|
|
1391
|
-
Struct.field(
|
|
1392
|
-
],
|
|
1393
|
-
|
|
1394
|
-
Struct.
|
|
1395
|
-
],
|
|
1396
|
-
|
|
1439
|
+
Struct.field(UInt64)
|
|
1440
|
+
], spawnseeded.prototype, "entity_id", void 0);
|
|
1441
|
+
__decorate([
|
|
1442
|
+
Struct.field(UInt64)
|
|
1443
|
+
], spawnseeded.prototype, "item_id", void 0);
|
|
1444
|
+
__decorate([
|
|
1445
|
+
Struct.field(UInt64)
|
|
1446
|
+
], spawnseeded.prototype, "quantity", void 0);
|
|
1447
|
+
__decorate([
|
|
1448
|
+
Struct.field(UInt64)
|
|
1449
|
+
], spawnseeded.prototype, "seed", void 0);
|
|
1450
|
+
spawnseeded = __decorate([
|
|
1451
|
+
Struct.type('spawnseeded')
|
|
1452
|
+
], spawnseeded);
|
|
1453
|
+
Types.spawnseeded = spawnseeded;
|
|
1397
1454
|
let state_row = class state_row extends Struct {
|
|
1398
1455
|
};
|
|
1399
1456
|
__decorate([
|
|
@@ -1510,9 +1567,6 @@ var Types;
|
|
|
1510
1567
|
__decorate([
|
|
1511
1568
|
Struct.field(entity_summary)
|
|
1512
1569
|
], types_row.prototype, "entity_summary_type", void 0);
|
|
1513
|
-
__decorate([
|
|
1514
|
-
Struct.field(starter_info)
|
|
1515
|
-
], types_row.prototype, "starter_info_type", void 0);
|
|
1516
1570
|
__decorate([
|
|
1517
1571
|
Struct.field(game_config)
|
|
1518
1572
|
], types_row.prototype, "game_config_type", void 0);
|
|
@@ -1667,17 +1721,6 @@ const WAREHOUSE_ALREADY_AT_LOCATION = 'Warehouse already exists at this location
|
|
|
1667
1721
|
const WAREHOUSE_CAPACITY_EXCEEDED = 'Warehouse capacity would be exceeded.';
|
|
1668
1722
|
|
|
1669
1723
|
const PRECISION = 10000;
|
|
1670
|
-
const INITIAL_SHIP_GENERATOR_CAPACITY = 350;
|
|
1671
|
-
const INITIAL_SHIP_DRAIN = 25;
|
|
1672
|
-
const INITIAL_SHIP_ENERGY = 350;
|
|
1673
|
-
const INITIAL_SHIP_HULLMASS = 100000;
|
|
1674
|
-
const INITIAL_SHIP_CAPACITY = 500000;
|
|
1675
|
-
const INITIAL_SHIP_Z = 800;
|
|
1676
|
-
const INITIAL_SHIP_RECHARGE = 10;
|
|
1677
|
-
const INITIAL_SHIP_THRUST = 250;
|
|
1678
|
-
const INITIAL_LOADER_MASS = 1000;
|
|
1679
|
-
const INITIAL_LOADER_QUANTITY = 1;
|
|
1680
|
-
const INITIAL_LOADER_THRUST = 1;
|
|
1681
1724
|
const WAREHOUSE_Z = 500;
|
|
1682
1725
|
const INITIAL_WAREHOUSE_CAPACITY = 10000000;
|
|
1683
1726
|
const CONTAINER_Z = 300;
|
|
@@ -1686,10 +1729,7 @@ const INITIAL_CONTAINER_CAPACITY = 2000000;
|
|
|
1686
1729
|
const TRAVEL_MAX_DURATION = 86400;
|
|
1687
1730
|
const MIN_ORBITAL_ALTITUDE = 800;
|
|
1688
1731
|
const MAX_ORBITAL_ALTITUDE = 3000;
|
|
1689
|
-
const
|
|
1690
|
-
const INITIAL_EXTRACTOR_RATE = 700;
|
|
1691
|
-
const INITIAL_EXTRACTOR_DRAIN = 2500;
|
|
1692
|
-
const INITIAL_EXTRACTOR_EFFICIENCY = 5000;
|
|
1732
|
+
const BASE_ORBITAL_MASS = 100000;
|
|
1693
1733
|
var TaskType;
|
|
1694
1734
|
(function (TaskType) {
|
|
1695
1735
|
TaskType[TaskType["IDLE"] = 0] = "IDLE";
|
|
@@ -4305,7 +4345,7 @@ var itemsData = [
|
|
|
4305
4345
|
id: 26,
|
|
4306
4346
|
name: "Iron",
|
|
4307
4347
|
description: "A versatile metal used in hulls and structures.",
|
|
4308
|
-
mass:
|
|
4348
|
+
mass: 30000,
|
|
4309
4349
|
category: "metal",
|
|
4310
4350
|
tier: "t1",
|
|
4311
4351
|
color: "#B7410E"
|
|
@@ -4332,7 +4372,7 @@ var itemsData = [
|
|
|
4332
4372
|
id: 29,
|
|
4333
4373
|
name: "Copper",
|
|
4334
4374
|
description: "A conductive metal for electronics and wiring.",
|
|
4335
|
-
mass:
|
|
4375
|
+
mass: 40000,
|
|
4336
4376
|
category: "precious",
|
|
4337
4377
|
tier: "t1",
|
|
4338
4378
|
color: "#B87333"
|
|
@@ -4386,7 +4426,7 @@ var itemsData = [
|
|
|
4386
4426
|
id: 14,
|
|
4387
4427
|
name: "Silicon",
|
|
4388
4428
|
description: "A semiconductor used in sensors and computing.",
|
|
4389
|
-
mass:
|
|
4429
|
+
mass: 22000,
|
|
4390
4430
|
category: "mineral",
|
|
4391
4431
|
tier: "t1",
|
|
4392
4432
|
color: "#B8A9C9"
|
|
@@ -4413,7 +4453,7 @@ var itemsData = [
|
|
|
4413
4453
|
id: 6,
|
|
4414
4454
|
name: "Carbon",
|
|
4415
4455
|
description: "A versatile element for life support and coatings.",
|
|
4416
|
-
mass:
|
|
4456
|
+
mass: 15000,
|
|
4417
4457
|
category: "organic",
|
|
4418
4458
|
tier: "t1",
|
|
4419
4459
|
color: "#4A4A4A"
|
|
@@ -4461,10 +4501,10 @@ function getItems() {
|
|
|
4461
4501
|
}
|
|
4462
4502
|
|
|
4463
4503
|
function calc_orbital_altitude(mass) {
|
|
4464
|
-
if (mass <=
|
|
4504
|
+
if (mass <= BASE_ORBITAL_MASS) {
|
|
4465
4505
|
return MIN_ORBITAL_ALTITUDE;
|
|
4466
4506
|
}
|
|
4467
|
-
const ratio = mass /
|
|
4507
|
+
const ratio = mass / BASE_ORBITAL_MASS;
|
|
4468
4508
|
const capRatio = 10.0;
|
|
4469
4509
|
let scale = Math.log(ratio) / Math.log(capRatio);
|
|
4470
4510
|
scale = Math.min(scale, 1.0);
|
|
@@ -5375,6 +5415,12 @@ class Ship extends Types.entity_info {
|
|
|
5375
5415
|
isExtracting(now) {
|
|
5376
5416
|
return isExtracting(this, now);
|
|
5377
5417
|
}
|
|
5418
|
+
get hasEngines() {
|
|
5419
|
+
return this.engines !== undefined;
|
|
5420
|
+
}
|
|
5421
|
+
get hasGenerator() {
|
|
5422
|
+
return this.generator !== undefined;
|
|
5423
|
+
}
|
|
5378
5424
|
get hasExtractor() {
|
|
5379
5425
|
return this.extractor !== undefined;
|
|
5380
5426
|
}
|
|
@@ -5777,11 +5823,7 @@ class ActionsManager extends BaseManager {
|
|
|
5777
5823
|
});
|
|
5778
5824
|
}
|
|
5779
5825
|
craft(entityType, entityId, recipeId, quantity, inputs) {
|
|
5780
|
-
const cargoInputs = inputs.map((i) => Types.cargo_item.from(
|
|
5781
|
-
item_id: UInt16.from(i.itemId),
|
|
5782
|
-
quantity: UInt32.from(i.quantity),
|
|
5783
|
-
seed: i.seed !== undefined ? UInt64.from(i.seed) : null,
|
|
5784
|
-
}));
|
|
5826
|
+
const cargoInputs = inputs.map((i) => Types.cargo_item.from(i));
|
|
5785
5827
|
return this.server.action('craft', {
|
|
5786
5828
|
entity_type: entityType,
|
|
5787
5829
|
id: UInt64.from(entityId),
|
|
@@ -5790,6 +5832,14 @@ class ActionsManager extends BaseManager {
|
|
|
5790
5832
|
inputs: cargoInputs,
|
|
5791
5833
|
});
|
|
5792
5834
|
}
|
|
5835
|
+
blend(entityType, entityId, inputs) {
|
|
5836
|
+
const cargoInputs = inputs.map((i) => Types.cargo_item.from(i));
|
|
5837
|
+
return this.server.action('blend', {
|
|
5838
|
+
entity_type: entityType,
|
|
5839
|
+
id: UInt64.from(entityId),
|
|
5840
|
+
inputs: cargoInputs,
|
|
5841
|
+
});
|
|
5842
|
+
}
|
|
5793
5843
|
deploy(entityType, entityId, packedItemId, seed, entityName) {
|
|
5794
5844
|
return this.server.action('deploy', {
|
|
5795
5845
|
entity_type: entityType,
|
|
@@ -5799,6 +5849,23 @@ class ActionsManager extends BaseManager {
|
|
|
5799
5849
|
entity_name: entityName,
|
|
5800
5850
|
});
|
|
5801
5851
|
}
|
|
5852
|
+
addmodule(entityType, entityId, moduleIndex, moduleCargoId, targetCargoId = UInt64.from(0)) {
|
|
5853
|
+
return this.server.action('addmodule', {
|
|
5854
|
+
entity_type: entityType,
|
|
5855
|
+
entity_id: UInt64.from(entityId),
|
|
5856
|
+
module_index: moduleIndex,
|
|
5857
|
+
module_cargo_id: UInt64.from(moduleCargoId),
|
|
5858
|
+
target_cargo_id: UInt64.from(targetCargoId),
|
|
5859
|
+
});
|
|
5860
|
+
}
|
|
5861
|
+
rmmodule(entityType, entityId, moduleIndex, targetCargoId = UInt64.from(0)) {
|
|
5862
|
+
return this.server.action('rmmodule', {
|
|
5863
|
+
entity_type: entityType,
|
|
5864
|
+
entity_id: UInt64.from(entityId),
|
|
5865
|
+
module_index: moduleIndex,
|
|
5866
|
+
target_cargo_id: UInt64.from(targetCargoId),
|
|
5867
|
+
});
|
|
5868
|
+
}
|
|
5802
5869
|
joinGame(account, companyName) {
|
|
5803
5870
|
return [this.foundCompany(account, companyName), this.join(account)];
|
|
5804
5871
|
}
|
|
@@ -5939,26 +6006,34 @@ class Shipload {
|
|
|
5939
6006
|
}
|
|
5940
6007
|
|
|
5941
6008
|
function makeShip(state) {
|
|
5942
|
-
const
|
|
6009
|
+
const info = {
|
|
5943
6010
|
type: Name.from('ship'),
|
|
5944
6011
|
id: UInt64.from(state.id),
|
|
5945
6012
|
owner: Name.from(state.owner),
|
|
5946
6013
|
entity_name: state.name,
|
|
5947
6014
|
coordinates: Types.coordinates.from(state.coordinates),
|
|
5948
|
-
hullmass: UInt32.from(state.hullmass),
|
|
5949
|
-
capacity: UInt32.from(state.capacity),
|
|
5950
|
-
energy: UInt16.from(state.energy),
|
|
5951
6015
|
cargomass: UInt32.from(0),
|
|
5952
6016
|
cargo: state.cargo || [],
|
|
5953
6017
|
is_idle: !state.schedule,
|
|
5954
6018
|
current_task_elapsed: UInt32.from(0),
|
|
5955
6019
|
current_task_remaining: UInt32.from(0),
|
|
5956
6020
|
pending_tasks: [],
|
|
5957
|
-
|
|
5958
|
-
|
|
5959
|
-
|
|
5960
|
-
|
|
5961
|
-
|
|
6021
|
+
};
|
|
6022
|
+
if (state.hullmass !== undefined)
|
|
6023
|
+
info.hullmass = UInt32.from(state.hullmass);
|
|
6024
|
+
if (state.capacity !== undefined)
|
|
6025
|
+
info.capacity = UInt32.from(state.capacity);
|
|
6026
|
+
if (state.energy !== undefined)
|
|
6027
|
+
info.energy = UInt16.from(state.energy);
|
|
6028
|
+
if (state.engines)
|
|
6029
|
+
info.engines = state.engines;
|
|
6030
|
+
if (state.generator)
|
|
6031
|
+
info.generator = state.generator;
|
|
6032
|
+
if (state.loaders)
|
|
6033
|
+
info.loaders = state.loaders;
|
|
6034
|
+
if (state.schedule)
|
|
6035
|
+
info.schedule = state.schedule;
|
|
6036
|
+
const entityInfo = Types.entity_info.from(info);
|
|
5962
6037
|
return new Ship(entityInfo);
|
|
5963
6038
|
}
|
|
5964
6039
|
function makeWarehouse(state) {
|
|
@@ -6197,9 +6272,53 @@ function resolveStats(category, stats) {
|
|
|
6197
6272
|
};
|
|
6198
6273
|
}
|
|
6199
6274
|
|
|
6275
|
+
const ITEM_ENGINE_T1 = 10006;
|
|
6276
|
+
const ITEM_GENERATOR_T1 = 10007;
|
|
6277
|
+
const ITEM_EXTRACTOR_T1 = 10014;
|
|
6278
|
+
const ITEM_LOADER_T1 = 10015;
|
|
6279
|
+
const ITEM_MANUFACTURING_T1 = 10016;
|
|
6280
|
+
const MODULE_ANY = 0;
|
|
6281
|
+
const MODULE_ENGINE = 1;
|
|
6282
|
+
const MODULE_GENERATOR = 2;
|
|
6283
|
+
const MODULE_EXTRACTOR = 3;
|
|
6284
|
+
const MODULE_LOADER = 4;
|
|
6285
|
+
const MODULE_WARP = 5;
|
|
6286
|
+
const MODULE_CRAFTER = 6;
|
|
6287
|
+
const MODULE_LAUNCHER = 7;
|
|
6288
|
+
function moduleAccepts(slotType, moduleType) {
|
|
6289
|
+
return slotType === MODULE_ANY || slotType === moduleType;
|
|
6290
|
+
}
|
|
6291
|
+
function getModuleCapabilityType(itemId) {
|
|
6292
|
+
switch (itemId) {
|
|
6293
|
+
case ITEM_ENGINE_T1:
|
|
6294
|
+
return MODULE_ENGINE;
|
|
6295
|
+
case ITEM_GENERATOR_T1:
|
|
6296
|
+
return MODULE_GENERATOR;
|
|
6297
|
+
case ITEM_EXTRACTOR_T1:
|
|
6298
|
+
return MODULE_EXTRACTOR;
|
|
6299
|
+
case ITEM_LOADER_T1:
|
|
6300
|
+
return MODULE_LOADER;
|
|
6301
|
+
case ITEM_MANUFACTURING_T1:
|
|
6302
|
+
return MODULE_CRAFTER;
|
|
6303
|
+
default:
|
|
6304
|
+
return 0xff;
|
|
6305
|
+
}
|
|
6306
|
+
}
|
|
6307
|
+
function isModuleItem(itemId) {
|
|
6308
|
+
return getModuleCapabilityType(itemId) !== 0xff;
|
|
6309
|
+
}
|
|
6310
|
+
|
|
6311
|
+
const ITEM_DRILL_SHAFT = 10009;
|
|
6312
|
+
const ITEM_EXTRACTION_PROBE = 10010;
|
|
6313
|
+
const ITEM_CARGO_ARM = 10011;
|
|
6314
|
+
const ITEM_TOOL_BIT = 10012;
|
|
6315
|
+
const ITEM_REACTION_CHAMBER = 10013;
|
|
6200
6316
|
const ITEM_HULL_PLATES = 10001;
|
|
6201
6317
|
const ITEM_CARGO_LINING = 10002;
|
|
6202
6318
|
const ITEM_CONTAINER_PACKED = 10003;
|
|
6319
|
+
const ITEM_THRUSTER_CORE = 10004;
|
|
6320
|
+
const ITEM_POWER_CELL = 10005;
|
|
6321
|
+
const ITEM_SHIP_T1_PACKED = 10008;
|
|
6203
6322
|
const components = [
|
|
6204
6323
|
{
|
|
6205
6324
|
id: ITEM_HULL_PLATES,
|
|
@@ -6211,8 +6330,8 @@ const components = [
|
|
|
6211
6330
|
{ key: 'strength', source: 'metal' },
|
|
6212
6331
|
{ key: 'density', source: 'metal' },
|
|
6213
6332
|
],
|
|
6214
|
-
recipe: [{ category: 'metal', quantity:
|
|
6215
|
-
usedIn: [{ type: 'entity', name: 'Container' }],
|
|
6333
|
+
recipe: [{ category: 'metal', quantity: 15 }],
|
|
6334
|
+
usedIn: [{ type: 'entity', name: 'Container' }, { type: 'entity', name: 'Ship T1' }],
|
|
6216
6335
|
},
|
|
6217
6336
|
{
|
|
6218
6337
|
id: ITEM_CARGO_LINING,
|
|
@@ -6225,10 +6344,101 @@ const components = [
|
|
|
6225
6344
|
{ key: 'purity', source: 'organic' },
|
|
6226
6345
|
],
|
|
6227
6346
|
recipe: [
|
|
6228
|
-
{ category: 'precious', quantity:
|
|
6229
|
-
{ category: 'organic', quantity:
|
|
6347
|
+
{ category: 'precious', quantity: 6 },
|
|
6348
|
+
{ category: 'organic', quantity: 14 },
|
|
6230
6349
|
],
|
|
6231
|
-
usedIn: [{ type: 'entity', name: 'Container' }],
|
|
6350
|
+
usedIn: [{ type: 'entity', name: 'Container' }, { type: 'entity', name: 'Ship T1' }],
|
|
6351
|
+
},
|
|
6352
|
+
{
|
|
6353
|
+
id: ITEM_THRUSTER_CORE,
|
|
6354
|
+
name: 'Thruster Core',
|
|
6355
|
+
description: 'High-energy propulsion component formed from volatile gases.',
|
|
6356
|
+
color: '#E86344',
|
|
6357
|
+
mass: 50000,
|
|
6358
|
+
stats: [
|
|
6359
|
+
{ key: 'volatility', source: 'gas' },
|
|
6360
|
+
{ key: 'thermal', source: 'gas' },
|
|
6361
|
+
],
|
|
6362
|
+
recipe: [{ category: 'gas', quantity: 32 }],
|
|
6363
|
+
usedIn: [{ type: 'module', name: 'Engine' }],
|
|
6364
|
+
},
|
|
6365
|
+
{
|
|
6366
|
+
id: ITEM_POWER_CELL,
|
|
6367
|
+
name: 'Power Cell',
|
|
6368
|
+
description: 'Crystalline energy storage matrix formed from resonant minerals.',
|
|
6369
|
+
color: '#7B5AE8',
|
|
6370
|
+
mass: 30000,
|
|
6371
|
+
stats: [
|
|
6372
|
+
{ key: 'resonance', source: 'mineral' },
|
|
6373
|
+
{ key: 'clarity', source: 'mineral' },
|
|
6374
|
+
],
|
|
6375
|
+
recipe: [{ category: 'mineral', quantity: 20 }],
|
|
6376
|
+
usedIn: [{ type: 'module', name: 'Generator' }],
|
|
6377
|
+
},
|
|
6378
|
+
{
|
|
6379
|
+
id: ITEM_DRILL_SHAFT,
|
|
6380
|
+
name: 'Drill Shaft',
|
|
6381
|
+
description: 'Heavy-duty metal shaft used in extraction equipment.',
|
|
6382
|
+
color: '#7B8D9E',
|
|
6383
|
+
mass: 50000,
|
|
6384
|
+
stats: [
|
|
6385
|
+
{ key: 'strength', source: 'metal' },
|
|
6386
|
+
{ key: 'tolerance', source: 'metal' },
|
|
6387
|
+
],
|
|
6388
|
+
recipe: [{ category: 'metal', quantity: 15 }],
|
|
6389
|
+
usedIn: [{ type: 'module', name: 'Extractor' }],
|
|
6390
|
+
},
|
|
6391
|
+
{
|
|
6392
|
+
id: ITEM_EXTRACTION_PROBE,
|
|
6393
|
+
name: 'Extraction Probe',
|
|
6394
|
+
description: 'Precious metal sensor array for deep resource detection.',
|
|
6395
|
+
color: '#D4A843',
|
|
6396
|
+
mass: 30000,
|
|
6397
|
+
stats: [
|
|
6398
|
+
{ key: 'conductivity', source: 'precious' },
|
|
6399
|
+
{ key: 'reflectivity', source: 'precious' },
|
|
6400
|
+
],
|
|
6401
|
+
recipe: [{ category: 'precious', quantity: 10 }],
|
|
6402
|
+
usedIn: [{ type: 'module', name: 'Extractor' }],
|
|
6403
|
+
},
|
|
6404
|
+
{
|
|
6405
|
+
id: ITEM_CARGO_ARM,
|
|
6406
|
+
name: 'Cargo Arm',
|
|
6407
|
+
description: 'Flexible organic composite arm for cargo handling.',
|
|
6408
|
+
color: '#6B8E5A',
|
|
6409
|
+
mass: 30000,
|
|
6410
|
+
stats: [
|
|
6411
|
+
{ key: 'plasticity', source: 'organic' },
|
|
6412
|
+
{ key: 'insulation', source: 'organic' },
|
|
6413
|
+
],
|
|
6414
|
+
recipe: [{ category: 'organic', quantity: 32 }],
|
|
6415
|
+
usedIn: [{ type: 'module', name: 'Loader' }],
|
|
6416
|
+
},
|
|
6417
|
+
{
|
|
6418
|
+
id: ITEM_TOOL_BIT,
|
|
6419
|
+
name: 'Tool Bit',
|
|
6420
|
+
description: 'Dense mineral cutting head for manufacturing operations.',
|
|
6421
|
+
color: '#B8A9C9',
|
|
6422
|
+
mass: 30000,
|
|
6423
|
+
stats: [
|
|
6424
|
+
{ key: 'hardness', source: 'mineral' },
|
|
6425
|
+
{ key: 'clarity', source: 'mineral' },
|
|
6426
|
+
],
|
|
6427
|
+
recipe: [{ category: 'mineral', quantity: 20 }],
|
|
6428
|
+
usedIn: [{ type: 'module', name: 'Manufacturing' }],
|
|
6429
|
+
},
|
|
6430
|
+
{
|
|
6431
|
+
id: ITEM_REACTION_CHAMBER,
|
|
6432
|
+
name: 'Reaction Chamber',
|
|
6433
|
+
description: 'Gas-pressurized vessel for controlled manufacturing reactions.',
|
|
6434
|
+
color: '#7EC8E3',
|
|
6435
|
+
mass: 50000,
|
|
6436
|
+
stats: [
|
|
6437
|
+
{ key: 'reactivity', source: 'gas' },
|
|
6438
|
+
{ key: 'thermal', source: 'gas' },
|
|
6439
|
+
],
|
|
6440
|
+
recipe: [{ category: 'gas', quantity: 32 }],
|
|
6441
|
+
usedIn: [{ type: 'module', name: 'Manufacturing' }],
|
|
6232
6442
|
},
|
|
6233
6443
|
];
|
|
6234
6444
|
const entityRecipes = [
|
|
@@ -6249,7 +6459,116 @@ const entityRecipes = [
|
|
|
6249
6459
|
{ key: 'purity', sourceComponentId: ITEM_CARGO_LINING, sourceStatKey: 'purity' },
|
|
6250
6460
|
],
|
|
6251
6461
|
},
|
|
6462
|
+
{
|
|
6463
|
+
id: 'ship-t1',
|
|
6464
|
+
name: 'Ship T1',
|
|
6465
|
+
description: 'General-purpose vessel with 5 module slots.',
|
|
6466
|
+
color: '#4AE898',
|
|
6467
|
+
packedItemId: ITEM_SHIP_T1_PACKED,
|
|
6468
|
+
recipe: [
|
|
6469
|
+
{ itemId: ITEM_HULL_PLATES, quantity: 8 },
|
|
6470
|
+
{ itemId: ITEM_CARGO_LINING, quantity: 4 },
|
|
6471
|
+
],
|
|
6472
|
+
stats: [
|
|
6473
|
+
{ key: 'strength', sourceComponentId: ITEM_HULL_PLATES, sourceStatKey: 'strength' },
|
|
6474
|
+
{ key: 'density', sourceComponentId: ITEM_HULL_PLATES, sourceStatKey: 'density' },
|
|
6475
|
+
{ key: 'ductility', sourceComponentId: ITEM_CARGO_LINING, sourceStatKey: 'ductility' },
|
|
6476
|
+
{ key: 'purity', sourceComponentId: ITEM_CARGO_LINING, sourceStatKey: 'purity' },
|
|
6477
|
+
],
|
|
6478
|
+
moduleSlots: [
|
|
6479
|
+
{ type: MODULE_ANY },
|
|
6480
|
+
{ type: MODULE_ANY },
|
|
6481
|
+
{ type: MODULE_ANY },
|
|
6482
|
+
{ type: MODULE_ANY },
|
|
6483
|
+
{ type: MODULE_ANY },
|
|
6484
|
+
],
|
|
6485
|
+
},
|
|
6252
6486
|
];
|
|
6487
|
+
const moduleRecipes = [
|
|
6488
|
+
{
|
|
6489
|
+
id: 'engine-t1',
|
|
6490
|
+
name: 'Engine',
|
|
6491
|
+
description: 'Basic propulsion system. Converts volatile gases into thrust.',
|
|
6492
|
+
color: '#E86344',
|
|
6493
|
+
itemId: ITEM_ENGINE_T1,
|
|
6494
|
+
moduleType: MODULE_ENGINE,
|
|
6495
|
+
recipe: [{ itemId: ITEM_THRUSTER_CORE, quantity: 6 }],
|
|
6496
|
+
stats: [
|
|
6497
|
+
{ key: 'volatility', sourceComponentId: ITEM_THRUSTER_CORE, sourceStatKey: 'volatility' },
|
|
6498
|
+
{ key: 'thermal', sourceComponentId: ITEM_THRUSTER_CORE, sourceStatKey: 'thermal' },
|
|
6499
|
+
],
|
|
6500
|
+
},
|
|
6501
|
+
{
|
|
6502
|
+
id: 'generator-t1',
|
|
6503
|
+
name: 'Generator',
|
|
6504
|
+
description: 'Basic energy system. Stores and recharges energy from resonant minerals.',
|
|
6505
|
+
color: '#7B5AE8',
|
|
6506
|
+
itemId: ITEM_GENERATOR_T1,
|
|
6507
|
+
moduleType: MODULE_GENERATOR,
|
|
6508
|
+
recipe: [{ itemId: ITEM_POWER_CELL, quantity: 5 }],
|
|
6509
|
+
stats: [
|
|
6510
|
+
{ key: 'resonance', sourceComponentId: ITEM_POWER_CELL, sourceStatKey: 'resonance' },
|
|
6511
|
+
{ key: 'clarity', sourceComponentId: ITEM_POWER_CELL, sourceStatKey: 'clarity' },
|
|
6512
|
+
],
|
|
6513
|
+
},
|
|
6514
|
+
{
|
|
6515
|
+
id: 'extractor-t1',
|
|
6516
|
+
name: 'Extractor',
|
|
6517
|
+
description: 'Basic extraction system. Drills and probes for raw resources.',
|
|
6518
|
+
color: '#7B8D9E',
|
|
6519
|
+
itemId: ITEM_EXTRACTOR_T1,
|
|
6520
|
+
moduleType: MODULE_EXTRACTOR,
|
|
6521
|
+
recipe: [
|
|
6522
|
+
{ itemId: ITEM_DRILL_SHAFT, quantity: 4 },
|
|
6523
|
+
{ itemId: ITEM_EXTRACTION_PROBE, quantity: 3 },
|
|
6524
|
+
],
|
|
6525
|
+
stats: [
|
|
6526
|
+
{ key: 'strength', sourceComponentId: ITEM_DRILL_SHAFT, sourceStatKey: 'strength' },
|
|
6527
|
+
{ key: 'tolerance', sourceComponentId: ITEM_DRILL_SHAFT, sourceStatKey: 'tolerance' },
|
|
6528
|
+
{ key: 'reflectivity', sourceComponentId: ITEM_EXTRACTION_PROBE, sourceStatKey: 'reflectivity' },
|
|
6529
|
+
{ key: 'conductivity', sourceComponentId: ITEM_EXTRACTION_PROBE, sourceStatKey: 'conductivity' },
|
|
6530
|
+
{ key: 'reflectivity_drill', sourceComponentId: ITEM_EXTRACTION_PROBE, sourceStatKey: 'reflectivity' },
|
|
6531
|
+
],
|
|
6532
|
+
},
|
|
6533
|
+
{
|
|
6534
|
+
id: 'loader-t1',
|
|
6535
|
+
name: 'Loader',
|
|
6536
|
+
description: 'Basic cargo handling system. Loads and unloads cargo with articulated arms.',
|
|
6537
|
+
color: '#6B8E5A',
|
|
6538
|
+
itemId: ITEM_LOADER_T1,
|
|
6539
|
+
moduleType: MODULE_LOADER,
|
|
6540
|
+
recipe: [
|
|
6541
|
+
{ itemId: ITEM_CARGO_LINING, quantity: 3 },
|
|
6542
|
+
{ itemId: ITEM_CARGO_ARM, quantity: 3 },
|
|
6543
|
+
],
|
|
6544
|
+
stats: [
|
|
6545
|
+
{ key: 'ductility', sourceComponentId: ITEM_CARGO_LINING, sourceStatKey: 'ductility' },
|
|
6546
|
+
{ key: 'plasticity', sourceComponentId: ITEM_CARGO_ARM, sourceStatKey: 'plasticity' },
|
|
6547
|
+
],
|
|
6548
|
+
},
|
|
6549
|
+
{
|
|
6550
|
+
id: 'manufacturing-t1',
|
|
6551
|
+
name: 'Manufacturing',
|
|
6552
|
+
description: 'Basic crafting system. Processes materials using reaction chambers and cutting tools.',
|
|
6553
|
+
color: '#7EC8E3',
|
|
6554
|
+
itemId: ITEM_MANUFACTURING_T1,
|
|
6555
|
+
moduleType: MODULE_CRAFTER,
|
|
6556
|
+
recipe: [
|
|
6557
|
+
{ itemId: ITEM_TOOL_BIT, quantity: 3 },
|
|
6558
|
+
{ itemId: ITEM_REACTION_CHAMBER, quantity: 3 },
|
|
6559
|
+
],
|
|
6560
|
+
stats: [
|
|
6561
|
+
{ key: 'reactivity', sourceComponentId: ITEM_REACTION_CHAMBER, sourceStatKey: 'reactivity' },
|
|
6562
|
+
{ key: 'clarity', sourceComponentId: ITEM_TOOL_BIT, sourceStatKey: 'clarity' },
|
|
6563
|
+
],
|
|
6564
|
+
},
|
|
6565
|
+
];
|
|
6566
|
+
function getModuleRecipe(id) {
|
|
6567
|
+
return moduleRecipes.find((r) => r.id === id);
|
|
6568
|
+
}
|
|
6569
|
+
function getModuleRecipeByItemId(itemId) {
|
|
6570
|
+
return moduleRecipes.find((r) => r.itemId === itemId);
|
|
6571
|
+
}
|
|
6253
6572
|
function getComponentById(id) {
|
|
6254
6573
|
return components.find((c) => c.id === id);
|
|
6255
6574
|
}
|
|
@@ -6267,6 +6586,9 @@ function getAllCraftableItems() {
|
|
|
6267
6586
|
for (const entity of entityRecipes) {
|
|
6268
6587
|
items.push({ type: 'entity', id: entity.id, name: entity.name, description: entity.description, color: entity.color });
|
|
6269
6588
|
}
|
|
6589
|
+
for (const mod of moduleRecipes) {
|
|
6590
|
+
items.push({ type: 'module', id: mod.id, name: mod.name, description: mod.description, color: mod.color });
|
|
6591
|
+
}
|
|
6270
6592
|
return items;
|
|
6271
6593
|
}
|
|
6272
6594
|
function getComponentsForCategory(category) {
|
|
@@ -6290,25 +6612,24 @@ function decodeStats(seed, count) {
|
|
|
6290
6612
|
}
|
|
6291
6613
|
return stats;
|
|
6292
6614
|
}
|
|
6615
|
+
function mapStatsToKeys(seed, statDefs) {
|
|
6616
|
+
const values = decodeStats(seed, statDefs.length);
|
|
6617
|
+
const result = {};
|
|
6618
|
+
for (let i = 0; i < statDefs.length; i++) {
|
|
6619
|
+
result[statDefs[i].key] = values[i];
|
|
6620
|
+
}
|
|
6621
|
+
return result;
|
|
6622
|
+
}
|
|
6293
6623
|
function decodeCraftedItemStats(itemId, seed) {
|
|
6294
6624
|
const comp = getComponentById(itemId);
|
|
6295
|
-
if (comp)
|
|
6296
|
-
|
|
6297
|
-
const result = {};
|
|
6298
|
-
for (let i = 0; i < comp.stats.length; i++) {
|
|
6299
|
-
result[comp.stats[i].key] = values[i];
|
|
6300
|
-
}
|
|
6301
|
-
return result;
|
|
6302
|
-
}
|
|
6625
|
+
if (comp)
|
|
6626
|
+
return mapStatsToKeys(seed, comp.stats);
|
|
6303
6627
|
const entityRecipe = entityRecipes.find((r) => r.packedItemId === itemId);
|
|
6304
|
-
if (entityRecipe)
|
|
6305
|
-
|
|
6306
|
-
|
|
6307
|
-
|
|
6308
|
-
|
|
6309
|
-
}
|
|
6310
|
-
return result;
|
|
6311
|
-
}
|
|
6628
|
+
if (entityRecipe)
|
|
6629
|
+
return mapStatsToKeys(seed, entityRecipe.stats);
|
|
6630
|
+
const moduleRecipe = moduleRecipes.find((r) => r.itemId === itemId);
|
|
6631
|
+
if (moduleRecipe)
|
|
6632
|
+
return mapStatsToKeys(seed, moduleRecipe.stats);
|
|
6312
6633
|
return {};
|
|
6313
6634
|
}
|
|
6314
6635
|
function blendStacks(stacks, statKey) {
|
|
@@ -6321,7 +6642,7 @@ function blendStacks(stacks, statKey) {
|
|
|
6321
6642
|
}
|
|
6322
6643
|
if (totalQty === 0)
|
|
6323
6644
|
return 0;
|
|
6324
|
-
return Math.
|
|
6645
|
+
return Math.floor(weightedSum / totalQty);
|
|
6325
6646
|
}
|
|
6326
6647
|
function computeComponentStats(componentId, categoryStacks) {
|
|
6327
6648
|
const comp = getComponentById(componentId);
|
|
@@ -6348,7 +6669,7 @@ function blendComponentStacks(stacks) {
|
|
|
6348
6669
|
return result;
|
|
6349
6670
|
}
|
|
6350
6671
|
function computeEntityStats(entityRecipeId, componentStacks) {
|
|
6351
|
-
const recipe = getEntityRecipe(entityRecipeId);
|
|
6672
|
+
const recipe = getEntityRecipe(entityRecipeId) ?? getModuleRecipe(entityRecipeId);
|
|
6352
6673
|
if (!recipe)
|
|
6353
6674
|
return [];
|
|
6354
6675
|
const blendedByComponent = {};
|
|
@@ -6361,6 +6682,22 @@ function computeEntityStats(entityRecipeId, componentStacks) {
|
|
|
6361
6682
|
return { key: stat.key, value: Math.max(1, Math.min(999, value)) };
|
|
6362
6683
|
});
|
|
6363
6684
|
}
|
|
6685
|
+
function decodeStackStats(itemId, seed) {
|
|
6686
|
+
if (itemId >= 10000) {
|
|
6687
|
+
return decodeCraftedItemStats(itemId, BigInt(seed.toString()));
|
|
6688
|
+
}
|
|
6689
|
+
const raw = deriveResourceStats(BigInt(seed.toString()));
|
|
6690
|
+
return { stat1: raw.stat1, stat2: raw.stat2, stat3: raw.stat3 };
|
|
6691
|
+
}
|
|
6692
|
+
function blendCargoStacks(itemId, stacks) {
|
|
6693
|
+
const decoded = stacks.map((s) => ({
|
|
6694
|
+
quantity: s.quantity,
|
|
6695
|
+
stats: decodeStackStats(itemId, s.seed),
|
|
6696
|
+
}));
|
|
6697
|
+
const allKeys = Object.keys(decoded[0]?.stats ?? {});
|
|
6698
|
+
const blended = allKeys.map((key) => Math.max(1, Math.min(999, blendStacks(decoded, key))));
|
|
6699
|
+
return UInt64.from(encodeStats(blended));
|
|
6700
|
+
}
|
|
6364
6701
|
|
|
6365
6702
|
function totalCargoMass(cargo) {
|
|
6366
6703
|
return cargo.reduce((sum, c) => {
|
|
@@ -6451,16 +6788,21 @@ function calcLoadDuration(entity, cargoMass) {
|
|
|
6451
6788
|
return UInt32.from(Math.ceil(Number(cargoMass) / totalThrust));
|
|
6452
6789
|
}
|
|
6453
6790
|
|
|
6454
|
-
|
|
6791
|
+
const EXTRACTION_TIME_SCALE = 100;
|
|
6792
|
+
const DEPTH_PENALTY_DIVISOR = 5000;
|
|
6793
|
+
const DRILL_TIME_SCALE = 300;
|
|
6794
|
+
function calc_extraction_duration(extractor, itemMass, quantity, stratum, richness) {
|
|
6455
6795
|
const rate = extractor.rate.toNumber();
|
|
6456
|
-
const efficiency = extractor.efficiency.toNumber();
|
|
6457
6796
|
const drill = extractor.drill.toNumber();
|
|
6458
|
-
|
|
6459
|
-
if (rateProduct === 0)
|
|
6797
|
+
if (rate === 0 || drill === 0 || richness === 0)
|
|
6460
6798
|
return UInt32.from(0);
|
|
6461
|
-
const
|
|
6462
|
-
const
|
|
6463
|
-
|
|
6799
|
+
const massFactor = Math.sqrt(itemMass);
|
|
6800
|
+
const depthPenalty = 1 + stratum / DEPTH_PENALTY_DIVISOR;
|
|
6801
|
+
const richnessMul = richness / 1000;
|
|
6802
|
+
const extractionTime = quantity * massFactor * EXTRACTION_TIME_SCALE * depthPenalty
|
|
6803
|
+
/ (rate * richnessMul);
|
|
6804
|
+
const drillTime = DRILL_TIME_SCALE * Math.log(1 + stratum / drill);
|
|
6805
|
+
return UInt32.from(Math.floor(extractionTime + drillTime));
|
|
6464
6806
|
}
|
|
6465
6807
|
function calc_extraction_energy(extractor, duration) {
|
|
6466
6808
|
const energy = Math.floor((duration * extractor.drain.toNumber()) / PRECISION);
|
|
@@ -6470,6 +6812,310 @@ function calc_extraction_energy(extractor, duration) {
|
|
|
6470
6812
|
function capsHasCrafter(caps) {
|
|
6471
6813
|
return caps.crafter !== undefined;
|
|
6472
6814
|
}
|
|
6815
|
+
function calc_craft_duration(speed, totalInputMass, quantity) {
|
|
6816
|
+
const duration = Math.floor((totalInputMass * quantity) / speed);
|
|
6817
|
+
return UInt32.from(Math.max(duration, 1));
|
|
6818
|
+
}
|
|
6819
|
+
function calc_craft_energy(drain, duration) {
|
|
6820
|
+
return UInt16.from(Math.floor((duration * drain) / PRECISION));
|
|
6821
|
+
}
|
|
6822
|
+
|
|
6823
|
+
const categoryColors = {
|
|
6824
|
+
metal: '#5B9BD5',
|
|
6825
|
+
precious: '#D4A843',
|
|
6826
|
+
gas: '#7EC8E3',
|
|
6827
|
+
mineral: '#B8A9C9',
|
|
6828
|
+
organic: '#6B8E5A',
|
|
6829
|
+
};
|
|
6830
|
+
const tierColors = {
|
|
6831
|
+
t1: '#8b8b8b',
|
|
6832
|
+
t2: '#4ade80',
|
|
6833
|
+
t3: '#818cf8',
|
|
6834
|
+
t4: '#c084fc',
|
|
6835
|
+
t5: '#fbbf24',
|
|
6836
|
+
};
|
|
6837
|
+
const categoryIcons = {
|
|
6838
|
+
metal: '⬡',
|
|
6839
|
+
precious: '◈',
|
|
6840
|
+
gas: '◎',
|
|
6841
|
+
mineral: '◇',
|
|
6842
|
+
organic: '❋',
|
|
6843
|
+
};
|
|
6844
|
+
const componentIcon = '▣';
|
|
6845
|
+
const moduleIcon = '⬢';
|
|
6846
|
+
const itemIcons = {
|
|
6847
|
+
10001: 'HP',
|
|
6848
|
+
10002: 'CL',
|
|
6849
|
+
10003: 'CT',
|
|
6850
|
+
10004: 'TC',
|
|
6851
|
+
10005: 'PC',
|
|
6852
|
+
10006: 'EN',
|
|
6853
|
+
10007: 'GN',
|
|
6854
|
+
10008: 'SH',
|
|
6855
|
+
10009: 'DS',
|
|
6856
|
+
10010: 'EP',
|
|
6857
|
+
10011: 'CA',
|
|
6858
|
+
10012: 'TB',
|
|
6859
|
+
10013: 'RC',
|
|
6860
|
+
10014: 'EX',
|
|
6861
|
+
10015: 'LD',
|
|
6862
|
+
10016: 'MF',
|
|
6863
|
+
};
|
|
6864
|
+
|
|
6865
|
+
function computeShipHullCapabilities(stats) {
|
|
6866
|
+
const density = stats.density ?? 500;
|
|
6867
|
+
const strength = stats.strength ?? 500;
|
|
6868
|
+
const ductility = stats.ductility ?? 500;
|
|
6869
|
+
const purity = stats.purity ?? 500;
|
|
6870
|
+
const hullmass = 25000 + 75 * density;
|
|
6871
|
+
const statSum = strength + ductility + purity;
|
|
6872
|
+
const exponent = statSum / 2997.0;
|
|
6873
|
+
const capacity = Math.floor(1000000 * Math.pow(10, exponent));
|
|
6874
|
+
return { hullmass, capacity };
|
|
6875
|
+
}
|
|
6876
|
+
function computeEngineCapabilities(stats) {
|
|
6877
|
+
const vol = stats.volatility ?? 500;
|
|
6878
|
+
const thm = stats.thermal ?? 500;
|
|
6879
|
+
return {
|
|
6880
|
+
thrust: 400 + Math.floor(vol * 3 / 4),
|
|
6881
|
+
drain: Math.max(16, 30 - Math.floor(thm / 70)),
|
|
6882
|
+
};
|
|
6883
|
+
}
|
|
6884
|
+
function computeGeneratorCapabilities(stats) {
|
|
6885
|
+
const res = stats.resonance ?? 500;
|
|
6886
|
+
const clr = stats.clarity ?? 500;
|
|
6887
|
+
return {
|
|
6888
|
+
capacity: 300 + Math.floor(res / 6),
|
|
6889
|
+
recharge: 5 + Math.floor(clr * 15 / 1000),
|
|
6890
|
+
};
|
|
6891
|
+
}
|
|
6892
|
+
function computeExtractorCapabilities(stats) {
|
|
6893
|
+
const str = stats.strength ?? 500;
|
|
6894
|
+
const con = stats.conductivity ?? 500;
|
|
6895
|
+
const ref = stats.reflectivity ?? 500;
|
|
6896
|
+
const tol = stats.tolerance ?? 500;
|
|
6897
|
+
return {
|
|
6898
|
+
rate: 200 + str,
|
|
6899
|
+
drain: Math.max(10, 50 - Math.floor(con / 20)),
|
|
6900
|
+
depth: 200 + Math.floor(tol * 3 / 2),
|
|
6901
|
+
drill: 100 + Math.floor(ref * 4 / 5),
|
|
6902
|
+
};
|
|
6903
|
+
}
|
|
6904
|
+
function computeLoaderCapabilities(stats) {
|
|
6905
|
+
const duc = stats.ductility ?? 500;
|
|
6906
|
+
const pla = stats.plasticity ?? 500;
|
|
6907
|
+
return {
|
|
6908
|
+
mass: Math.max(200, 2000 - Math.floor(duc * 2)),
|
|
6909
|
+
thrust: 1 + Math.floor(pla / 500),
|
|
6910
|
+
quantity: 1,
|
|
6911
|
+
};
|
|
6912
|
+
}
|
|
6913
|
+
function computeManufacturingCapabilities(stats) {
|
|
6914
|
+
const rea = stats.reactivity ?? 500;
|
|
6915
|
+
const clr = stats.clarity ?? 500;
|
|
6916
|
+
return {
|
|
6917
|
+
speed: 100 + Math.floor(rea * 4 / 5),
|
|
6918
|
+
drain: Math.max(5, 30 - Math.floor(clr / 33)),
|
|
6919
|
+
};
|
|
6920
|
+
}
|
|
6921
|
+
|
|
6922
|
+
function toNum(v) {
|
|
6923
|
+
return Number(UInt16.from(v).value.toString());
|
|
6924
|
+
}
|
|
6925
|
+
function toBigSeed(v) {
|
|
6926
|
+
return BigInt(UInt64.from(v).toString());
|
|
6927
|
+
}
|
|
6928
|
+
function resolveResource(id, seed) {
|
|
6929
|
+
const item = getItem(id);
|
|
6930
|
+
const cat = item.category;
|
|
6931
|
+
let stats;
|
|
6932
|
+
if (seed !== undefined) {
|
|
6933
|
+
const derived = deriveResourceStats(toBigSeed(seed));
|
|
6934
|
+
const defs = getStatDefinitions(cat);
|
|
6935
|
+
const values = [derived.stat1, derived.stat2, derived.stat3];
|
|
6936
|
+
stats = defs.map((d, i) => ({
|
|
6937
|
+
key: d.key,
|
|
6938
|
+
label: d.label,
|
|
6939
|
+
abbreviation: d.abbreviation,
|
|
6940
|
+
value: values[i] ?? 0,
|
|
6941
|
+
color: categoryColors[cat],
|
|
6942
|
+
category: cat,
|
|
6943
|
+
inverted: d.inverted,
|
|
6944
|
+
}));
|
|
6945
|
+
}
|
|
6946
|
+
return {
|
|
6947
|
+
itemId: id,
|
|
6948
|
+
name: String(item.name),
|
|
6949
|
+
icon: categoryIcons[cat] ?? '⬡',
|
|
6950
|
+
category: cat,
|
|
6951
|
+
tier: item.tier,
|
|
6952
|
+
mass: Number(item.mass.value.toString()),
|
|
6953
|
+
itemType: 'resource',
|
|
6954
|
+
stats,
|
|
6955
|
+
};
|
|
6956
|
+
}
|
|
6957
|
+
function resolveComponent(id, seed) {
|
|
6958
|
+
const comp = getComponentById(id);
|
|
6959
|
+
let stats;
|
|
6960
|
+
if (seed !== undefined) {
|
|
6961
|
+
const decoded = decodeCraftedItemStats(id, toBigSeed(seed));
|
|
6962
|
+
stats = Object.entries(decoded).map(([key, value]) => {
|
|
6963
|
+
const allDefs = getStatDefinitions('metal')
|
|
6964
|
+
.concat(getStatDefinitions('precious'))
|
|
6965
|
+
.concat(getStatDefinitions('gas'))
|
|
6966
|
+
.concat(getStatDefinitions('mineral'))
|
|
6967
|
+
.concat(getStatDefinitions('organic'));
|
|
6968
|
+
const def = allDefs.find((d) => d.key === key);
|
|
6969
|
+
const statDef = comp.stats.find((s) => s.key === key);
|
|
6970
|
+
const cat = (statDef?.source ?? 'metal');
|
|
6971
|
+
return {
|
|
6972
|
+
key,
|
|
6973
|
+
label: def?.label ?? key,
|
|
6974
|
+
abbreviation: def?.abbreviation ?? key.slice(0, 3).toUpperCase(),
|
|
6975
|
+
value,
|
|
6976
|
+
color: categoryColors[cat],
|
|
6977
|
+
category: cat,
|
|
6978
|
+
inverted: def?.inverted,
|
|
6979
|
+
};
|
|
6980
|
+
});
|
|
6981
|
+
}
|
|
6982
|
+
return {
|
|
6983
|
+
itemId: id,
|
|
6984
|
+
name: comp.name,
|
|
6985
|
+
icon: itemIcons[id] ?? componentIcon,
|
|
6986
|
+
tier: 't1',
|
|
6987
|
+
mass: comp.mass,
|
|
6988
|
+
itemType: 'component',
|
|
6989
|
+
stats,
|
|
6990
|
+
};
|
|
6991
|
+
}
|
|
6992
|
+
function computeCapabilityGroup(moduleType, stats) {
|
|
6993
|
+
switch (moduleType) {
|
|
6994
|
+
case MODULE_ENGINE: {
|
|
6995
|
+
const caps = computeEngineCapabilities(stats);
|
|
6996
|
+
return { capability: 'Engine', attributes: [
|
|
6997
|
+
{ label: 'Thrust', value: caps.thrust },
|
|
6998
|
+
{ label: 'Drain', value: caps.drain },
|
|
6999
|
+
] };
|
|
7000
|
+
}
|
|
7001
|
+
case MODULE_GENERATOR: {
|
|
7002
|
+
const caps = computeGeneratorCapabilities(stats);
|
|
7003
|
+
return { capability: 'Generator', attributes: [
|
|
7004
|
+
{ label: 'Capacity', value: caps.capacity },
|
|
7005
|
+
{ label: 'Recharge', value: caps.recharge },
|
|
7006
|
+
] };
|
|
7007
|
+
}
|
|
7008
|
+
case MODULE_EXTRACTOR: {
|
|
7009
|
+
const caps = computeExtractorCapabilities(stats);
|
|
7010
|
+
return { capability: 'Extractor', attributes: [
|
|
7011
|
+
{ label: 'Rate', value: caps.rate },
|
|
7012
|
+
{ label: 'Drain', value: caps.drain },
|
|
7013
|
+
{ label: 'Depth', value: caps.depth },
|
|
7014
|
+
{ label: 'Drill', value: caps.drill },
|
|
7015
|
+
] };
|
|
7016
|
+
}
|
|
7017
|
+
case MODULE_LOADER: {
|
|
7018
|
+
const caps = computeLoaderCapabilities(stats);
|
|
7019
|
+
return { capability: 'Loader', attributes: [
|
|
7020
|
+
{ label: 'Mass', value: caps.mass },
|
|
7021
|
+
{ label: 'Thrust', value: caps.thrust },
|
|
7022
|
+
{ label: 'Quantity', value: caps.quantity },
|
|
7023
|
+
] };
|
|
7024
|
+
}
|
|
7025
|
+
case MODULE_CRAFTER: {
|
|
7026
|
+
const caps = computeManufacturingCapabilities(stats);
|
|
7027
|
+
return { capability: 'Manufacturing', attributes: [
|
|
7028
|
+
{ label: 'Speed', value: caps.speed },
|
|
7029
|
+
{ label: 'Drain', value: caps.drain },
|
|
7030
|
+
] };
|
|
7031
|
+
}
|
|
7032
|
+
default:
|
|
7033
|
+
return undefined;
|
|
7034
|
+
}
|
|
7035
|
+
}
|
|
7036
|
+
function resolveModule(id, seed) {
|
|
7037
|
+
const recipe = getModuleRecipeByItemId(id);
|
|
7038
|
+
let attributes;
|
|
7039
|
+
if (seed !== undefined) {
|
|
7040
|
+
const stats = decodeCraftedItemStats(id, toBigSeed(seed));
|
|
7041
|
+
const modType = getModuleCapabilityType(id);
|
|
7042
|
+
const group = computeCapabilityGroup(modType, stats);
|
|
7043
|
+
if (group)
|
|
7044
|
+
attributes = [group];
|
|
7045
|
+
}
|
|
7046
|
+
return {
|
|
7047
|
+
itemId: id,
|
|
7048
|
+
name: recipe.name,
|
|
7049
|
+
icon: itemIcons[id] ?? moduleIcon,
|
|
7050
|
+
tier: 't1',
|
|
7051
|
+
mass: 0,
|
|
7052
|
+
itemType: 'module',
|
|
7053
|
+
attributes,
|
|
7054
|
+
};
|
|
7055
|
+
}
|
|
7056
|
+
function resolveEntity(id, seed, modules) {
|
|
7057
|
+
const recipe = getEntityRecipeByItemId(id);
|
|
7058
|
+
let attributes;
|
|
7059
|
+
let moduleSlots;
|
|
7060
|
+
if (seed !== undefined) {
|
|
7061
|
+
const stats = decodeCraftedItemStats(id, toBigSeed(seed));
|
|
7062
|
+
attributes = [];
|
|
7063
|
+
const isShip = recipe.id === 'ship-t1';
|
|
7064
|
+
if (isShip) {
|
|
7065
|
+
const hullCaps = computeShipHullCapabilities(stats);
|
|
7066
|
+
attributes.push({ capability: 'Hull', attributes: [
|
|
7067
|
+
{ label: 'Mass', value: hullCaps.hullmass },
|
|
7068
|
+
{ label: 'Capacity', value: hullCaps.capacity },
|
|
7069
|
+
] });
|
|
7070
|
+
}
|
|
7071
|
+
else {
|
|
7072
|
+
const containerCaps = computeContainerCapabilities(stats);
|
|
7073
|
+
attributes.push({ capability: 'Hull', attributes: [
|
|
7074
|
+
{ label: 'Mass', value: containerCaps.hullmass },
|
|
7075
|
+
{ label: 'Capacity', value: containerCaps.capacity },
|
|
7076
|
+
] });
|
|
7077
|
+
}
|
|
7078
|
+
}
|
|
7079
|
+
if (recipe.moduleSlots) {
|
|
7080
|
+
moduleSlots = recipe.moduleSlots.map((slot, i) => {
|
|
7081
|
+
const mod = modules?.[i];
|
|
7082
|
+
if (mod?.installed) {
|
|
7083
|
+
const modItemId = Number(mod.installed.item_id.value.toString());
|
|
7084
|
+
const modSeed = BigInt(mod.installed.seed.toString());
|
|
7085
|
+
const modStats = decodeCraftedItemStats(modItemId, modSeed);
|
|
7086
|
+
const modType = getModuleCapabilityType(modItemId);
|
|
7087
|
+
const group = computeCapabilityGroup(modType, modStats);
|
|
7088
|
+
const modRecipe = getModuleRecipeByItemId(modItemId);
|
|
7089
|
+
return {
|
|
7090
|
+
name: modRecipe?.name ?? 'Module',
|
|
7091
|
+
installed: true,
|
|
7092
|
+
attributes: group?.attributes,
|
|
7093
|
+
};
|
|
7094
|
+
}
|
|
7095
|
+
return { installed: false };
|
|
7096
|
+
});
|
|
7097
|
+
}
|
|
7098
|
+
return {
|
|
7099
|
+
itemId: id,
|
|
7100
|
+
name: recipe.name,
|
|
7101
|
+
icon: itemIcons[id] ?? componentIcon,
|
|
7102
|
+
tier: 't1',
|
|
7103
|
+
mass: 0,
|
|
7104
|
+
itemType: 'entity',
|
|
7105
|
+
attributes,
|
|
7106
|
+
moduleSlots,
|
|
7107
|
+
};
|
|
7108
|
+
}
|
|
7109
|
+
function resolveItem(itemId, seed, modules) {
|
|
7110
|
+
const id = toNum(itemId);
|
|
7111
|
+
if (isModuleItem(id))
|
|
7112
|
+
return resolveModule(id, seed);
|
|
7113
|
+
if (getComponentById(id))
|
|
7114
|
+
return resolveComponent(id, seed);
|
|
7115
|
+
if (getEntityRecipeByItemId(id))
|
|
7116
|
+
return resolveEntity(id, seed, modules);
|
|
7117
|
+
return resolveResource(id, seed);
|
|
7118
|
+
}
|
|
6473
7119
|
|
|
6474
|
-
export { ActionsManager, COMMIT_ALREADY_SET, COMMIT_CANNOT_MATCH, COMMIT_NOT_SET, COMPANY_NOT_FOUND, CONTAINER_Z, Container, Coordinates, DEPTH_THRESHOLD_T1, DEPTH_THRESHOLD_T2, DEPTH_THRESHOLD_T3, DEPTH_THRESHOLD_T4, DEPTH_THRESHOLD_T5, EPOCH_NON_ZERO, EPOCH_NOT_READY, ERROR_SYSTEM_ALREADY_INITIALIZED, ERROR_SYSTEM_DISABLED, ERROR_SYSTEM_NOT_INITIALIZED, EntitiesManager, EntityInventory, EntityType, EpochsManager, GAME_NOT_FOUND, GAME_SEED_NOT_SET, GameState, INITIAL_CONTAINER_CAPACITY, INITIAL_CONTAINER_HULLMASS,
|
|
7120
|
+
export { ActionsManager, BASE_ORBITAL_MASS, COMMIT_ALREADY_SET, COMMIT_CANNOT_MATCH, COMMIT_NOT_SET, COMPANY_NOT_FOUND, CONTAINER_Z, Container, Coordinates, DEPTH_THRESHOLD_T1, DEPTH_THRESHOLD_T2, DEPTH_THRESHOLD_T3, DEPTH_THRESHOLD_T4, DEPTH_THRESHOLD_T5, EPOCH_NON_ZERO, EPOCH_NOT_READY, ERROR_SYSTEM_ALREADY_INITIALIZED, ERROR_SYSTEM_DISABLED, ERROR_SYSTEM_NOT_INITIALIZED, EntitiesManager, EntityInventory, EntityType, EpochsManager, GAME_NOT_FOUND, GAME_SEED_NOT_SET, GameState, INITIAL_CONTAINER_CAPACITY, INITIAL_CONTAINER_HULLMASS, INITIAL_WAREHOUSE_CAPACITY, INSUFFICIENT_BALANCE, INSUFFICIENT_ITEM_QUANTITY, INSUFFICIENT_ITEM_SUPPLY, INVALID_AMOUNT, ITEM_CARGO_ARM, ITEM_CARGO_LINING, ITEM_CONTAINER_PACKED, ITEM_DOES_NOT_EXIST, ITEM_DRILL_SHAFT, ITEM_ENGINE_T1, ITEM_EXTRACTION_PROBE, ITEM_EXTRACTOR_T1, ITEM_GENERATOR_T1, ITEM_HULL_PLATES, ITEM_LOADER_T1, ITEM_MANUFACTURING_T1, ITEM_NOT_AVAILABLE_AT_LOCATION, ITEM_POWER_CELL, ITEM_REACTION_CHAMBER, ITEM_SHIP_T1_PACKED, ITEM_THRUSTER_CORE, ITEM_TOOL_BIT, InventoryAccessor, Item, LOCATION_MAX_DEPTH, LOCATION_MIN_DEPTH, Location, LocationType, LocationsManager, MAX_ORBITAL_ALTITUDE, MIN_ORBITAL_ALTITUDE, MODULE_ANY, MODULE_CRAFTER, MODULE_ENGINE, MODULE_EXTRACTOR, MODULE_GENERATOR, MODULE_LAUNCHER, MODULE_LOADER, MODULE_WARP, NO_SCHEDULE, PLANET_SUBTYPE_GAS_GIANT, PLANET_SUBTYPE_ICY, PLANET_SUBTYPE_INDUSTRIAL, PLANET_SUBTYPE_OCEAN, PLANET_SUBTYPE_ROCKY, PLANET_SUBTYPE_TERRESTRIAL, PLAYER_ALREADY_JOINED, PLAYER_NOT_FOUND, PRECISION, platform as PlatformContract, Player, PlayersManager, REQUIRES_MORE_THAN_ONE, REQUIRES_POSITIVE_VALUE, SHIP_ALREADY_THERE, SHIP_ALREADY_TRAVELING, SHIP_CANNOT_BUY_TRAVELING, SHIP_CANNOT_CANCEL_TASK, SHIP_CANNOT_UPDATE_TRAVELING, SHIP_CARGO_NOT_LOADED, SHIP_CARGO_NOT_OWNED, SHIP_INVALID_CARGO, SHIP_INVALID_DESTINATION, SHIP_INVALID_TRAVEL_DURATION, SHIP_NOT_ARRIVED, SHIP_NOT_ENOUGH_ENERGY, SHIP_NOT_ENOUGH_ENERGY_CAPACITY, SHIP_NOT_FOUND, SHIP_NOT_IDLE, SHIP_NOT_OWNED, SHIP_NO_COMPLETED_TASKS, SHIP_NO_TASKS_TO_CANCEL, ScheduleAccessor, server as ServerContract, Ship, Shipload, TRAVEL_MAX_DURATION, TaskCancelable, TaskType, WAREHOUSE_ALREADY_AT_LOCATION, WAREHOUSE_CAPACITY_EXCEEDED, WAREHOUSE_NOT_FOUND, WAREHOUSE_Z, Warehouse, availableCapacity$1 as availableCapacity, availableCapacityFromMass, blendCargoStacks, blendComponentStacks, blendStacks, calcCargoMass, calcEnergyUsage, calcLoadDuration, calc_acceleration, calc_craft_duration, calc_craft_energy, calc_energyusage, calc_extraction_duration, calc_extraction_energy, calc_flighttime, calc_loader_acceleration, calc_loader_flighttime, calc_orbital_altitude, calc_rechargetime, calc_ship_acceleration, calc_ship_flighttime, calc_ship_mass, calc_ship_rechargetime, calc_transfer_duration, calculateFlightTime, calculateLoadTimeBreakdown, calculateRefuelingTime, calculateTransferTime, canMove, capsHasCrafter, capsHasExtractor, capsHasLoaders, capsHasMass, capsHasMovement, capsHasStorage, cargoUtils, categoryColors, categoryIcons, componentIcon, components, computeComponentStats, computeContainerCapabilities, computeEngineCapabilities, computeEntityStats, computeExtractorCapabilities, computeGeneratorCapabilities, computeLoaderCapabilities, computeManufacturingCapabilities, computeShipHullCapabilities, coordsToLocationId, createInventoryAccessor, createProjectedEntity, createScheduleAccessor, decodeCraftedItemStats, decodeStats, Shipload as default, depthScaleFactor, deriveLocation, deriveLocationEpoch, deriveLocationSize, deriveLocationStatic, deriveResourceStats, deriveStratum, distanceBetweenCoordinates, distanceBetweenPoints, encodeStats, energyPercent, entityRecipes, estimateDealTravelTime, estimateTravelTime, findNearbyPlanets, getAllCraftableItems, getComponentById, getComponentsForCategory, getComponentsForStat, getCurrentEpoch, getDepthThreshold, getDestinationLocation, getEligibleResources, getEntityRecipe, getEntityRecipeByItemId, getEpochInfo, getFlightOrigin, getItem, getItems, getLocationCandidates, getLocationType, getModuleCapabilityType, getModuleRecipe, getModuleRecipeByItemId, getPositionAt, getResourceTier, getResourceWeight, getStatDefinitions, getStatName, getSystemName, hasEnergy, hasEnergyForDistance$1 as hasEnergyForDistance, hasExtractor, hasLoaders, hasMass, hasSchedule, hasSpace$1 as hasSpace, hasSpaceForMass, hasStorage, hasSystem, hash, hash512, isExtractableLocation, isFull$1 as isFull, isFullFromMass, isModuleItem, itemIcons, itemIds, lerp, makeContainer, makeShip, makeWarehouse, maxTravelDistance, moduleAccepts, moduleIcon, moduleRecipes, needsRecharge, projectEntity, projectEntityAt, resolveItem, resolveStats, rotation, schedule, tierColors, toLocation };
|
|
6475
7121
|
//# sourceMappingURL=shipload.m.js.map
|