@shipload/sdk 1.0.0-next.4 → 1.0.0-next.40
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/lib/shipload.d.ts +2473 -973
- package/lib/shipload.js +11529 -5211
- package/lib/shipload.js.map +1 -1
- package/lib/shipload.m.js +11338 -5162
- package/lib/shipload.m.js.map +1 -1
- package/lib/testing.d.ts +970 -0
- package/lib/testing.js +4013 -0
- package/lib/testing.js.map +1 -0
- package/lib/testing.m.js +4007 -0
- package/lib/testing.m.js.map +1 -0
- package/package.json +15 -2
- package/src/capabilities/craftable.ts +51 -0
- package/src/capabilities/crafting.test.ts +7 -0
- package/src/capabilities/crafting.ts +5 -6
- package/src/capabilities/gathering.test.ts +16 -0
- package/src/capabilities/gathering.ts +35 -18
- package/src/capabilities/index.ts +0 -1
- package/src/capabilities/modules.ts +9 -0
- package/src/capabilities/storage.ts +16 -1
- package/src/contracts/platform.ts +231 -3
- package/src/contracts/server.ts +1021 -481
- package/src/coordinates/address.ts +88 -0
- package/src/coordinates/constants.test.ts +15 -0
- package/src/coordinates/constants.ts +23 -0
- package/src/coordinates/index.ts +15 -0
- package/src/coordinates/memo.test.ts +47 -0
- package/src/coordinates/memo.ts +20 -0
- package/src/coordinates/permutation.ts +77 -0
- package/src/coordinates/regions.ts +48 -0
- package/src/coordinates/sectors.ts +115 -0
- package/src/data/capabilities.ts +12 -5
- package/src/data/capability-formulas.ts +14 -7
- package/src/data/catalog.ts +0 -5
- package/src/data/colors.ts +14 -47
- package/src/data/entities.json +76 -10
- package/src/data/item-ids.ts +18 -12
- package/src/data/items.json +321 -38
- package/src/data/kind-registry.json +109 -0
- package/src/data/kind-registry.ts +165 -0
- package/src/data/metadata.ts +119 -33
- package/src/data/recipes-runtime.ts +3 -23
- package/src/data/recipes.json +238 -117
- package/src/derivation/build-methods.ts +45 -0
- package/src/derivation/capabilities.test.ts +151 -0
- package/src/derivation/capabilities.ts +512 -0
- package/src/derivation/capability-mappings.ts +9 -12
- package/src/derivation/crafting.ts +23 -24
- package/src/derivation/index.ts +25 -2
- package/src/derivation/recipe-usage.test.ts +78 -0
- package/src/derivation/recipe-usage.ts +141 -0
- package/src/derivation/reserve-regen.ts +34 -0
- package/src/derivation/resources.ts +125 -38
- package/src/derivation/rollups.test.ts +55 -0
- package/src/derivation/rollups.ts +56 -0
- package/src/derivation/stars.test.ts +51 -0
- package/src/derivation/stars.ts +15 -0
- package/src/derivation/stats.ts +6 -6
- package/src/derivation/stratum.ts +17 -20
- package/src/derivation/tiers.ts +40 -7
- package/src/derivation/wormhole.ts +136 -0
- package/src/entities/entity.ts +98 -0
- package/src/entities/gamestate.ts +3 -28
- package/src/entities/makers.ts +124 -134
- package/src/entities/slot-multiplier.ts +43 -0
- package/src/errors.ts +12 -16
- package/src/format.ts +26 -4
- package/src/index-module.ts +267 -47
- package/src/managers/actions.ts +528 -95
- package/src/managers/base.ts +6 -2
- package/src/managers/construction-types.ts +80 -0
- package/src/managers/construction.ts +412 -0
- package/src/managers/context.ts +20 -1
- package/src/managers/coordinates.ts +14 -0
- package/src/managers/entities.ts +18 -66
- package/src/managers/epochs.ts +40 -0
- package/src/managers/index.ts +17 -1
- package/src/managers/locations.ts +25 -29
- package/src/managers/nft.test.ts +14 -0
- package/src/managers/nft.ts +70 -0
- package/src/managers/plot.ts +122 -0
- package/src/nft/atomicassets.abi.json +1342 -0
- package/src/nft/atomicassets.ts +237 -0
- package/src/nft/atomicdata.ts +130 -0
- package/src/nft/buildImmutableData.ts +338 -0
- package/src/nft/description.ts +98 -24
- package/src/nft/index.ts +3 -0
- package/src/planner/index.ts +127 -0
- package/src/planner/planner.test.ts +319 -0
- package/src/resolution/describe-module.ts +18 -13
- package/src/resolution/display-name.ts +38 -10
- package/src/resolution/resolve-item.test.ts +37 -0
- package/src/resolution/resolve-item.ts +55 -24
- package/src/scheduling/accessor.ts +68 -22
- package/src/scheduling/availability.ts +108 -0
- package/src/scheduling/cancel.test.ts +348 -0
- package/src/scheduling/cancel.ts +209 -0
- package/src/scheduling/energy.ts +47 -0
- package/src/scheduling/idle-resolve.ts +45 -0
- package/src/scheduling/lane-core.ts +128 -0
- package/src/scheduling/lanes.test.ts +249 -0
- package/src/scheduling/lanes.ts +198 -0
- package/src/scheduling/projection.ts +209 -105
- package/src/scheduling/schedule.ts +241 -104
- package/src/scheduling/task-cargo.ts +46 -0
- package/src/shipload.ts +21 -1
- package/src/subscriptions/manager.ts +229 -142
- package/src/subscriptions/mappers.ts +5 -8
- package/src/subscriptions/types.ts +11 -3
- package/src/testing/catalog-hash.ts +19 -0
- package/src/testing/index.ts +2 -0
- package/src/testing/projection-parity.ts +167 -0
- package/src/travel/reach.ts +23 -0
- package/src/travel/route-planner.ts +196 -0
- package/src/travel/travel.ts +200 -112
- package/src/types/capabilities.ts +29 -6
- package/src/types/entity.ts +3 -3
- package/src/types/index.ts +0 -1
- package/src/types.ts +28 -13
- package/src/utils/cargo.ts +27 -0
- package/src/utils/display-name.ts +70 -0
- package/src/utils/system.ts +36 -24
- package/src/capabilities/loading.ts +0 -8
- package/src/entities/container.ts +0 -108
- package/src/entities/ship-deploy.ts +0 -259
- package/src/entities/ship.ts +0 -204
- package/src/entities/warehouse.ts +0 -119
- package/src/types/entity-traits.ts +0 -69
package/src/contracts/server.ts
CHANGED
|
@@ -13,9 +13,11 @@ import type {
|
|
|
13
13
|
import {
|
|
14
14
|
ABI,
|
|
15
15
|
Blob,
|
|
16
|
+
BlockTimestamp,
|
|
16
17
|
Bytes,
|
|
17
18
|
Checksum256,
|
|
18
19
|
Checksum512,
|
|
20
|
+
ExtendedAsset,
|
|
19
21
|
Int32,
|
|
20
22
|
Int64,
|
|
21
23
|
Name,
|
|
@@ -29,22 +31,45 @@ import {
|
|
|
29
31
|
import type {ActionOptions, ContractArgs, PartialBy, Table} from '@wharfkit/contract'
|
|
30
32
|
import {Contract as BaseContract} from '@wharfkit/contract'
|
|
31
33
|
export const abiBlob = Blob.from(
|
|
32
|
-
'DmVvc2lvOjphYmkvMS4yAhVCX3ZlY3Rvcl9lbnRpdHlfcmVmX0UMZW50aXR5X3JlZltdDWxvY2F0aW9uX3R5cGUFdWludDiEAQlhZGRtb2R1bGUABQtlbnRpdHlfdHlwZQRuYW1lCWVudGl0eV9pZAZ1aW50NjQMbW9kdWxlX2luZGV4BXVpbnQ4D21vZHVsZV9jYXJnb19pZAZ1aW50NjQPdGFyZ2V0X2NhcmdvX2lkBnVpbnQ2NAhhZGRuZXh1cwADCm5leHVzX25hbWUGc3RyaW5nAXgFaW50NjQBeQVpbnQ2NAdhZHZhbmNlAAIGcmV2ZWFsBnN0cmluZwZjb21taXQLY2hlY2tzdW0yNTYFYmxlbmQAAwtlbnRpdHlfdHlwZQRuYW1lAmlkBnVpbnQ2NAZpbnB1dHMMY2FyZ29faXRlbVtdBmNhbmNlbAADC2VudGl0eV90eXBlBG5hbWUCaWQGdWludDY0BWNvdW50BnVpbnQ2NA5jYW5jZWxfcmVzdWx0cwAGCWVudGl0eV9pZAZ1aW50NjQLZW50aXR5X3R5cGUEbmFtZQ9jYW5jZWxsZWRfY291bnQFdWludDgQc2NoZWR1bGVfc3RhcnRlZAt0aW1lX3BvaW50PwtlbnRpdHlncm91cAd1aW50NjQ/DWdyb3VwX21lbWJlcnMWQl92ZWN0b3JfZW50aXR5X3JlZl9FPwpjYXJnb19pdGVtAAQHaXRlbV9pZAZ1aW50MTYIcXVhbnRpdHkGdWludDMyBXN0YXRzBnVpbnQ2NAdtb2R1bGVzDm1vZHVsZV9lbnRyeVtdCWNhcmdvX3JvdwAGAmlkBnVpbnQ2NAllbnRpdHlfaWQGdWludDY0B2l0ZW1faWQGdWludDY0CHF1YW50aXR5BnVpbnQ2NAVzdGF0cwZ1aW50NjQHbW9kdWxlcw5tb2R1bGVfZW50cnlbXQpjYXJnb192aWV3AAUHaXRlbV9pZAZ1aW50MTYIcXVhbnRpdHkGdWludDMyBXN0YXRzBnVpbnQ2NAdtb2R1bGVzDm1vZHVsZV9lbnRyeVtdAmlkBnVpbnQ2NAxjbGFpbXN0YXJ0ZXIAAwdhY2NvdW50BG5hbWUBeAVpbnQ2NAF5BWludDY0CWNsZWFucnN2cAACBWVwb2NoBnVpbnQ2NAhtYXhfcm93cwZ1aW50NjQKY2xlYXJ0YWJsZQADCnRhYmxlX25hbWUEbmFtZQVzY29wZQVuYW1lPwhtYXhfcm93cwd1aW50NjQ/BmNvbW1pdAABBmNvbW1pdAtjaGVja3N1bTI1Ngljb25maWdsb2cAAQZjb25maWcLZ2FtZV9jb25maWcNY29udGFpbmVyX3JvdwAIAmlkBnVpbnQ2NAVvd25lcgRuYW1lBG5hbWUGc3RyaW5nC2Nvb3JkaW5hdGVzC2Nvb3JkaW5hdGVzCGh1bGxtYXNzBnVpbnQzMghjYXBhY2l0eQZ1aW50MzIJY2FyZ29tYXNzBnVpbnQzMghzY2hlZHVsZQlzY2hlZHVsZT8LY29vcmRpbmF0ZXMAAwF4BWludDY0AXkFaW50NjQBegd1aW50MTY/BWNyYWZ0AAULZW50aXR5X3R5cGUEbmFtZQJpZAZ1aW50NjQJcmVjaXBlX2lkBnVpbnQxNghxdWFudGl0eQZ1aW50MzIGaW5wdXRzDGNhcmdvX2l0ZW1bXQ1jcmFmdGVyX3N0YXRzAAIFc3BlZWQGdWludDE2BWRyYWluBnVpbnQxNgxjcmVhdGVlbnRpdHkABQVvd25lcgRuYW1lC2VudGl0eV90eXBlBG5hbWULZW50aXR5X25hbWUGc3RyaW5nAXgFaW50NjQBeQVpbnQ2NAZkZXBsb3kABAtlbnRpdHlfdHlwZQRuYW1lAmlkBnVpbnQ2NA5wYWNrZWRfaXRlbV9pZAZ1aW50MTYFc3RhdHMGdWludDY0CmRlc2NlbnRpdHkABAdpdGVtX2lkBnVpbnQxNgpodWxsX3N0YXRzBnVpbnQ2NAxtb2R1bGVfaXRlbXMIdWludDE2W10MbW9kdWxlX3N0YXRzCHVpbnQ2NFtdBmVuYWJsZQABB2VuYWJsZWQEYm9vbAxlbmVyZ3lfc3RhdHMAAghjYXBhY2l0eQZ1aW50MTYIcmVjaGFyZ2UGdWludDE2FGVudGl0eV9jdXJyZW50X3N0YXRlAAILY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMGZW5lcmd5BnVpbnQxNg9lbnRpdHlfZGVmYXVsdHMAAgt3YXJlaG91c2VfegZ1aW50MTYLY29udGFpbmVyX3oGdWludDE2C2VudGl0eV9pbmZvABkEdHlwZQRuYW1lAmlkBnVpbnQ2NAVvd25lcgRuYW1lC2VudGl0eV9uYW1lBnN0cmluZwtjb29yZGluYXRlcwtjb29yZGluYXRlcwljYXJnb21hc3MGdWludDMyBWNhcmdvDGNhcmdvX3ZpZXdbXQdsb2FkZXJzDWxvYWRlcl9zdGF0cz8HbW9kdWxlcw5tb2R1bGVfZW50cnlbXQZlbmVyZ3kHdWludDE2PwhodWxsbWFzcwd1aW50MzI/B2VuZ2luZXMPbW92ZW1lbnRfc3RhdHM/CWdlbmVyYXRvcg1lbmVyZ3lfc3RhdHM/CGNhcGFjaXR5B3VpbnQzMj8IZ2F0aGVyZXIPZ2F0aGVyZXJfc3RhdHM/BmhhdWxlcg1oYXVsZXJfc3RhdHM/BHdhcnALd2FycF9zdGF0cz8HY3JhZnRlcg5jcmFmdGVyX3N0YXRzPwdpc19pZGxlBGJvb2wMY3VycmVudF90YXNrBXRhc2s/FGN1cnJlbnRfdGFza19lbGFwc2VkBnVpbnQzMhZjdXJyZW50X3Rhc2tfcmVtYWluaW5nBnVpbnQzMg1wZW5kaW5nX3Rhc2tzBnRhc2tbXQdpZGxlX2F0C3RpbWVfcG9pbnQ/CHNjaGVkdWxlCXNjaGVkdWxlPw1lbnRpdHlfbGF5b3V0AAIOZW50aXR5X2l0ZW1faWQGdWludDE2BXNsb3RzCnNsb3RfZGVmW10VZW50aXR5X2xheW91dHNfcmVzdWx0AAEIZW50aXRpZXMPZW50aXR5X2xheW91dFtdCmVudGl0eV9yZWYAAgtlbnRpdHlfdHlwZQRuYW1lCWVudGl0eV9pZAZ1aW50NjQOZW50aXR5X3N1bW1hcnkACAR0eXBlBG5hbWUCaWQGdWludDY0BW93bmVyBG5hbWULZW50aXR5X25hbWUGc3RyaW5nC2Nvb3JkaW5hdGVzC2Nvb3JkaW5hdGVzB2lzX2lkbGUEYm9vbA5yZXNvbHZlZF9jb3VudAZ1aW50MzINcGVuZGluZ19jb3VudAZ1aW50MzIQZW50aXR5X3Rhc2tfaW5mbwAECWVudGl0eV9pZAZ1aW50NjQLZW50aXR5X3R5cGUEbmFtZQp0YXNrX2NvdW50BXVpbnQ4EHNjaGVkdWxlX3N0YXJ0ZWQKdGltZV9wb2ludA9lbnRpdHlncm91cF9yb3cAAgJpZAZ1aW50NjQMcGFydGljaXBhbnRzDGVudGl0eV9yZWZbXQtlbnVtX21lbWJlcgACBXZhbHVlBXVpbnQ4BG5hbWUGc3RyaW5nC2VudW1fcmVzdWx0AAEHbWVtYmVycw1lbnVtX21lbWJlcltdC2dhbWVfY29uZmlnAAMHdmVyc2lvbgZ1aW50MzIIZGVmYXVsdHMPZW50aXR5X2RlZmF1bHRzBWl0ZW1zCml0ZW1fZGVmW10GZ2F0aGVyAAQGc291cmNlCmVudGl0eV9yZWYLZGVzdGluYXRpb24KZW50aXR5X3JlZgdzdHJhdHVtBnVpbnQxNghxdWFudGl0eQZ1aW50MzIOZ2F0aGVyZXJfc3RhdHMABAV5aWVsZAZ1aW50MTYFZHJhaW4GdWludDE2BWRlcHRoBnVpbnQxNgVzcGVlZAZ1aW50MTYJZ2V0Y29uZmlnAAALZ2V0ZW50aXRpZXMAAgVvd25lcgRuYW1lC2VudGl0eV90eXBlBW5hbWU/CWdldGVudGl0eQACC2VudGl0eV90eXBlBG5hbWUJZW50aXR5X2lkBnVpbnQ2NAtnZXRpdGVtZGF0YQAACmdldGl0ZW1pZHMAAAhnZXRpdGVtcwAADGdldGl0ZW10eXBlcwAAC2dldGxvY2F0aW9uAAIBeAVpbnQ2NAF5BWludDY0CmdldGxvY2RhdGEAAgF4BWludDY0AXkFaW50NjQLZ2V0bW9kdHlwZXMAAApnZXRtb2R1bGVzAAAJZ2V0bmVhcmJ5AAMLZW50aXR5X3R5cGUEbmFtZQllbnRpdHlfaWQGdWludDY0CHJlY2hhcmdlBGJvb2wKZ2V0bmZ0aW5mbwAACWdldHBsYXllcgABB2FjY291bnQEbmFtZQlnZXRyZWNpcGUAAQ5vdXRwdXRfaXRlbV9pZAZ1aW50MTYKZ2V0cmVjaXBlcwACC2xvd2VyX2JvdW5kBnVpbnQxNgVsaW1pdAV1aW50OApnZXRyZXNjYXRzAAALZ2V0cmVzZXJ2ZXMAAgF4BWludDY0AXkFaW50NjQMZ2V0cmVzb3VyY2VzAAAIZ2V0c2xvdHMAAApnZXRzdHJhdHVtAAMBeAVpbnQ2NAF5BWludDY0B3N0cmF0dW0GdWludDE2DGdldHN1bW1hcmllcwACBW93bmVyBG5hbWULZW50aXR5X3R5cGUFbmFtZT8LZ3JvdXB0cmF2ZWwABAhlbnRpdGllcwxlbnRpdHlfcmVmW10BeAVpbnQ2NAF5BWludDY0CHJlY2hhcmdlBGJvb2wEaGFzaAABBXZhbHVlBnN0cmluZwdoYXNoNTEyAAEFdmFsdWUGc3RyaW5nDGhhdWxlcl9zdGF0cwADCGNhcGFjaXR5BXVpbnQ4CmVmZmljaWVuY3kGdWludDE2BWRyYWluBnVpbnQxNgRpbml0AAEEc2VlZAtjaGVja3N1bTI1NghpdGVtX2RlZgAFAmlkBnVpbnQxNgRtYXNzBnVpbnQzMgR0eXBlBXVpbnQ4B3N1YnR5cGUFdWludDgEdGllcgV1aW50OAxpdGVtX2lkX3BhaXIAAgJpZAZ1aW50MTYEbmFtZQZzdHJpbmcPaXRlbV9pZHNfcmVzdWx0AAEFaXRlbXMOaXRlbV9pZF9wYWlyW10PaXRlbWRhdGFfcmVzdWx0AAIFaXRlbXMKaXRlbV9kZWZbXQdyZWNpcGVzDnJlY2lwZXNfcmVzdWx0Cml0ZW1zX2luZm8AAQVpdGVtcwppdGVtX2RlZltdBGpvaW4AAQdhY2NvdW50BG5hbWUMbG9hZGVyX3N0YXRzAAMEbWFzcwZ1aW50MzIGdGhydXN0BnVpbnQxNghxdWFudGl0eQV1aW50OBBsb2NhdGlvbl9kZXJpdmVkAAMMc3RhdGljX3Byb3BzD2xvY2F0aW9uX3N0YXRpYwtlcG9jaF9wcm9wcw5sb2NhdGlvbl9lcG9jaARzaXplBnVpbnQxNg5sb2NhdGlvbl9lcG9jaAADBmFjdGl2ZQRib29sBXNlZWQwBXVpbnQ4BXNlZWQxBXVpbnQ4DWxvY2F0aW9uX2luZm8AAgZjb29yZHMLY29vcmRpbmF0ZXMJaXNfc3lzdGVtBGJvb2wMbG9jYXRpb25fcm93AAYCaWQGdWludDY0BW93bmVyBG5hbWULY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMJY2FyZ29tYXNzBnVpbnQzMgVjYXJnbwxjYXJnb19pdGVtW10Ic2NoZWR1bGUJc2NoZWR1bGU/D2xvY2F0aW9uX3N0YXRpYwAFBmNvb3Jkcwtjb29yZGluYXRlcwR0eXBlDWxvY2F0aW9uX3R5cGUHc3VidHlwZQV1aW50OAVzZWVkMAV1aW50OAVzZWVkMQV1aW50OAxtb2R1bGVfZW50cnkAAgR0eXBlBXVpbnQ4CWluc3RhbGxlZA5wYWNrZWRfbW9kdWxlPwttb2R1bGVfaW5mbwAEAmlkBnVpbnQxNgRtYXNzBnVpbnQzMgttb2R1bGVfdHlwZQV1aW50OAR0aWVyBXVpbnQ4Dm1vZHVsZXNfcmVzdWx0AAEHbW9kdWxlcw1tb2R1bGVfaW5mb1tdDm1vdmVtZW50X3N0YXRzAAIGdGhydXN0BnVpbnQzMgVkcmFpbgZ1aW50MTYLbmVhcmJ5X2luZm8ABQpjYW5fdHJhdmVsBGJvb2wHY3VycmVudBRlbnRpdHlfY3VycmVudF9zdGF0ZQlwcm9qZWN0ZWQUZW50aXR5X2N1cnJlbnRfc3RhdGUKbWF4X2VuZXJneQZ1aW50MTYHc3lzdGVtcw9uZWFyYnlfc3lzdGVtW10NbmVhcmJ5X3N5c3RlbQAECGRpc3RhbmNlBnVpbnQ2NAtlbmVyZ3lfY29zdAZ1aW50NjQLZmxpZ2h0X3RpbWUGdWludDMyCGxvY2F0aW9uDWxvY2F0aW9uX2luZm8JbmV4dXNfcm93AAQCaWQGdWludDY0BW93bmVyBG5hbWUEbmFtZQZzdHJpbmcLY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMObmZ0X3NjaGVtYV9kZWYAAgtzY2hlbWFfbmFtZQRuYW1lBmZpZWxkcw5zY2hlbWFfZmllbGRbXRBuZnRfdGVtcGxhdGVfZGVmAAIHaXRlbV9pZAZ1aW50MTYLc2NoZW1hX25hbWUEbmFtZQ1uZnRjb25maWdfcm93AAMHaXRlbV9pZAZ1aW50MTYLdGVtcGxhdGVfaWQFaW50MzILc2NoZW1hX25hbWUEbmFtZQ5uZnRpbmZvX3Jlc3VsdAACB3NjaGVtYXMQbmZ0X3NjaGVtYV9kZWZbXQl0ZW1wbGF0ZXMSbmZ0X3RlbXBsYXRlX2RlZltdBm5vdGlmeQABBWV2ZW50CnRhc2tfZXZlbnQNcGFja2VkX21vZHVsZQACB2l0ZW1faWQGdWludDE2BXN0YXRzBnVpbnQ2NAtwbGF5ZXJfaW5mbwAGBW93bmVyBG5hbWUJaXNfcGxheWVyBGJvb2wMY29tcGFueV9uYW1lBnN0cmluZwpzaGlwX2NvdW50BnVpbnQ2NA93YXJlaG91c2VfY291bnQGdWludDY0D2NvbnRhaW5lcl9jb3VudAZ1aW50NjQKcGxheWVyX3JvdwABBW93bmVyBG5hbWUIcmVjaGFyZ2UAAgtlbnRpdHlfdHlwZQRuYW1lAmlkBnVpbnQ2NAxyZWNpcGVfaW5wdXQABAdpdGVtX2lkBnVpbnQxNghjYXRlZ29yeQV1aW50OAR0aWVyBXVpbnQ4CHF1YW50aXR5BnVpbnQzMhByZWNpcGVfaXRlbV9pbmZvAAICaWQGdWludDE2BG1hc3MGdWludDMyD3JlY2lwZV9yZXNwb25zZQAHDm91dHB1dF9pdGVtX2lkBnVpbnQxNgtvdXRwdXRfbWFzcwZ1aW50MzIGaW5wdXRzDnJlY2lwZV9pbnB1dFtdCnN0YXRfc2xvdHMUc3RhdF9zbG90X3Jlc3BvbnNlW10NYmxlbmRfd2VpZ2h0cwVieXRlcwtvdXRwdXRfaXRlbRByZWNpcGVfaXRlbV9pbmZvC2lucHV0X2l0ZW1zEnJlY2lwZV9pdGVtX2luZm9bXQ5yZWNpcGVzX3Jlc3VsdAABB3JlY2lwZXMRcmVjaXBlX3Jlc3BvbnNlW10LcmVzZXJ2ZV9yb3cABAJpZAZ1aW50NjQIY29vcmRfaWQGdWludDY0B3N0cmF0dW0GdWludDE2CXJlbWFpbmluZwZ1aW50MzIHcmVzb2x2ZQADC2VudGl0eV90eXBlBG5hbWUCaWQGdWludDY0BWNvdW50B3VpbnQ2ND8PcmVzb2x2ZV9yZXN1bHRzAAYJZW50aXR5X2lkBnVpbnQ2NAtlbnRpdHlfdHlwZQRuYW1lDnJlc29sdmVkX2NvdW50BXVpbnQ4FG5ld19zY2hlZHVsZV9zdGFydGVkC3RpbWVfcG9pbnQ/C2VudGl0eWdyb3VwB3VpbnQ2ND8NZ3JvdXBfbWVtYmVycxZCX3ZlY3Rvcl9lbnRpdHlfcmVmX0U/DXJlc291cmNlX2luZm8ABAJpZAZ1aW50MTYEbWFzcwZ1aW50MzIIY2F0ZWdvcnkFdWludDgEdGllcgV1aW50OA5yZXNvdXJjZV9zdGF0cwADBXN0YXQxBnVpbnQxNgVzdGF0MgZ1aW50MTYFc3RhdDMGdWludDE2EHJlc291cmNlc19yZXN1bHQAAQlyZXNvdXJjZXMPcmVzb3VyY2VfaW5mb1tdCHJtbW9kdWxlAAQLZW50aXR5X3R5cGUEbmFtZQllbnRpdHlfaWQGdWludDY0DG1vZHVsZV9pbmRleAV1aW50OA90YXJnZXRfY2FyZ29faWQGdWludDY0CHJtbmZ0Y2ZnAAEHaXRlbV9pZAZ1aW50MTYEc2FsdAABBHNhbHQGdWludDY0CHNjaGVkdWxlAAIHc3RhcnRlZAp0aW1lX3BvaW50BXRhc2tzBnRhc2tbXQxzY2hlbWFfZmllbGQAAgRuYW1lBnN0cmluZwpmaWVsZF90eXBlBnN0cmluZwxzZXF1ZW5jZV9yb3cAAgNrZXkEbmFtZQV2YWx1ZQZ1aW50NjQJc2V0bmZ0Y2ZnAAMHaXRlbV9pZAZ1aW50MTYLdGVtcGxhdGVfaWQFaW50MzILc2NoZW1hX25hbWUEbmFtZQhzaGlwX3JvdwASAmlkBnVpbnQ2NAVvd25lcgRuYW1lBG5hbWUGc3RyaW5nBXN0YXRzBnVpbnQ2NAtjb29yZGluYXRlcwtjb29yZGluYXRlcwhodWxsbWFzcwd1aW50MzI/CGNhcGFjaXR5B3VpbnQzMj8GZW5lcmd5B3VpbnQxNj8JY2FyZ29tYXNzBnVpbnQzMgdlbmdpbmVzD21vdmVtZW50X3N0YXRzPwlnZW5lcmF0b3INZW5lcmd5X3N0YXRzPwdsb2FkZXJzDWxvYWRlcl9zdGF0cz8IZ2F0aGVyZXIPZ2F0aGVyZXJfc3RhdHM/BHdhcnALd2FycF9zdGF0cz8HY3JhZnRlcg5jcmFmdGVyX3N0YXRzPwZoYXVsZXINaGF1bGVyX3N0YXRzPwdtb2R1bGVzDm1vZHVsZV9lbnRyeVtdCHNjaGVkdWxlCXNjaGVkdWxlPwhzbG90X2RlZgABBHR5cGUFdWludDgKc3Bhd25jYXJnbwADCWVudGl0eV9pZAZ1aW50NjQHaXRlbV9pZAZ1aW50NjQIcXVhbnRpdHkGdWludDY0C3NwYXducGFja2VkAAQJZW50aXR5X2lkBnVpbnQ2NAdpdGVtX2lkBnVpbnQxNgpodWxsX3N0YXRzBnVpbnQ2NAlpbnN0YWxsZWQPcGFja2VkX21vZHVsZVtdC3NwYXduc2VlZGVkAAQJZW50aXR5X2lkBnVpbnQ2NAdpdGVtX2lkBnVpbnQ2NAhxdWFudGl0eQZ1aW50NjQFc3RhdHMGdWludDY0EnN0YXRfc2xvdF9yZXNwb25zZQABB3NvdXJjZXMNc3RhdF9zb3VyY2VbXQtzdGF0X3NvdXJjZQACC2lucHV0X2luZGV4BXVpbnQ4EGlucHV0X3N0YXRfaW5kZXgFdWludDgJc3RhdGVfcm93AAYHZW5hYmxlZARib29sBWVwb2NoBnVpbnQzMgRzYWx0BnVpbnQ2NAVzaGlwcwZ1aW50MzIEc2VlZAtjaGVja3N1bTI1NgZjb21taXQLY2hlY2tzdW0yNTYMc3RyYXR1bV9kYXRhAAIHc3RyYXR1bQxzdHJhdHVtX2luZm8Fc3RhdHMOcmVzb3VyY2Vfc3RhdHMMc3RyYXR1bV9pbmZvAAUHaXRlbV9pZAZ1aW50MTYEc2VlZAZ1aW50NjQIcmljaG5lc3MGdWludDE2B3Jlc2VydmUGdWludDMyC3Jlc2VydmVfbWF4BnVpbnQzMhFzdHJhdHVtX3JlbWFpbmluZwACB3N0cmF0dW0GdWludDE2CXJlbWFpbmluZwZ1aW50MzIEdGFzawAIBHR5cGUFdWludDgIZHVyYXRpb24GdWludDMyCmNhbmNlbGFibGUFdWludDgLY29vcmRpbmF0ZXMMY29vcmRpbmF0ZXM/BWNhcmdvDGNhcmdvX2l0ZW1bXQxlbnRpdHl0YXJnZXQLZW50aXR5X3JlZj8LZW50aXR5Z3JvdXAHdWludDY0PwtlbmVyZ3lfY29zdAd1aW50MTY/CnRhc2tfZXZlbnQACQpldmVudF90eXBlBXVpbnQ4BW93bmVyBG5hbWULZW50aXR5X3R5cGUEbmFtZQllbnRpdHlfaWQGdWludDY0CnRhc2tfaW5kZXgFdWludDgEdGFzawR0YXNrCXN0YXJ0c19hdAp0aW1lX3BvaW50DGNvbXBsZXRlc19hdAp0aW1lX3BvaW50Cm5ld19lbmVyZ3kHdWludDE2Pwx0YXNrX3Jlc3VsdHMAAQhlbnRpdGllcxJlbnRpdHlfdGFza19pbmZvW10IdHJhbnNmZXIABwtzb3VyY2VfdHlwZQRuYW1lCXNvdXJjZV9pZAZ1aW50NjQJZGVzdF90eXBlBG5hbWUHZGVzdF9pZAZ1aW50NjQHaXRlbV9pZAZ1aW50MTYFc3RhdHMGdWludDY0CHF1YW50aXR5BnVpbnQzMgZ0cmF2ZWwABQtlbnRpdHlfdHlwZQRuYW1lAmlkBnVpbnQ2NAF4BWludDY0AXkFaW50NjQIcmVjaGFyZ2UEYm9vbAl0eXBlc19yb3cABAJpZAZ1aW50NjQTZW50aXR5X3N1bW1hcnlfdHlwZQ5lbnRpdHlfc3VtbWFyeRBnYW1lX2NvbmZpZ190eXBlC2dhbWVfY29uZmlnFnN0cmF0dW1fcmVtYWluaW5nX3R5cGURc3RyYXR1bV9yZW1haW5pbmcNd2FyZWhvdXNlX3JvdwALAmlkBnVpbnQ2NAVvd25lcgRuYW1lBG5hbWUGc3RyaW5nBXN0YXRzBnVpbnQ2NAtjb29yZGluYXRlcwtjb29yZGluYXRlcwhodWxsbWFzcwd1aW50MzI/CGNhcGFjaXR5B3VpbnQzMj8JY2FyZ29tYXNzBnVpbnQzMgdsb2FkZXJzDWxvYWRlcl9zdGF0cz8HbW9kdWxlcw5tb2R1bGVfZW50cnlbXQhzY2hlZHVsZQlzY2hlZHVsZT8Ed2FycAAEC2VudGl0eV90eXBlBG5hbWUCaWQGdWludDY0AXgFaW50NjQBeQVpbnQ2NAp3YXJwX3N0YXRzAAEFcmFuZ2UGdWludDMyBHdpcGUAAAx3aXBlc2VxdWVuY2UAAAR3cmFwAAUFb3duZXIEbmFtZQtlbnRpdHlfdHlwZQRuYW1lCWVudGl0eV9pZAZ1aW50NjQIY2FyZ29faWQGdWludDY0CHF1YW50aXR5BnVpbnQ2NDsAAFBRJypTMglhZGRtb2R1bGXHAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBhZGRtb2R1bGUKc3VtbWFyeTogJ0luc3RhbGwgYSBtb2R1bGUgaW50byBhIHNsb3QnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkluc3RhbGwgYSBtb2R1bGUgZnJvbSBjYXJnbyBpbnRvIGEgbW9kdWxlIHNsb3Qgb24gYSBsaXZlIGVudGl0eSBvciBhIHBhY2tlZCBlbnRpdHkgaW4gY2FyZ28uIFRoZSBlbnRpdHkgbXVzdCBiZSBpZGxlIHdpdGggbm8gc2NoZWR1bGVkIHRhc2tzLiBUaGUgbW9kdWxlIHR5cGUgbXVzdCBiZSBjb21wYXRpYmxlIHdpdGggdGhlIHRhcmdldCBzbG90IHR5cGUuIFRoZSBtb2R1bGUgaXRlbSBpcyByZW1vdmVkIGZyb20gY2FyZ28gdXBvbiBpbnN0YWxsYXRpb24uAAAAWHc1UzIIYWRkbmV4dXOnAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBhZGRuZXh1cwpzdW1tYXJ5OiAnQWRkIGEgbmV4dXMgbG9jYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkNyZWF0ZSBhIG5ldyBuZXh1cyBlbnRpdHkgYXQgdGhlIGdpdmVuIGNvb3JkaW5hdGVzLiBOZXh1c2VzIGFyZSBvd25lZCBieSB0aGUgY29udHJhY3QgYW5kIHNlcnZlIGFzIGZpeGVkIGdhdGhlcmluZyBwb2ludHMgd2hlcmUgcGxheWVycyBjYW4gd3JhcCwgdW53cmFwLCBkZXBsb3ksIGFuZCBvdGhlcndpc2UgaW50ZXJhY3Qgd2l0aCBORlQtYmFja2VkIGFzc2V0cy4gUmVxdWlyZXMgY29udHJhY3QgYXV0aG9yaXR5LgAAAEChaXYyB2FkdmFuY2XTAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBhZHZhbmNlCnN1bW1hcnk6ICdBZHZhbmNlIHR1cm4nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkFkdmFuY2UgdGhlIGdhbWUgdG8gdGhlIG5leHQgdHVybi4AAAAAgDRVPAVibGVuZPwCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGJsZW5kCnN1bW1hcnk6ICdCbGVuZCBjYXJnbyBzdGFja3MnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkNvbWJpbmUgbXVsdGlwbGUgY2FyZ28gc3RhY2tzIG9mIHRoZSBzYW1lIGl0ZW0gdHlwZSBpbnRvIGEgc2luZ2xlIHN0YWNrIHdpdGggbmV3IGJsZW5kZWQgc3RhdHMuIEFsbCBpbnB1dCBzdGFja3MgbXVzdCBzaGFyZSB0aGUgc2FtZSBpdGVtIGlkLiBUaGUgb3V0cHV0IHN0YWNrIGhhcyB0aGUgY29tYmluZWQgcXVhbnRpdHkgb2YgYWxsIGlucHV0cy4AAAAARIWmQQZjYW5jZWzCAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjYW5jZWwKc3VtbWFyeTogJ0NhbmNlbCBzY2hlZHVsZWQgdGFza3MnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkNhbmNlbCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiB0YXNrcyBmcm9tIHRoZSBlbmQgb2YgYW4gZW50aXR5J3Mgc2NoZWR1bGUuIFRhc2tzIHRoYXQgYXJlIGltbXV0YWJsZSBhbmQgaW4gcHJvZ3Jlc3MgY2Fubm90IGJlIGNhbmNlbGxlZC5wVb4mY+lMRAxjbGFpbXN0YXJ0ZXKFBC0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjbGFpbXN0YXJ0ZXIKc3VtbWFyeTogJ0RFQlVHOiBjbGFpbSBhIHN0YXJ0ZXIgc2hpcCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKU3Bhd24gYSBwcmUta2l0dGVkIFQxIHN0YXJ0ZXIgc2hpcCBhdCB0aGUgZ2l2ZW4gY29vcmRpbmF0ZXMgZm9yIGEgcmVnaXN0ZXJlZCBwbGF5ZXIuIEF2YWlsYWJsZSBvbmx5IG9uIHRlc3QgZGVwbG95bWVudHMgd2hlcmUgbm8gaW4tZ2FtZSBzaGlwIGVjb25vbXkgeWV0IGV4aXN0cy4gUmVxdWlyZXMgdGhlIGNhbGxlciB0byBiZSBhIGpvaW5lZCBwbGF5ZXIgd2l0aCBubyBleGlzdGluZyBzaGlwczsgdGhlIHJlc3VsdGluZyBzaGlwIGlzIGZpdHRlZCB3aXRoIGEgZ2VuZXJhdG9yLCBlbmdpbmUsIGdhdGhlcmVyLCBjcmFmdGVyLCBhbmQgaGF1bGVyIG1vZHVsZS4AAKgb32lURAljbGVhbnJzdnDsAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjbGVhbnJzdnAKc3VtbWFyeTogJ0NsZWFuIHVwIHBhc3QgZXBvY2ggcmVzZXJ2ZXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkVyYXNlIHJlc2VydmUgdGFibGUgcm93cyBmcm9tIGEgcGFzdCBlcG9jaC4gQ2Fubm90IGNsZWFuIHRoZSBjdXJyZW50IG9yIGZ1dHVyZSBlcG9jaHMuIFRoZSBtYXhfcm93cyBwYXJhbWV0ZXIgY2FwcyB0aGUgbnVtYmVyIG9mIHJvd3MgZXJhc2VkIHBlciBjYWxsIHRvIGxpbWl0IENQVSB1c2FnZS4AgIrH5GtURApjbGVhcnRhYmxlvgEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY2xlYXJ0YWJsZQpzdW1tYXJ5OiAnREVCVUc6IGNsZWFydGFibGUgYWN0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tAAAAAGQnJUUGY29tbWl07AEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY29tbWl0CnN1bW1hcnk6ICdTZXQgY29tbWl0IHZhbHVlJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpTZXQgdGhlIGluaXRpYWwgY29tbWl0IHZhbHVlIGR1cmluZyBnYW1lIGluaXRpYWxpemF0aW9uLgAAYDQytyZFCWNvbmZpZ2xvZ90CLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNvbmZpZ2xvZwpzdW1tYXJ5OiAnTG9nIGdhbWUgY29uZmlndXJhdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW50ZXJuYWwgYWN0aW9uIHRoYXQgbG9ncyB0aGUgY3VycmVudCBnYW1lIGNvbmZpZ3VyYXRpb24uIENhbGxlZCBpbmxpbmUgYWZ0ZXIgaW5pdGlhbGl6YXRpb24gdG8gYnJvYWRjYXN0IGNvbmZpZyB2aWEgYWN0aW9uIHRyYWNlcy4gUmVxdWlyZXMgY29udHJhY3QgYXV0aG9yaXR5LgAAAACAvMxFBWNyYWZ0yAMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY3JhZnQKc3VtbWFyeTogJ0NyYWZ0IGl0ZW1zIGZyb20gYSByZWNpcGUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRyYW5zZm9ybSBjYXJnbyBpdGVtcyBpbnRvIGEgbmV3IGl0ZW0gdXNpbmcgYSByZWNpcGUuIFRoZSBlbnRpdHkgbXVzdCBoYXZlIGEgY3JhZnRlciBtb2R1bGUgaW5zdGFsbGVkLiBDb25zdW1lcyBlbmVyZ3kgYW5kIHNjaGVkdWxlcyBhIGNyYWZ0aW5nIHRhc2sgd2l0aCBkdXJhdGlvbiBiYXNlZCBvbiB0b3RhbCBpbnB1dCBtYXNzIGFuZCBjcmFmdGVyIHNwZWVkLiBJbnB1dCBxdWFudGl0aWVzIG11c3QgZXhhY3RseSBtYXRjaCB0aGUgcmVjaXBlIHJlcXVpcmVtZW50cy7gs8tTqWzURQxjcmVhdGVlbnRpdHm/AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjcmVhdGVlbnRpdHkKc3VtbWFyeTogJ0RFQlVHOiBjcmVhdGUgYW4gZW50aXR5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tAAAAAHgaq0oGZGVwbG957AItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZGVwbG95CnN1bW1hcnk6ICdEZXBsb3kgYSBwYWNrZWQgZW50aXR5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpVbnBhY2sgYSBwYWNrZWQgZW50aXR5IGl0ZW0gKHBhY2tlZCBzaGlwIG9yIHBhY2tlZCBjb250YWluZXIpIGZyb20gY2FyZ28sIHNjaGVkdWxpbmcgYSBkZXBsb3kgdGFzayB0aGF0IGNyZWF0ZXMgdGhlIG5ldyBlbnRpdHkgYXQgdGhlIGRlcGxveWluZyBlbnRpdHkncyBsb2NhdGlvbiB1cG9uIHJlc29sdXRpb24uAIDPLk+FsEoKZGVzY2VudGl0eckDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGRlc2NlbnRpdHkKc3VtbWFyeTogJ0Rlc2NyaWJlIGEgcGFja2VkIGVudGl0eScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgYSBodW1hbi1yZWFkYWJsZSBkZXNjcmlwdGlvbiBzdHJpbmcgZm9yIGEgcGFja2VkIGVudGl0eSwgZGVyaXZlZCBmcm9tIHRoZSBlbnRpdHkgaXRlbSBpZCwgaHVsbCBzdGF0cywgYW5kIHRoZSBsaXN0IG9mIGluc3RhbGxlZCBtb2R1bGUgaXRlbSBpZHMgYW5kIHN0YXRzLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIGFuZCBORlQgcmVuZGVyZXJzIHRvIGRpc3BsYXkgcGFja2VkIGVudGl0aWVzLgAAAACoeMxUBmVuYWJsZd0BLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGVuYWJsZQpzdW1tYXJ5OiAnU2V0IGVuYWJsZWQgc3RhdGUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkVuYWJsZSBvciBkaXNhYmxlIHRoaXMgZ2FtZSBvZiBTaGlwbG9hZC4AAAAAXNWyYQZnYXRoZXKXAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnYXRoZXIKc3VtbWFyeTogJ0dhdGhlciByZXNvdXJjZXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkdhdGhlciByZXNvdXJjZXMgYXQgdGhlIHNoaXAncyBjdXJyZW50IGxvY2F0aW9uLiBPbmx5IHdvcmtzIGF0IGdhdGhlcmFibGUgbG9jYXRpb24gdHlwZXMuIFNjaGVkdWxlcyBhIGdhdGhlciB0YXNrIHRoYXQgY29uc3VtZXMgZW5lcmd5IGFuZCB5aWVsZHMgY2FyZ28gYmFzZWQgb24gdGhlIHNoaXAncyBnYXRoZXJlciBzdGF0cyBhbmQgdGhlIGxvY2F0aW9uJ3MgcmVzb3VyY2UgY29tcG9zaXRpb24uAABgbk2KsmIJZ2V0Y29uZmlnygItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0Y29uZmlnCnN1bW1hcnk6ICdHZXQgZ2FtZSBjb25maWd1cmF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIHRoZSBnYW1lIGNvbmZpZ3VyYXRpb24gaW5jbHVkaW5nIGRlZmF1bHQgZW50aXR5IHN0YXRzIGZvciB3YXJlaG91c2VzIGFuZCBjb250YWluZXJzLCBhbmQgdGhlIGZ1bGwgaXRlbSBkZWZpbml0aW9ucyB0YWJsZS4AsHLZ5amyYgtnZXRlbnRpdGllc6QCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGVudGl0aWVzCnN1bW1hcnk6ICdHZXQgYWxsIGVudGl0aWVzIGZvciBhIHBsYXllcicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUmV0dXJucyBmdWxsIGVudGl0eSBpbmZvIGZvciBhbGwgZW50aXRpZXMgb3duZWQgYnkgYSBwbGF5ZXIuIE9wdGlvbmFsbHkgZmlsdGVyIGJ5IGVudGl0eSB0eXBlLgAA8NnlqbJiCWdldGVudGl0eaICLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGVudGl0eQpzdW1tYXJ5OiAnR2V0IGVudGl0eSBzdGF0ZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUmV0dXJucyB0aGUgY3VycmVudCBzdGF0ZSBvZiBhbiBlbnRpdHkgaW5jbHVkaW5nIGlkZW50aXR5LCBjYXJnbywgc2NoZWR1bGUgc3RhdGUsIGFuZCB0eXBlLXNwZWNpZmljIGZpZWxkcy4ATDZJquyyYgtnZXRpdGVtZGF0YagDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGl0ZW1kYXRhCnN1bW1hcnk6ICdHZXQgZnVsbCBpdGVtIGNhdGFsb2cnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBjb21wbGV0ZSBpdGVtIGNhdGFsb2cgYXMgdGhlIGNvbnRyYWN0IHNlZXMgaXQsIGluY2x1ZGluZyB0eXBlLCBzdWJ0eXBlLCB0aWVyLCBtYXNzLCBhbmQgb3RoZXIgc3RhdGljIG1ldGFkYXRhLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIGFuZCBjbGllbnRzIHRvIG1pcnJvciB0aGUgY29udHJhY3QncyBpdGVtIGRlZmluaXRpb25zLgAATk6q7LJiCmdldGl0ZW1pZHOGAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRpdGVtaWRzCnN1bW1hcnk6ICdHZXQgaXRlbSBpZCB0byBuYW1lIG1hcHBpbmdzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgZnVsbCBtYXBwaW5nIG9mIGl0ZW0gaWQgY29uc3RhbnRzIHRvIHRoZWlyIGNhbm9uaWNhbCBzdHJpbmcgbmFtZXMuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gcmVzb2x2ZSBudW1lcmljIGl0ZW0gaWRzIHRvIGh1bWFuLXJlYWRhYmxlIGlkZW50aWZpZXJzLgAAAFiq7LJiCGdldGl0ZW1zmgItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0aXRlbXMKc3VtbWFyeTogJ0dldCBhbGwgYXZhaWxhYmxlIGl0ZW1zJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIGEgbGlzdCBvZiBhbGwgaXRlbXMgaW4gdGhlIGdhbWUgaW5jbHVkaW5nIHRoZWlyIGlkLCBiYXNlIHByaWNlLCBhbmQgbWFzcy6AVfVZquyyYgxnZXRpdGVtdHlwZXOIAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRpdGVtdHlwZXMKc3VtbWFyeTogJ0dldCBpdGVtIHR5cGUgZW51bSB2YWx1ZXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBmdWxsIHNldCBvZiBpdGVtIHR5cGUgZW51bSB2YWx1ZXMgYW5kIHRoZWlyIHN0cmluZyBuYW1lcyAocmVzb3VyY2UsIGNvbXBvbmVudCwgbW9kdWxlLCBlbnRpdHkpLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIGRlY29kZSBpdGVtIHR5cGUgaWRlbnRpZmllcnMuACZ12SAas2ILZ2V0bG9jYXRpb27iAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRsb2NhdGlvbgpzdW1tYXJ5OiAnR2V0IGxvY2F0aW9uIGluZm9ybWF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIGluZm9ybWF0aW9uIGFib3V0IGEgbG9jYXRpb24gaW5jbHVkaW5nIHdoZXRoZXIgYSBzeXN0ZW0gZXhpc3RzLCBhbmQgZm9yIGVhY2ggaXRlbTogcHJpY2UsIHN1cHBseSwgcmFyaXR5IG11bHRpcGxpZXIsIGFuZCBsb2NhdGlvbiBtdWx0aXBsaWVyLgCAySYhGrNiCmdldGxvY2RhdGH+Ai0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRsb2NkYXRhCnN1bW1hcnk6ICdHZXQgZGVyaXZlZCBsb2NhdGlvbiBkYXRhJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIGRlcml2ZWQgbG9jYXRpb24gZGF0YSBpbmNsdWRpbmcgc3RhdGljIHByb3BlcnRpZXMgKHR5cGUsIGRpZmZpY3VsdHksIHNlZWRzKSBmcm9tIHRoZSBnYW1lIHNlZWQgYW5kIGVwb2NoLXNwZWNpZmljIHByb3BlcnRpZXMgKGFjdGl2ZSwgc2VlZHMpIGZyb20gdGhlIGN1cnJlbnQgZXBvY2ggc2VlZC4AsKo+JyqzYgtnZXRtb2R0eXBlc9YDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldG1vZHR5cGVzCnN1bW1hcnk6ICdHZXQgbW9kdWxlIHR5cGUgZW51bSB2YWx1ZXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBmdWxsIHNldCBvZiBtb2R1bGUgdHlwZSBlbnVtIHZhbHVlcyBhbmQgdGhlaXIgc3RyaW5nIG5hbWVzIChhbnksIGVuZ2luZSwgZ2VuZXJhdG9yLCBnYXRoZXJlciwgbG9hZGVyLCB3YXJwLCBjcmFmdGVyLCBsYXVuY2hlciwgc3RvcmFnZSwgaGF1bGVyKS4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyB0byBkZWNvZGUgbW9kdWxlIHN1YnR5cGUgaWRlbnRpZmllcnMgYW5kIHNsb3QgY29tcGF0aWJpbGl0eS4AAFZRJyqzYgpnZXRtb2R1bGVzgAMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0bW9kdWxlcwpzdW1tYXJ5OiAnR2V0IGFsbCBtb2R1bGUgaXRlbXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBzdWJzZXQgb2YgaXRlbXMgY2xhc3NpZmllZCBhcyBtb2R1bGVzLCBpbmNsdWRpbmcgZWFjaCBtb2R1bGUncyBpZCwgbWFzcywgc3VidHlwZSwgYW5kIHRpZXIuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gZW51bWVyYXRlIGluc3RhbGxhYmxlIGVxdWlwbWVudC4AAPDnGjWzYglnZXRuZWFyYnneAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRuZWFyYnkKc3VtbWFyeTogJ0dldCBuZWFyYnkgcmVhY2hhYmxlIHN5c3RlbXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIHJldHVybnMgbmVhcmJ5IHN5c3RlbXMgcmVhY2hhYmxlIGJ5IGFuIGVudGl0eSBmcm9tIGl0cyBwcm9qZWN0ZWQgbG9jYXRpb24uIFJldHVybnMgY3VycmVudCBzdGF0ZSAod2l0aCBjb21wbGV0ZWQgdGFza3MgcmVzb2x2ZWQpLCBwcm9qZWN0ZWQgc3RhdGUgKGFmdGVyIGFsbCBzY2hlZHVsZWQgdGFza3MpLCBhbmQgYSBsaXN0IG9mIHJlYWNoYWJsZSBzeXN0ZW1zIHdpdGggZGlzdGFuY2UsIGVuZXJneSBjb3N0LCBmbGlnaHQgdGltZSwgYW5kIG1hcmtldCBpbmZvcm1hdGlvbi4AAF3T5TWzYgpnZXRuZnRpbmZv8AMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0bmZ0aW5mbwpzdW1tYXJ5OiAnR2V0IE5GVCBzY2hlbWEgYW5kIHRlbXBsYXRlIGNvbmZpZ3VyYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBmdWxsIHNldCBvZiBBdG9taWNBc3NldHMgc2NoZW1hcyBhbmQgdGVtcGxhdGVzIHRoZSBnYW1lIGNvbnRyYWN0IGV4cGVjdHMsIHBsdXMgdGhlIGN1cnJlbnQgYGl0ZW1faWQg4oaSICh0ZW1wbGF0ZV9pZCwgc2NoZW1hX25hbWUpYCBtYXBwaW5nIHN0b3JlZCBpbiB0aGUgYG5mdGNvbmZpZ2AgdGFibGUuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gc3luYyBhdG9taWNhc3NldHMgc3RhdGUgd2l0aCB0aGUgY29udHJhY3QuAAC4yptYs2IJZ2V0cGxheWVy/QItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0cGxheWVyCnN1bW1hcnk6ICdHZXQgcGxheWVyIGluZm9ybWF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIGluZm9ybWF0aW9uIGFib3V0IGEgcGxheWVyIGluY2x1ZGluZyBiYWxhbmNlLCBkZWJ0LCBuZXR3b3J0aCwgZW50aXR5IGNvdW50cywgYW5kIHByaWNpbmcgZm9yIG5leHQgcHVyY2hhc2VzLiBSZXR1cm5zIGlzX3BsYXllcj1mYWxzZSBpZiB0aGUgYWNjb3VudCBoYXMgbm90IGpvaW5lZCB0aGUgZ2FtZS4AAFDVIXWzYglnZXRyZWNpcGWmAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRyZWNpcGUKc3VtbWFyeTogJ0dldCBhIHNpbmdsZSBjcmFmdGluZyByZWNpcGUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSByZWNpcGUgd2hvc2Ugb3V0cHV0IG1hdGNoZXMgdGhlIGdpdmVuIGl0ZW0gaWQsIGluY2x1ZGluZyBpdHMgaW5wdXRzLCBibGVuZCB3ZWlnaHRzLCBzdGF0IHNsb3RzLCBhbmQgcmVzb2x2ZWQgaXRlbSBtYXNzIGluZm8uIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gZGlzcGxheSBjcmFmdGluZyByZXF1aXJlbWVudHMuAABW1SF1s2IKZ2V0cmVjaXBlc6wDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHJlY2lwZXMKc3VtbWFyeTogJ0xpc3QgY3JhZnRpbmcgcmVjaXBlcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgYSBwYWdpbmF0ZWQgbGlzdCBvZiBjcmFmdGluZyByZWNpcGVzIHN0YXJ0aW5nIGF0IHRoZSBwcm92aWRlZCBsb3dlciBib3VuZCBvdXRwdXQgaXRlbSBpZCwgdXAgdG8gdGhlIHNwZWNpZmllZCBsaW1pdC4gRWFjaCBlbnRyeSBpbmNsdWRlcyBpbnB1dHMsIGJsZW5kIHdlaWdodHMsIHN0YXQgc2xvdHMsIGFuZCByZXNvbHZlZCBpdGVtIG1hc3MgaW5mby4AAM4GYXWzYgpnZXRyZXNjYXRzngMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0cmVzY2F0cwpzdW1tYXJ5OiAnR2V0IHJlc291cmNlIGNhdGVnb3J5IGVudW0gdmFsdWVzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgZnVsbCBzZXQgb2YgcmVzb3VyY2UgY2F0ZWdvcnkgZW51bSB2YWx1ZXMgYW5kIHRoZWlyIHN0cmluZyBuYW1lcyAob3JlLCBnYXMsIHJlZ29saXRoLCBiaW9tYXNzLCBjcnlzdGFsKS4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyB0byBkZWNvZGUgcmVzb3VyY2Ugc3VidHlwZSBpZGVudGlmaWVycy4AsNpXYXWzYgtnZXRyZXNlcnZlc/wDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHJlc2VydmVzCnN1bW1hcnk6ICdHZXQgY3VycmVudCByZXNlcnZlIG1vZGlmaWNhdGlvbnMgYXQgYSBsb2NhdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gcmV0dXJucyB0aGUgY2hhaW4ncyBtb2RpZmljYXRpb25zIHRvIGRlcml2ZWQgcmVzZXJ2ZXMgYXQgdGhlIGdpdmVuIGNvb3JkaW5hdGUgZm9yIHRoZSBjdXJyZW50IGVwb2NoIGFzIGEgbGlzdCBvZiB7c3RyYXR1bSwgcmVtYWluaW5nfSBwYWlycy4gU3RyYXRhIG5vdCBwcmVzZW50IGluIHRoZSByZXNwb25zZSB1c2UgdGhlaXIgZGVyaXZlZCBpbml0aWFsIHJlc2VydmUuIENvbXBvc2Ugd2l0aCBTREsgZGVyaXZhdGlvbiB0byBnZXQgdGhlIGZ1bGwgcGVyLWxvY2F0aW9uIHN0cmF0YSB2aWV3LoAVuppidbNiDGdldHJlc291cmNlc4cDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHJlc291cmNlcwpzdW1tYXJ5OiAnR2V0IGFsbCByZXNvdXJjZSBpdGVtcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgdGhlIHN1YnNldCBvZiBpdGVtcyBjbGFzc2lmaWVkIGFzIHJlc291cmNlcywgaW5jbHVkaW5nIGVhY2ggcmVzb3VyY2UncyBpZCwgbWFzcywgc3VidHlwZSwgYW5kIHRpZXIuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gZW51bWVyYXRlIGdhdGhlcmFibGUgbWF0ZXJpYWxzLgAAADjTiLNiCGdldHNsb3RzuwMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0c2xvdHMKc3VtbWFyeTogJ0dldCBlbnRpdHkgc2xvdCBsYXlvdXRzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgbW9kdWxlIHNsb3QgbGF5b3V0IGZvciBldmVyeSBlbnRpdHkgaXRlbSB0eXBlLCBsaXN0aW5nIHRoZSBvcmRlcmVkIHNsb3QgdHlwZXMgYXZhaWxhYmxlIGZvciBtb2R1bGUgaW5zdGFsbGF0aW9uLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIGRldGVybWluZSB3aGljaCBtb2R1bGUgdHlwZXMgYXJlIGNvbXBhdGlibGUgd2l0aCBhIGdpdmVuIGVudGl0eSBodWxsLgCA1NncjLNiCmdldHN0cmF0dW3SAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRzdHJhdHVtCnN1bW1hcnk6ICdHZXQgcmVzb3VyY2Ugc3RyYXR1bSBkYXRhJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIHJlc291cmNlIHN0cmF0dW0gZGF0YSBmb3IgYSBzcGVjaWZpYyBkZXB0aCBsYXllciBhdCBhIGNvb3JkaW5hdGUsIGluY2x1ZGluZyB0aGUgc3RyYXR1bSBzZWVkIGluZm8gYW5kIGRlcml2ZWQgcmVzb3VyY2Ugc3RhdHMugJW7RkqNs2IMZ2V0c3VtbWFyaWVz6AItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0c3VtbWFyaWVzCnN1bW1hcnk6ICdHZXQgZW50aXR5IHN1bW1hcmllcyBmb3IgYSBwbGF5ZXInCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJldHVybnMgbGlnaHR3ZWlnaHQgc3VtbWFyaWVzIG9mIGFsbCBlbnRpdGllcyBvd25lZCBieSBhIHBsYXllciBpbmNsdWRpbmcgdHlwZSwgaWQsIG93bmVyLCBuYW1lLCBsb2NhdGlvbiwgYW5kIGlkbGUgc3RhdHVzLiBPcHRpb25hbGx5IGZpbHRlciBieSBlbnRpdHkgdHlwZS4Aotrm5qrpZQtncm91cHRyYXZlbJoELS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdyb3VwdHJhdmVsCnN1bW1hcnk6ICdNb3ZlIG11bHRpcGxlIGVudGl0aWVzIHRvZ2V0aGVyJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbml0aWF0ZSBncm91cCB0cmF2ZWwgZm9yIG11bHRpcGxlIGVudGl0aWVzIHRvIGEgZGVzdGluYXRpb24uIEFsbCBlbnRpdGllcyBtdXN0IGJlIGF0IHRoZSBzYW1lIGxvY2F0aW9uIGFuZCBvd25lZCBieSB0aGUgY2FsbGVyLiBBdCBsZWFzdCBvbmUgZW50aXR5IHdpdGggZW5naW5lcyBpcyByZXF1aXJlZCB0byBwcm92aWRlIHRocnVzdC4gRmxpZ2h0IGR1cmF0aW9uIGlzIGNhbGN1bGF0ZWQgZnJvbSBjb21iaW5lZCB0aHJ1c3QgYW5kIHRvdGFsIG1hc3Mgb2YgYWxsIGVudGl0aWVzLiBDcmVhdGVzIGFuIGVudGl0eWdyb3VwIGZvciBhdG9taWMgcmVzb2x1dGlvbiBhbmQgY2FuY2VsbGF0aW9uLgAAAAAA0LBpBGhhc2j4AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBoYXNoCnN1bW1hcnk6ICdDYWxjdWxhdGUgc2hhMjU2IGhhc2gnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkNhbGN1bGF0ZXMgdGhlIHNoYTI1NiBoYXNoIG9mIGEgc3RyaW5nIGJhc2VkIHVzaW5nIHRoZSBnYW1lIHNlZWQuAAAAQITSsGkHaGFzaDUxMvsBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGhhc2g1MTIKc3VtbWFyeTogJ0NhbGN1bGF0ZSBzaGE1MTIgaGFzaCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQ2FsY3VsYXRlcyB0aGUgc2hhNTEyIGhhc2ggb2YgYSBzdHJpbmcgYmFzZWQgdXNpbmcgdGhlIGdhbWUgc2VlZC4AAAAAAJDddARpbml0+gEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogaW5pdApzdW1tYXJ5OiAnSW5pdGlhbGl6ZSBnYW1lIHNlZWQnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkluaXRpYWxpemUgYSB0aGUgZ2FtZXMgc2VlZCBhbmQgc2VlZCB2YWx1ZXMgdG8gYm9vdHN0cmFwIGdhbWUgc3RhdGUuAAAAAAAwHX0Eam9pbsQBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGpvaW4Kc3VtbWFyeTogJ0pvaW4gYSBnYW1lJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpKb2luIGEgZ2FtZSBvZiBTaGlwbG9hZAAAAAD45TKdBm5vdGlmeYoDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IG5vdGlmeQpzdW1tYXJ5OiAnVGFzayBsaWZlY3ljbGUgbm90aWZpY2F0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbnRlcm5hbCBhY3Rpb24gdGhhdCBub3RpZmllcyBlbnRpdHkgb3duZXJzIG9mIHRhc2sgbGlmZWN5Y2xlIGV2ZW50cyAocmVzb2x2ZWQsIGNhbmNlbGxlZCkuIENhbGxlZCBpbmxpbmUgd2hlbiB0YXNrcyBjaGFuZ2Ugc3RhdGUuIFVzZXMgcmVxdWlyZV9yZWNpcGllbnQgdG8gZW5hYmxlIG9mZi1jaGFpbiBtb25pdG9yaW5nIHZpYSBhY3Rpb24gdHJhY2VzLgAAAIpd05C6CHJlY2hhcmdlzQItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogcmVjaGFyZ2UKc3VtbWFyeTogJ1JlY2hhcmdlIHNoaXAgZW5lcmd5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpTY2hlZHVsZSBhIHJlY2hhcmdlIHRhc2sgZm9yIGFuIGVudGl0eSB0byByZXN0b3JlIGVuZXJneSB0byBmdWxsIGNhcGFjaXR5LiBUaGUgcmVjaGFyZ2UgZHVyYXRpb24gZGVwZW5kcyBvbiBjdXJyZW50IGVuZXJneSBsZXZlbCBhbmQgcmVjaGFyZ2UgcmF0ZS4AAABA7UixugdyZXNvbHZl0AMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogcmVzb2x2ZQpzdW1tYXJ5OiAnQ29tcGxldGUgc2NoZWR1bGVkIHRhc2tzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpSZXNvbHZlIGNvbXBsZXRlZCB0YXNrcyBpbiBhbiBlbnRpdHkncyBzY2hlZHVsZSwgYXBwbHlpbmcgdGhlaXIgZWZmZWN0cyAocmVjaGFyZ2UgZW5lcmd5LCB1cGRhdGUgbG9jYXRpb24sIGxvYWQvdW5sb2FkIGNhcmdvKS4gSWYgY291bnQgaXMgc3BlY2lmaWVkLCByZXNvbHZlIGV4YWN0bHkgdGhhdCBtYW55IHRhc2tzOyBvdGhlcndpc2UgcmVzb2x2ZSBhbGwgY29tcGxldGVkIHRhc2tzLiBGYWlscyBpZiBjb3VudCBleGNlZWRzIHRoZSBudW1iZXIgb2YgY29tcGxldGVkIHRhc2tzLgAAACrqRKW8CHJtbW9kdWxlvAMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogcm1tb2R1bGUKc3VtbWFyeTogJ1JlbW92ZSBhIG1vZHVsZSBmcm9tIGEgc2xvdCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUmVtb3ZlIGFuIGluc3RhbGxlZCBtb2R1bGUgZnJvbSBhIHNsb3Qgb24gYSBsaXZlIGVudGl0eSBvciBhIHBhY2tlZCBlbnRpdHkgaW4gY2FyZ28uIFRoZSBlbnRpdHkgbXVzdCBiZSBpZGxlIHdpdGggbm8gc2NoZWR1bGVkIHRhc2tzLiBUaGUgbW9kdWxlIGlzIHJldHVybmVkIHRvIGNhcmdvLiBGYWlscyBpZiB0aGUgZW50aXR5IGRvZXMgbm90IGhhdmUgZW5vdWdoIGNhcmdvIGNhcGFjaXR5IHRvIGhvbGQgdGhlIHJldHVybmVkIG1vZHVsZS4AAABsobymvAhybW5mdGNmZ6EDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHJtbmZ0Y2ZnCnN1bW1hcnk6ICdSZW1vdmUgTkZUIHRlbXBsYXRlIG1hcHBpbmcgZm9yIGFuIGl0ZW0nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJlbW92ZSB0aGUgQXRvbWljQXNzZXRzIHRlbXBsYXRlIG1hcHBpbmcgZm9yIHRoZSBzcGVjaWZpZWQgaXRlbSBpZCBmcm9tIHRoZSBgbmZ0Y29uZmlnYCB0YWJsZS4gQWZ0ZXIgcmVtb3ZhbCB0aGUgaXRlbSBjYW4gbm8gbG9uZ2VyIGJlIHdyYXBwZWQgb3IgdW53cmFwcGVkIHVudGlsIGEgbmV3IG1hcHBpbmcgaXMgc2V0LiBSZXF1aXJlcyBjb250cmFjdCBhdXRob3JpdHkuAAAAAACQo8EEc2FsdNgBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHNhbHQKc3VtbWFyeTogJ0FwcGVuZCBTYWx0JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpBZGQgYWRkaXRpb25hbCBzYWx0IHRvIHRoZSBuZXh0IGVwb2NoIHNlZWQuAABgC+U1s8IJc2V0bmZ0Y2ZnxAMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogc2V0bmZ0Y2ZnCnN1bW1hcnk6ICdTZXQgTkZUIHRlbXBsYXRlIG1hcHBpbmcgZm9yIGFuIGl0ZW0nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkJpbmQgYW4gaXRlbSBpZCB0byBhbiBBdG9taWNBc3NldHMgdGVtcGxhdGUgaWQgYW5kIHNjaGVtYSBuYW1lLiBVc2VkIHRvIGNvbmZpZ3VyZSBob3cgdGhlIGNvbnRyYWN0IG1pbnRzIGFuZCByZWNvZ25pemVzIE5GVHMgZm9yIGEgZ2l2ZW4gaXRlbS4gSW5zZXJ0cyBhIG5ldyBtYXBwaW5nIGlmIG9uZSBkb2VzIG5vdCBleGlzdCwgb3IgdXBkYXRlcyB0aGUgZXhpc3RpbmcgbWFwcGluZy4gUmVxdWlyZXMgY29udHJhY3QgYXV0aG9yaXR5LgAAZdegyU3FCnNwYXduY2FyZ2/FAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBzcGF3bmNhcmdvCnN1bW1hcnk6ICdERUJVRzogc3Bhd24gY2FyZ28gb24gYW4gZW50aXR5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tAJKCyNTJTcULc3Bhd25wYWNrZWTnAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBzcGF3bnBhY2tlZApzdW1tYXJ5OiAnREVCVUc6IHNwYXduIGEgcGFja2VkIGVudGl0eSB3aXRoIGluc3RhbGxlZCBtb2R1bGVzIG9uIGFuIGVudGl0eScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQCSSkrhyU3FC3NwYXduc2VlZGVkzQEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogc3Bhd25zZWVkZWQKc3VtbWFyeTogJ0RFQlVHOiBzcGF3biBzZWVkZWQgY2FyZ28gb24gYW4gZW50aXR5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tAAAAVy08zc0IdHJhbnNmZXLIAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB0cmFuc2ZlcgpzdW1tYXJ5OiAnVHJhbnNmZXIgY2FyZ28gYmV0d2VlbiBlbnRpdGllcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVHJhbnNmZXIgY2FyZ28gYmV0d2VlbiB0d28gZW50aXRpZXMgYXQgdGhlIHNhbWUgbG9jYXRpb24uIEJvdGggZW50aXRpZXMgbXVzdCBiZSBvd25lZCBieSB0aGUgY2FsbGVyIGFuZCBhdCBsZWFzdCBvbmUgbXVzdCBoYXZlIGxvYWRlcnMuIENyZWF0ZXMgbG9hZCBhbmQgdW5sb2FkIHRhc2tzIG9uIGJvdGggZW50aXRpZXMgd2l0aCBkdXJhdGlvbiBiYXNlZCBvbiBjb21iaW5lZCBsb2FkZXIgY2FwYWNpdHkgYW5kIFotZGlzdGFuY2UgYmV0d2VlbiB0aGVtLgAAAABEtc3NBnRyYXZlbPsBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHRyYXZlbApzdW1tYXJ5OiAnTW92ZSBhIHNoaXAnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkluaXRpYXRlIHRyYXZlbCBvZiBhbiBlbnRpdHkgZnJvbSBpdHMgY3VycmVudCBsb2NhdGlvbiB0byBhIG5ldyBkZXN0aW5hdGlvbi4AAAAAAFCv4QR3YXJwnwMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogd2FycApzdW1tYXJ5OiAnV2FycCB0byBhIGRlc3RpbmF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbnN0YW50bHkgdGVsZXBvcnQgYW4gZW50aXR5IHRvIGEgZGVzdGluYXRpb24gc3lzdGVtLiBSZXF1aXJlcyB3YXJwIGNhcGFiaWxpdHksIGZ1bGwgZW5lcmd5LCBlbXB0eSBjYXJnbywgYW5kIGFuIGVtcHR5IHNjaGVkdWxlLiBUaGUgZGVzdGluYXRpb24gbXVzdCBiZSBhIHZhbGlkIHN5c3RlbSB3aXRoaW4gd2FycCByYW5nZS4gUmVzb2x2ZXMgaW1tZWRpYXRlbHkgYXMgYSB6ZXJvLWR1cmF0aW9uIHRhc2suAAAAAACgquMEd2lwZbIBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHdpcGUKc3VtbWFyeTogJ0RFQlVHOiB3aXBlIGFjdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLaDQVNoqrKrjDHdpcGVzZXF1ZW5jZcIBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHdpcGVzZXF1ZW5jZQpzdW1tYXJ5OiAnREVCVUc6IHdpcGVzZXF1ZW5jZSBhY3Rpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0AAAAAAFDN5QR3cmFw/gMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogd3JhcApzdW1tYXJ5OiAnV3JhcCBjYXJnbyBpbnRvIGFuIE5GVCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKV3JhcCBhIHF1YW50aXR5IG9mIGNhcmdvIGZyb20gYW4gZW50aXR5IGludG8gYW4gQXRvbWljQXNzZXRzIE5GVCBtaW50ZWQgdG8gdGhlIHNwZWNpZmllZCBvd25lci4gVGhlIGVudGl0eSBtdXN0IGJlIGF0IGEgbmV4dXMsIGhhdmUgbG9hZGVycywgYW5kIGNvbnRhaW4gZW5vdWdoIG9mIHRoZSByZXF1ZXN0ZWQgY2FyZ28uIFNjaGVkdWxlcyBhIHdyYXAgdGFzayB0aGF0LCBvbiByZXNvbHV0aW9uLCByZW1vdmVzIHRoZSBjYXJnbyBmcm9tIHRoZSBlbnRpdHkgYW5kIG1pbnRzIHRoZSBORlQgdXNpbmcgdGhlIHRlbXBsYXRlIGNvbmZpZ3VyZWQgZm9yIHRoYXQgaXRlbSBpZC4NAAAAAADKrkEDaTY0AAAJY2FyZ29fcm93AAC4ajqTJ0UDaTY0AAANY29udGFpbmVyX3JvdwCqppf57PJUA2k2NAAAD2VudGl0eWdyb3VwX3JvdwAAAJO6bBCNA2k2NAAADGxvY2F0aW9uX3JvdwAAAAAArLuaA2k2NAAACW5leHVzX3JvdwAAYG5NivKaA2k2NAAADW5mdGNvbmZpZ19yb3cAAAAAXOVNrANpNjQAAApwbGF5ZXJfcm93AAAAQO2rsLoDaTY0AAALcmVzZXJ2ZV9yb3cAAAAKTaWtwgNpNjQAAAxzZXF1ZW5jZV9yb3cAAAAAAFBdwwNpNjQAAAhzaGlwX3JvdwAAAAAAlU3GA2k2NAAACXN0YXRlX3JvdwAAAAAArKrPA2k2NAAACXR5cGVzX3JvdwAAUFjTpq7hA2k2NAAADXdhcmVob3VzZV9yb3cBEVNoaXBsb2FkIChTZXJ2ZXIpEVNoaXBsb2FkIChTZXJ2ZXIpAAAAJAAAAABEhaZBDmNhbmNlbF9yZXN1bHRzAAAAAIC8zEUMdGFza19yZXN1bHRzAAAAAHgaq0oMdGFza19yZXN1bHRzAIDPLk+FsEoGc3RyaW5nAAAAAFzVsmEMdGFza19yZXN1bHRzAABgbk2KsmILZ2FtZV9jb25maWcAsHLZ5amyYg1lbnRpdHlfaW5mb1tdAADw2eWpsmILZW50aXR5X2luZm8ATDZJquyyYg9pdGVtZGF0YV9yZXN1bHQAAE5OquyyYg9pdGVtX2lkc19yZXN1bHQAAABYquyyYgppdGVtc19pbmZvgFX1WarssmILZW51bV9yZXN1bHQAJnXZIBqzYg1sb2NhdGlvbl9pbmZvAIDJJiEas2IQbG9jYXRpb25fZGVyaXZlZACwqj4nKrNiC2VudW1fcmVzdWx0AABWUScqs2IObW9kdWxlc19yZXN1bHQAAPDnGjWzYgtuZWFyYnlfaW5mbwAAXdPlNbNiDm5mdGluZm9fcmVzdWx0AAC4yptYs2ILcGxheWVyX2luZm8AAFDVIXWzYg5yZWNpcGVzX3Jlc3VsdAAAVtUhdbNiDnJlY2lwZXNfcmVzdWx0AADOBmF1s2ILZW51bV9yZXN1bHQAsNpXYXWzYhNzdHJhdHVtX3JlbWFpbmluZ1tdgBW6mmJ1s2IQcmVzb3VyY2VzX3Jlc3VsdAAAADjTiLNiFWVudGl0eV9sYXlvdXRzX3Jlc3VsdACA1NncjLNiDHN0cmF0dW1fZGF0YYCVu0ZKjbNiEGVudGl0eV9zdW1tYXJ5W10Aotrm5qrpZQx0YXNrX3Jlc3VsdHMAAAAAANCwaQtjaGVja3N1bTI1NgAAAECE0rBpC2NoZWNrc3VtNTEyAAAAil3TkLoMdGFza19yZXN1bHRzAAAAQO1IsboPcmVzb2x2ZV9yZXN1bHRzAAAAVy08zc0MdGFza19yZXN1bHRzAAAAAES1zc0MdGFza19yZXN1bHRzAAAAAABQr+EMdGFza19yZXN1bHRzAAAAAABQzeUMdGFza19yZXN1bHRz'
|
|
34
|
+
'DmVvc2lvOjphYmkvMS4yAhVCX3ZlY3Rvcl9lbnRpdHlfcmVmX0UMZW50aXR5X3JlZltdDWxvY2F0aW9uX3R5cGUFdWludDi0AQlhZGRtb2R1bGUABAllbnRpdHlfaWQGdWludDY0DG1vZHVsZV9pbmRleAV1aW50OAptb2R1bGVfcmVmCWNhcmdvX3JlZgp0YXJnZXRfcmVmCmNhcmdvX3JlZj8IYWRkbmV4dXMAAwpuZXh1c19uYW1lBnN0cmluZwF4BWludDY0AXkFaW50NjQJYWRkb3JhY2xlAAEJb3JhY2xlX2lkBG5hbWUFYmxlbmQAAgJpZAZ1aW50NjQGaW5wdXRzDGNhcmdvX2l0ZW1bXQlidWlsZHBsb3QAAgpidWlsZGVyX2lkBnVpbnQ2NAdwbG90X2lkBnVpbnQ2NAZjYW5jZWwAAwJpZAZ1aW50NjQIbGFuZV9rZXkFdWludDgFY291bnQGdWludDY0DmNhbmNlbF9yZXN1bHRzAAYJZW50aXR5X2lkBnVpbnQ2NAtlbnRpdHlfdHlwZQRuYW1lD2NhbmNlbGxlZF9jb3VudAV1aW50OBBzY2hlZHVsZV9zdGFydGVkC3RpbWVfcG9pbnQ/C2VudGl0eWdyb3VwB3VpbnQ2ND8NZ3JvdXBfbWVtYmVycxZCX3ZlY3Rvcl9lbnRpdHlfcmVmX0U/CmNhcmdvX2l0ZW0ABQdpdGVtX2lkBnVpbnQxNgVzdGF0cwZ1aW50NjQHbW9kdWxlcw5tb2R1bGVfZW50cnlbXQhxdWFudGl0eQZ1aW50MzIJZW50aXR5X2lkB3VpbnQ2ND8JY2FyZ29fcmVmAAQHaXRlbV9pZAZ1aW50MTYFc3RhdHMGdWludDY0B21vZHVsZXMObW9kdWxlX2VudHJ5W10JZW50aXR5X2lkB3VpbnQ2ND8JY2FyZ29fcm93AAcCaWQGdWludDY0CWVudGl0eV9pZAZ1aW50NjQHaXRlbV9pZAZ1aW50NjQIcXVhbnRpdHkGdWludDY0BXN0YXRzBnVpbnQ2NAdtb2R1bGVzDm1vZHVsZV9lbnRyeVtdC3NlcXVlbmNlX2lkB3VpbnQ2ND8KY2FyZ29fdmlldwAGB2l0ZW1faWQGdWludDE2BXN0YXRzBnVpbnQ2NAdtb2R1bGVzDm1vZHVsZV9lbnRyeVtdCHF1YW50aXR5BnVpbnQzMgJpZAZ1aW50NjQJZW50aXR5X2lkB3VpbnQ2ND8JY2xhaW1fcm93AAEFb3duZXIEbmFtZQljbGFpbXBsb3QAAwpidWlsZGVyX2lkBnVpbnQ2NA50YXJnZXRfaXRlbV9pZAZ1aW50MTYGY29vcmRzC2Nvb3JkaW5hdGVzDGNsYWltc3RhcnRlcgABBW93bmVyBG5hbWUJY2xlYW5yc3ZwAAIFZXBvY2gGdWludDY0CG1heF9yb3dzBnVpbnQ2NApjbGVhcnRhYmxlAAMKdGFibGVfbmFtZQRuYW1lBXNjb3BlBW5hbWU/CG1heF9yb3dzB3VpbnQ2ND8GY29tbWl0AAMJb3JhY2xlX2lkBG5hbWUFZXBvY2gGdWludDY0BmNvbW1pdAtjaGVja3N1bTI1Ngpjb21taXRfcm93AAQCaWQGdWludDY0BWVwb2NoBnVpbnQ2NAlvcmFjbGVfaWQEbmFtZQZjb21taXQLY2hlY2tzdW0yNTYJY29uZmlnbG9nAAEGY29uZmlnC2dhbWVfY29uZmlnC2Nvb3JkaW5hdGVzAAMBeAVpbnQ2NAF5BWludDY0AXoHdWludDE2PwVjcmFmdAAGAmlkBnVpbnQ2NAlyZWNpcGVfaWQGdWludDE2CHF1YW50aXR5BnVpbnQzMgZpbnB1dHMMY2FyZ29faXRlbVtdBnRhcmdldAd1aW50NjQ/BHNsb3QGdWludDg/DGNyYWZ0ZXJfbGFuZQAECnNsb3RfaW5kZXgFdWludDgFc3BlZWQGdWludDE2BWRyYWluBnVpbnQzMgpvdXRwdXRfcGN0BnVpbnQxNghkZW1vbGlzaAABCWVudGl0eV9pZAZ1aW50NjQGZGVwbG95AAICaWQGdWludDY0A3JlZgljYXJnb19yZWYKZGVzY2VudGl0eQAEB2l0ZW1faWQGdWludDE2Cmh1bGxfc3RhdHMGdWludDY0DG1vZHVsZV9pdGVtcwh1aW50MTZbXQxtb2R1bGVfc3RhdHMIdWludDY0W10GZW5hYmxlAAEHZW5hYmxlZARib29sDGVuZXJneV9zdGF0cwACCGNhcGFjaXR5BnVpbnQzMghyZWNoYXJnZQZ1aW50MzIUZW50aXR5X2N1cnJlbnRfc3RhdGUAAgtjb29yZGluYXRlcwtjb29yZGluYXRlcwZlbmVyZ3kGdWludDMyD2VudGl0eV9kZWZhdWx0cwACC3dhcmVob3VzZV96BnVpbnQxNgtjb250YWluZXJfegZ1aW50MTYLZW50aXR5X2luZm8AFgR0eXBlBG5hbWUCaWQGdWludDY0BW93bmVyBG5hbWULZW50aXR5X25hbWUGc3RyaW5nC2Nvb3JkaW5hdGVzC2Nvb3JkaW5hdGVzB2l0ZW1faWQGdWludDE2CWNhcmdvbWFzcwZ1aW50MzIFY2FyZ28MY2FyZ29fdmlld1tdB21vZHVsZXMObW9kdWxlX2VudHJ5W10GZW5lcmd5B3VpbnQzMj8IaHVsbG1hc3MHdWludDMyPwhjYXBhY2l0eQd1aW50MzI/B2VuZ2luZXMPbW92ZW1lbnRfc3RhdHM/BHdhcnALd2FycF9zdGF0cz8JZ2VuZXJhdG9yDWVuZXJneV9zdGF0cz8GaGF1bGVyDWhhdWxlcl9zdGF0cz8OZ2F0aGVyZXJfbGFuZXMPZ2F0aGVyZXJfbGFuZVtdDWNyYWZ0ZXJfbGFuZXMOY3JhZnRlcl9sYW5lW10MbG9hZGVyX2xhbmVzDWxvYWRlcl9sYW5lW10IbGF1bmNoZXIPbGF1bmNoZXJfc3RhdHM/BWxhbmVzBmxhbmVbXQVob2xkcwZob2xkW10NZW50aXR5X2xheW91dAACDmVudGl0eV9pdGVtX2lkBnVpbnQxNgVzbG90cwpzbG90X2RlZltdFWVudGl0eV9sYXlvdXRzX3Jlc3VsdAABCGVudGl0aWVzD2VudGl0eV9sYXlvdXRbXQplbnRpdHlfcmVmAAILZW50aXR5X3R5cGUEbmFtZQllbnRpdHlfaWQGdWludDY0CmVudGl0eV9yb3cADAJpZAZ1aW50NjQFb3duZXIEbmFtZQRraW5kBG5hbWUHaXRlbV9pZAZ1aW50MTYEbmFtZQZzdHJpbmcFc3RhdHMGdWludDY0C2Nvb3JkaW5hdGVzC2Nvb3JkaW5hdGVzBmVuZXJneQd1aW50MzI/CWNhcmdvbWFzcwZ1aW50MzIHbW9kdWxlcw5tb2R1bGVfZW50cnlbXQVsYW5lcwZsYW5lW10FaG9sZHMGaG9sZFtdDmVudGl0eV9zZXFfcm93AAEHbmV4dF9pZAZ1aW50NjQOZW50aXR5X3N1bW1hcnkACAR0eXBlBG5hbWUCaWQGdWludDY0BW93bmVyBG5hbWULZW50aXR5X25hbWUGc3RyaW5nC2Nvb3JkaW5hdGVzC2Nvb3JkaW5hdGVzB2lzX2lkbGUEYm9vbA5yZXNvbHZlZF9jb3VudAZ1aW50MzINcGVuZGluZ19jb3VudAZ1aW50MzIQZW50aXR5X3Rhc2tfaW5mbwAECWVudGl0eV9pZAZ1aW50NjQLZW50aXR5X3R5cGUEbmFtZQp0YXNrX2NvdW50BXVpbnQ4EHNjaGVkdWxlX3N0YXJ0ZWQKdGltZV9wb2ludA9lbnRpdHlncm91cF9yb3cAAgJpZAZ1aW50NjQMcGFydGljaXBhbnRzDGVudGl0eV9yZWZbXQtlbnVtX21lbWJlcgACBXZhbHVlBXVpbnQ4BG5hbWUGc3RyaW5nC2VudW1fcmVzdWx0AAEHbWVtYmVycw1lbnVtX21lbWJlcltdCWVwb2NoX3JvdwAEBWVwb2NoBnVpbnQ2NApvcmFjbGVfaWRzBm5hbWVbXQl0aHJlc2hvbGQFdWludDgEc2VlZAtjaGVja3N1bTI1NgxmaXhjYXJnb21hc3MAAQllbnRpdHlfaWQGdWludDY0C2ZvcmNlcmV2ZWFsAAEFZXBvY2gGdWludDY0C2dhbWVfY29uZmlnAAMHdmVyc2lvbgZ1aW50MzIIZGVmYXVsdHMPZW50aXR5X2RlZmF1bHRzBWl0ZW1zCml0ZW1fZGVmW10GZ2F0aGVyAAUJc291cmNlX2lkBnVpbnQ2NA5kZXN0aW5hdGlvbl9pZAZ1aW50NjQHc3RyYXR1bQZ1aW50MTYIcXVhbnRpdHkGdWludDMyBHNsb3QGdWludDg/DWdhdGhlcmVyX2xhbmUABQpzbG90X2luZGV4BXVpbnQ4BXlpZWxkBnVpbnQxNgVkcmFpbgZ1aW50MzIFZGVwdGgGdWludDE2Cm91dHB1dF9wY3QGdWludDE2DGdlbmVzaXNmbGVldAABCGVudGl0aWVzDGVudGl0eV9yb3dbXQlnZXRjb25maWcAAApnZXRkZXBvc2l0AAIFb3duZXIEbmFtZQhhc3NldF9pZAZ1aW50NjQLZ2V0ZGlzdGFuY2UABAJheAVpbnQ2NAJheQVpbnQ2NAJieAVpbnQ2NAJieQVpbnQ2NAtnZXRlbGlnaWJsZQACBmNvb3Jkcwtjb29yZGluYXRlcwdzdHJhdHVtBnVpbnQxNglnZXRlbnRjbHMAAAtnZXRlbnRpdGllcwACBW93bmVyBG5hbWULZW50aXR5X3R5cGUFbmFtZT8JZ2V0ZW50aXR5AAEJZW50aXR5X2lkBnVpbnQ2NAtnZXRpdGVtZGF0YQAACmdldGl0ZW1pZHMAAAhnZXRpdGVtcwAAC2dldGl0ZW10eXBlAAEHaXRlbV9pZAZ1aW50MTYMZ2V0aXRlbXR5cGVzAAALZ2V0a2luZG1ldGEAAAtnZXRsb2NhdGlvbgACAXgFaW50NjQBeQVpbnQ2NApnZXRsb2NkYXRhAAIBeAVpbnQ2NAF5BWludDY0C2dldG1vZHR5cGVzAAAKZ2V0bW9kdWxlcwAACWdldG5lYXJieQACCWVudGl0eV9pZAZ1aW50NjQIcmVjaGFyZ2UEYm9vbApnZXRuZnRiYXNlAAAKZ2V0bmZ0aW5mbwAACWdldHBsYXllcgABB2FjY291bnQEbmFtZQxnZXRwcm9qc3RhdGUAAgllbnRpdHlfaWQGdWludDY0CnRhc2tfY291bnQGdWludDg/CWdldHJlY2lwZQABDm91dHB1dF9pdGVtX2lkBnVpbnQxNgpnZXRyZWNpcGVzAAILbG93ZXJfYm91bmQGdWludDE2BWxpbWl0BXVpbnQ4CmdldHJlc2NhdHMAAAtnZXRyZXNlcnZlcwACAXgFaW50NjQBeQVpbnQ2NAxnZXRyZXNvdXJjZXMAAAhnZXRzbG90cwAACmdldHN0cmF0dW0AAwF4BWludDY0AXkFaW50NjQHc3RyYXR1bQZ1aW50MTYMZ2V0c3VtbWFyaWVzAAIFb3duZXIEbmFtZQtlbnRpdHlfdHlwZQVuYW1lPwtnZXR3b3JtaG9sZQACAXgFaW50NjQBeQVpbnQ2NAxncm91cHRyYW5zaXQABQhlbnRpdGllcwxlbnRpdHlfcmVmW10CYXgFaW50NjQCYXkFaW50NjQCYngFaW50NjQCYnkFaW50NjQLZ3JvdXB0cmF2ZWwABAhlbnRpdGllcwxlbnRpdHlfcmVmW10BeAVpbnQ2NAF5BWludDY0CHJlY2hhcmdlBGJvb2wEaGFzaAABBXZhbHVlBnN0cmluZwdoYXNoNTEyAAEFdmFsdWUGc3RyaW5nDGhhdWxlcl9zdGF0cwADCGNhcGFjaXR5BXVpbnQ4CmVmZmljaWVuY3kGdWludDE2BWRyYWluBnVpbnQzMgRob2xkAAUCaWQGdWludDY0BGtpbmQFdWludDgLY291bnRlcnBhcnQKZW50aXR5X3JlZgV1bnRpbAp0aW1lX3BvaW50DWluY29taW5nX21hc3MGdWludDMyC2ltcG9ydGNhcmdvAAEDcm93CWNhcmdvX3JvdwxpbXBvcnRlbnRpdHkAAQNyb3cKZW50aXR5X3JvdwtpbXBvcnRncm91cAABA3Jvdw9lbnRpdHlncm91cF9yb3cMaW1wb3J0cGxheWVyAAEFb3duZXIEbmFtZQ1pbXBvcnRyZXNlcnZlAAILZXBvY2hfc2NvcGUGdWludDMyA3JvdwtyZXNlcnZlX3JvdwtpbXBvcnRzdGF0ZQABA3JvdwlzdGF0ZV9yb3cIaXRlbV9kZWYABQJpZAZ1aW50MTYEbWFzcwZ1aW50MzIEdHlwZQV1aW50OAdzdWJ0eXBlBXVpbnQ4BHRpZXIFdWludDgMaXRlbV9pZF9wYWlyAAICaWQGdWludDE2BG5hbWUGc3RyaW5nD2l0ZW1faWRzX3Jlc3VsdAABBWl0ZW1zDml0ZW1faWRfcGFpcltdD2l0ZW1kYXRhX3Jlc3VsdAACBWl0ZW1zCml0ZW1fZGVmW10HcmVjaXBlcw5yZWNpcGVzX3Jlc3VsdAppdGVtc19pbmZvAAEFaXRlbXMKaXRlbV9kZWZbXQRqb2luAAEHYWNjb3VudARuYW1lEGtpbmRfbWV0YV9yZXN1bHQAAgVraW5kcw9raW5kX21ldGFfcm93W10JdGVtcGxhdGVzE3RlbXBsYXRlX21ldGFfcm93W10Na2luZF9tZXRhX3JvdwAFBGtpbmQEbmFtZQ5jbGFzc2lmaWNhdGlvbgV1aW50OBBjYXBhYmlsaXR5X2ZsYWdzBXVpbnQ4B3pfY29vcmQGdWludDMyDWRlZmF1bHRfbGFiZWwGc3RyaW5nBGxhbmUAAghsYW5lX2tleQV1aW50OAhzY2hlZHVsZQhzY2hlZHVsZQZsYXVuY2gAAwtsYXVuY2hlcl9pZAZ1aW50NjQKY2F0Y2hlcl9pZAZ1aW50NjQFaXRlbXMMY2FyZ29faXRlbVtdDmxhdW5jaGVyX3N0YXRzAAMLY2hhcmdlX3JhdGUGdWludDE2CHZlbG9jaXR5BnVpbnQxNgVkcmFpbgZ1aW50MTYEbG9hZAADAmlkBnVpbnQ2NAdmcm9tX2lkBnVpbnQ2NAVpdGVtcwxjYXJnb19pdGVtW10LbG9hZGVyX2xhbmUABApzbG90X2luZGV4BXVpbnQ4BG1hc3MGdWludDMyBnRocnVzdAZ1aW50MTYKb3V0cHV0X3BjdAZ1aW50MTYQbG9jYXRpb25fZGVyaXZlZAACDHN0YXRpY19wcm9wcw9sb2NhdGlvbl9zdGF0aWMEc2l6ZQZ1aW50MTYNbG9jYXRpb25faW5mbwADBmNvb3Jkcwtjb29yZGluYXRlcwlpc19zeXN0ZW0EYm9vbAtpc193b3JtaG9sZQRib29sD2xvY2F0aW9uX3N0YXRpYwAFBmNvb3Jkcwtjb29yZGluYXRlcwR0eXBlDWxvY2F0aW9uX3R5cGUHc3VidHlwZQV1aW50OAVzZWVkMAV1aW50OAVzZWVkMQV1aW50OAxtb2R1bGVfZW50cnkAAgR0eXBlBXVpbnQ4CWluc3RhbGxlZA5wYWNrZWRfbW9kdWxlPwttb2R1bGVfaW5mbwAEAmlkBnVpbnQxNgRtYXNzBnVpbnQzMgttb2R1bGVfdHlwZQV1aW50OAR0aWVyBXVpbnQ4Dm1vZHVsZXNfcmVzdWx0AAEHbW9kdWxlcw1tb2R1bGVfaW5mb1tdDm1vdmVtZW50X3N0YXRzAAIGdGhydXN0BnVpbnQzMgVkcmFpbgZ1aW50MzILbmVhcmJ5X2luZm8ABQpjYW5fdHJhdmVsBGJvb2wHY3VycmVudBRlbnRpdHlfY3VycmVudF9zdGF0ZQlwcm9qZWN0ZWQUZW50aXR5X2N1cnJlbnRfc3RhdGUKbWF4X2VuZXJneQZ1aW50MzIHc3lzdGVtcw9uZWFyYnlfc3lzdGVtW10NbmVhcmJ5X3N5c3RlbQAECGRpc3RhbmNlBnVpbnQ2NAtlbmVyZ3lfY29zdAZ1aW50NjQLZmxpZ2h0X3RpbWUGdWludDMyCGxvY2F0aW9uDWxvY2F0aW9uX2luZm8ObmZ0X2NhcmdvX2l0ZW0ABAdpdGVtX2lkBnVpbnQxNgVzdGF0cwZ1aW50NjQHbW9kdWxlcw5tb2R1bGVfZW50cnlbXQhxdWFudGl0eQZ1aW50MzIQbmZ0X2l0ZW1fcGF5bG9hZAACBGl0ZW0ObmZ0X2NhcmdvX2l0ZW0IbG9jYXRpb24MY29vcmRpbmF0ZXM/Dm5mdF9zY2hlbWFfZGVmAAILc2NoZW1hX25hbWUEbmFtZQZmaWVsZHMOc2NoZW1hX2ZpZWxkW10QbmZ0X3RlbXBsYXRlX2RlZgADB2l0ZW1faWQGdWludDE2C3NjaGVtYV9uYW1lBG5hbWULdGVtcGxhdGVfaWQFaW50MzINbmZ0Y29uZmlnX3JvdwADB2l0ZW1faWQGdWludDE2C3RlbXBsYXRlX2lkBWludDMyC3NjaGVtYV9uYW1lBG5hbWUJbmZ0aW1ndXJsAAIEaXRlbQpjYXJnb19pdGVtCGxvY2F0aW9uDGNvb3JkaW5hdGVzPw5uZnRpbmZvX3Jlc3VsdAACB3NjaGVtYXMQbmZ0X3NjaGVtYV9kZWZbXQl0ZW1wbGF0ZXMSbmZ0X3RlbXBsYXRlX2RlZltdBm5vdGlmeQABBWV2ZW50CnRhc2tfZXZlbnQRb3JhY2xlX2NvbmZpZ19yb3cAAQl0aHJlc2hvbGQFdWludDgKb3JhY2xlX3JvdwABAmlkBG5hbWUNcGFja2VkX21vZHVsZQACB2l0ZW1faWQGdWludDE2BXN0YXRzBnVpbnQ2NApwbGFjZWNhcmdvAAMFb3duZXIEbmFtZQdob3N0X2lkBnVpbnQ2NAhhc3NldF9pZAZ1aW50NjQLcGxhY2VlbnRpdHkAAwVvd25lcgRuYW1lCGFzc2V0X2lkBnVpbnQ2NA90YXJnZXRfbmV4dXNfaWQGdWludDY0C3BsYXllcl9pbmZvAAMFb3duZXIEbmFtZQlpc19wbGF5ZXIEYm9vbAxjb21wYW55X25hbWUGc3RyaW5nCnBsYXllcl9yb3cAAQVvd25lcgRuYW1lD3Byb2plY3RlZF9zdGF0ZQAPBW93bmVyBG5hbWULY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMGZW5lcmd5B3VpbnQzMj8JY2FyZ29tYXNzBnVpbnQzMgVjYXJnbwxjYXJnb192aWV3W10IaHVsbG1hc3MHdWludDMyPwhjYXBhY2l0eQd1aW50MzI/B2VuZ2luZXMPbW92ZW1lbnRfc3RhdHM/BHdhcnALd2FycF9zdGF0cz8JZ2VuZXJhdG9yDWVuZXJneV9zdGF0cz8GaGF1bGVyDWhhdWxlcl9zdGF0cz8OZ2F0aGVyZXJfbGFuZXMPZ2F0aGVyZXJfbGFuZVtdDWNyYWZ0ZXJfbGFuZXMOY3JhZnRlcl9sYW5lW10MbG9hZGVyX2xhbmVzDWxvYWRlcl9sYW5lW10IbGF1bmNoZXIPbGF1bmNoZXJfc3RhdHM/CHJlY2hhcmdlAAECaWQGdWludDY0DHJlY2lwZV9pbnB1dAACB2l0ZW1faWQGdWludDE2CHF1YW50aXR5BnVpbnQzMhByZWNpcGVfaXRlbV9pbmZvAAICaWQGdWludDE2BG1hc3MGdWludDMyD3JlY2lwZV9yZXNwb25zZQAHDm91dHB1dF9pdGVtX2lkBnVpbnQxNgtvdXRwdXRfbWFzcwZ1aW50MzIGaW5wdXRzDnJlY2lwZV9pbnB1dFtdCnN0YXRfc2xvdHMUc3RhdF9zbG90X3Jlc3BvbnNlW10NYmxlbmRfd2VpZ2h0cwVieXRlcwtvdXRwdXRfaXRlbRByZWNpcGVfaXRlbV9pbmZvC2lucHV0X2l0ZW1zEnJlY2lwZV9pdGVtX2luZm9bXQ5yZWNpcGVzX3Jlc3VsdAABB3JlY2lwZXMRcmVjaXBlX3Jlc3BvbnNlW10McmVmcnNoZW50aXR5AAEJZW50aXR5X2lkBnVpbnQ2NAxyZW1vdmVvcmFjbGUAAQlvcmFjbGVfaWQEbmFtZQZyZW5hbWUAAgJpZAZ1aW50NjQEbmFtZQZzdHJpbmcLcmVzZXJ2ZV9yb3cABQJpZAZ1aW50NjQIY29vcmRfaWQGdWludDY0B3N0cmF0dW0GdWludDE2CXJlbWFpbmluZwZ1aW50MzIKbGFzdF9ibG9jaxRibG9ja190aW1lc3RhbXBfdHlwZQdyZXNvbHZlAAICaWQGdWludDY0BWNvdW50B3VpbnQ2ND8PcmVzb2x2ZV9yZXN1bHRzAAYJZW50aXR5X2lkBnVpbnQ2NAtlbnRpdHlfdHlwZQRuYW1lDnJlc29sdmVkX2NvdW50BXVpbnQ4FG5ld19zY2hlZHVsZV9zdGFydGVkC3RpbWVfcG9pbnQ/C2VudGl0eWdyb3VwB3VpbnQ2ND8NZ3JvdXBfbWVtYmVycxZCX3ZlY3Rvcl9lbnRpdHlfcmVmX0U/CnJlc29sdmVhbGwAAQVvd25lcgRuYW1lEnJlc29sdmVhbGxfcmVzdWx0cwACB3NjYW5uZWQGdWludDMyCHJlc29sdmVkBnVpbnQzMg1yZXNvdXJjZV9pbmZvAAQCaWQGdWludDE2BG1hc3MGdWludDMyCGNhdGVnb3J5BXVpbnQ4BHRpZXIFdWludDgOcmVzb3VyY2Vfc3RhdHMAAwVzdGF0MQZ1aW50MTYFc3RhdDIGdWludDE2BXN0YXQzBnVpbnQxNhByZXNvdXJjZXNfcmVzdWx0AAEJcmVzb3VyY2VzD3Jlc291cmNlX2luZm9bXQZyZXZlYWwAAwlvcmFjbGVfaWQEbmFtZQVlcG9jaAZ1aW50NjQGcmV2ZWFsC2NoZWNrc3VtMjU2CnJldmVhbF9yb3cABAJpZAZ1aW50NjQFZXBvY2gGdWludDY0CW9yYWNsZV9pZARuYW1lBnJldmVhbAtjaGVja3N1bTI1NghybW1vZHVsZQADCWVudGl0eV9pZAZ1aW50NjQMbW9kdWxlX2luZGV4BXVpbnQ4CnRhcmdldF9yZWYKY2FyZ29fcmVmPwhybW5mdGNmZwABB2l0ZW1faWQGdWludDE2CHNjaGVkdWxlAAIHc3RhcnRlZAp0aW1lX3BvaW50BXRhc2tzBnRhc2tbXQxzY2hlbWFfZmllbGQAAgRuYW1lBnN0cmluZwpmaWVsZF90eXBlBnN0cmluZwlzZXRjb29yZHMAAwllbnRpdHlfaWQGdWludDY0AXgFaW50NjQBeQVpbnQ2NAlzZXRuZnRjZmcAAwdpdGVtX2lkBnVpbnQxNgt0ZW1wbGF0ZV9pZAVpbnQzMgtzY2hlbWFfbmFtZQRuYW1lDHNldHRocmVzaG9sZAABCXRocmVzaG9sZAV1aW50OAtzZXR3cmFwY29zdAADCWl0ZW1fdHlwZQV1aW50OAR0aWVyBXVpbnQ4BmFtb3VudAZ1aW50NjQKc2V0d3JhcGZlZQACB2ZlZV9wY3QGdWludDE2C2ZlZV9hY2NvdW50BG5hbWUIc2xvdF9kZWYAAgR0eXBlBXVpbnQ4Cm91dHB1dF9wY3QGdWludDE2EnN0YXRfc2xvdF9yZXNwb25zZQABB3NvdXJjZXMNc3RhdF9zb3VyY2VbXQtzdGF0X3NvdXJjZQACC2lucHV0X2luZGV4BXVpbnQ4EGlucHV0X3N0YXRfaW5kZXgFdWludDgJc3RhdGVfcm93AAMHZW5hYmxlZARib29sBWVwb2NoBnVpbnQzMgRzZWVkC2NoZWNrc3VtMjU2CXN0b3djYXJnbwAFBW93bmVyBG5hbWUJZW50aXR5X2lkBnVpbnQ2NAhuZXh1c19pZAZ1aW50NjQIY2FyZ29faWQGdWludDY0CHF1YW50aXR5BnVpbnQ2NApzdG93ZW50aXR5AAMFb3duZXIEbmFtZQllbnRpdHlfaWQGdWludDY0CG5leHVzX2lkBnVpbnQ2NAxzdHJhdHVtX2RhdGEAAgdzdHJhdHVtDHN0cmF0dW1faW5mbwVzdGF0cw5yZXNvdXJjZV9zdGF0cwxzdHJhdHVtX2luZm8ABQdpdGVtX2lkBnVpbnQxNgRzZWVkBnVpbnQ2NAhyaWNobmVzcwZ1aW50MTYHcmVzZXJ2ZQZ1aW50MzILcmVzZXJ2ZV9tYXgGdWludDMyEXN0cmF0dW1fcmVtYWluaW5nAAMHc3RyYXR1bQZ1aW50MTYJcmVtYWluaW5nBnVpbnQzMgpsYXN0X2Jsb2NrFGJsb2NrX3RpbWVzdGFtcF90eXBlCnN3YXBtb2R1bGUAAwllbnRpdHlfaWQGdWludDY0DG1vZHVsZV9pbmRleAV1aW50OAptb2R1bGVfcmVmCWNhcmdvX3JlZgR0YXNrAAkEdHlwZQV1aW50OAhkdXJhdGlvbgZ1aW50MzIKY2FuY2VsYWJsZQV1aW50OAtjb29yZGluYXRlcwxjb29yZGluYXRlcz8FY2FyZ28MY2FyZ29faXRlbVtdDGVudGl0eXRhcmdldAtlbnRpdHlfcmVmPwtlbnRpdHlncm91cAd1aW50NjQ/C2VuZXJneV9jb3N0B3VpbnQzMj8EaG9sZAd1aW50NjQ/CnRhc2tfZXZlbnQACgpldmVudF90eXBlBXVpbnQ4BW93bmVyBG5hbWULZW50aXR5X3R5cGUEbmFtZQllbnRpdHlfaWQGdWludDY0CnRhc2tfaW5kZXgFdWludDgEdGFzawR0YXNrCXN0YXJ0c19hdAp0aW1lX3BvaW50DGNvbXBsZXRlc19hdAp0aW1lX3BvaW50Cm5ld19lbmVyZ3kHdWludDMyPwhsYW5lX2tleQV1aW50OAx0YXNrX3Jlc3VsdHMAAQhlbnRpdGllcxJlbnRpdHlfdGFza19pbmZvW10RdGVtcGxhdGVfbWV0YV9yb3cAAwdpdGVtX2lkBnVpbnQxNgRraW5kBG5hbWUNZGlzcGxheV9sYWJlbAZzdHJpbmcHdHJhbnNpdAAFAmlkBnVpbnQ2NAJheAVpbnQ2NAJheQVpbnQ2NAJieAVpbnQ2NAJieQVpbnQ2NAZ0cmF2ZWwABAJpZAZ1aW50NjQBeAVpbnQ2NAF5BWludDY0CHJlY2hhcmdlBGJvb2wJdHlwZXNfcm93AAUCaWQGdWludDY0E2VudGl0eV9zdW1tYXJ5X3R5cGUOZW50aXR5X3N1bW1hcnkQZ2FtZV9jb25maWdfdHlwZQtnYW1lX2NvbmZpZxZzdHJhdHVtX3JlbWFpbmluZ190eXBlEXN0cmF0dW1fcmVtYWluaW5nFW5mdF9pdGVtX3BheWxvYWRfdHlwZRBuZnRfaXRlbV9wYXlsb2FkCHVuZGVwbG95AAIHaG9zdF9pZAZ1aW50NjQJdGFyZ2V0X2lkBnVpbnQ2NAZ1bmxvYWQAAwJpZAZ1aW50NjQFdG9faWQGdWludDY0BWl0ZW1zDGNhcmdvX2l0ZW1bXQR3YXJwAAMCaWQGdWludDY0AXgFaW50NjQBeQVpbnQ2NAp3YXJwX3N0YXRzAAEFcmFuZ2UGdWludDMyBHdpcGUAAA13b3JtaG9sZV9pbmZvAAMGY29vcmRzC2Nvb3JkaW5hdGVzC2lzX3dvcm1ob2xlBGJvb2wLZGVzdGluYXRpb24LY29vcmRpbmF0ZXMOd3JhcGNvbmZpZ19yb3cAAgdmZWVfcGN0BnVpbnQxNgtmZWVfYWNjb3VudARuYW1lDHdyYXBjb3N0X3JvdwADCWl0ZW1fdHlwZQV1aW50OAR0aWVyBXVpbnQ4BmFtb3VudAZ1aW50NjRcAABQUScqUzIJYWRkbW9kdWxlxwMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogYWRkbW9kdWxlCnN1bW1hcnk6ICdJbnN0YWxsIGEgbW9kdWxlIGludG8gYSBzbG90JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbnN0YWxsIGEgbW9kdWxlIGZyb20gY2FyZ28gaW50byBhIG1vZHVsZSBzbG90IG9uIGEgbGl2ZSBlbnRpdHkgb3IgYSBwYWNrZWQgZW50aXR5IGluIGNhcmdvLiBUaGUgZW50aXR5IG11c3QgYmUgaWRsZSB3aXRoIG5vIHNjaGVkdWxlZCB0YXNrcy4gVGhlIG1vZHVsZSB0eXBlIG11c3QgYmUgY29tcGF0aWJsZSB3aXRoIHRoZSB0YXJnZXQgc2xvdCB0eXBlLiBUaGUgbW9kdWxlIGl0ZW0gaXMgcmVtb3ZlZCBmcm9tIGNhcmdvIHVwb24gaW5zdGFsbGF0aW9uLgAAAFh3NVMyCGFkZG5leHVzpwMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogYWRkbmV4dXMKc3VtbWFyeTogJ0FkZCBhIG5leHVzIGxvY2F0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDcmVhdGUgYSBuZXcgbmV4dXMgZW50aXR5IGF0IHRoZSBnaXZlbiBjb29yZGluYXRlcy4gTmV4dXNlcyBhcmUgb3duZWQgYnkgdGhlIGNvbnRyYWN0IGFuZCBzZXJ2ZSBhcyBmaXhlZCBnYXRoZXJpbmcgcG9pbnRzIHdoZXJlIHBsYXllcnMgY2FuIHdyYXAsIHVud3JhcCwgZGVwbG95LCBhbmQgb3RoZXJ3aXNlIGludGVyYWN0IHdpdGggTkZULWJhY2tlZCBhc3NldHMuIFJlcXVpcmVzIGNvbnRyYWN0IGF1dGhvcml0eS4AAFARmUtTMglhZGRvcmFjbGUAAAAAAIA0VTwFYmxlbmT8Ai0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBibGVuZApzdW1tYXJ5OiAnQmxlbmQgY2FyZ28gc3RhY2tzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDb21iaW5lIG11bHRpcGxlIGNhcmdvIHN0YWNrcyBvZiB0aGUgc2FtZSBpdGVtIHR5cGUgaW50byBhIHNpbmdsZSBzdGFjayB3aXRoIG5ldyBibGVuZGVkIHN0YXRzLiBBbGwgaW5wdXQgc3RhY2tzIG11c3Qgc2hhcmUgdGhlIHNhbWUgaXRlbSBpZC4gVGhlIG91dHB1dCBzdGFjayBoYXMgdGhlIGNvbWJpbmVkIHF1YW50aXR5IG9mIGFsbCBpbnB1dHMuAADINNYUnT4JYnVpbGRwbG90AAAAAABEhaZBBmNhbmNlbMICLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNhbmNlbApzdW1tYXJ5OiAnQ2FuY2VsIHNjaGVkdWxlZCB0YXNrcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQ2FuY2VsIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHRhc2tzIGZyb20gdGhlIGVuZCBvZiBhbiBlbnRpdHkncyBzY2hlZHVsZS4gVGFza3MgdGhhdCBhcmUgaW1tdXRhYmxlIGFuZCBpbiBwcm9ncmVzcyBjYW5ub3QgYmUgY2FuY2VsbGVkLgAAyDRW6UxECWNsYWltcGxvdABwVb4mY+lMRAxjbGFpbXN0YXJ0ZXIAAACoG99pVEQJY2xlYW5yc3Zw7AItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY2xlYW5yc3ZwCnN1bW1hcnk6ICdDbGVhbiB1cCBwYXN0IGVwb2NoIHJlc2VydmVzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpFcmFzZSByZXNlcnZlIHRhYmxlIHJvd3MgZnJvbSBhIHBhc3QgZXBvY2guIENhbm5vdCBjbGVhbiB0aGUgY3VycmVudCBvciBmdXR1cmUgZXBvY2hzLiBUaGUgbWF4X3Jvd3MgcGFyYW1ldGVyIGNhcHMgdGhlIG51bWJlciBvZiByb3dzIGVyYXNlZCBwZXIgY2FsbCB0byBsaW1pdCBDUFUgdXNhZ2UuAICKx+RrVEQKY2xlYXJ0YWJsZb4BLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNsZWFydGFibGUKc3VtbWFyeTogJ0RFQlVHOiBjbGVhcnRhYmxlIGFjdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQAAAABkJyVFBmNvbW1pdOwBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNvbW1pdApzdW1tYXJ5OiAnU2V0IGNvbW1pdCB2YWx1ZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKU2V0IHRoZSBpbml0aWFsIGNvbW1pdCB2YWx1ZSBkdXJpbmcgZ2FtZSBpbml0aWFsaXphdGlvbi4AAGA0MrcmRQljb25maWdsb2fdAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjb25maWdsb2cKc3VtbWFyeTogJ0xvZyBnYW1lIGNvbmZpZ3VyYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkludGVybmFsIGFjdGlvbiB0aGF0IGxvZ3MgdGhlIGN1cnJlbnQgZ2FtZSBjb25maWd1cmF0aW9uLiBDYWxsZWQgaW5saW5lIGFmdGVyIGluaXRpYWxpemF0aW9uIHRvIGJyb2FkY2FzdCBjb25maWcgdmlhIGFjdGlvbiB0cmFjZXMuIFJlcXVpcmVzIGNvbnRyYWN0IGF1dGhvcml0eS4AAAAAgLzMRQVjcmFmdMgDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNyYWZ0CnN1bW1hcnk6ICdDcmFmdCBpdGVtcyBmcm9tIGEgcmVjaXBlJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUcmFuc2Zvcm0gY2FyZ28gaXRlbXMgaW50byBhIG5ldyBpdGVtIHVzaW5nIGEgcmVjaXBlLiBUaGUgZW50aXR5IG11c3QgaGF2ZSBhIGNyYWZ0ZXIgbW9kdWxlIGluc3RhbGxlZC4gQ29uc3VtZXMgZW5lcmd5IGFuZCBzY2hlZHVsZXMgYSBjcmFmdGluZyB0YXNrIHdpdGggZHVyYXRpb24gYmFzZWQgb24gdG90YWwgaW5wdXQgbWFzcyBhbmQgY3JhZnRlciBzcGVlZC4gSW5wdXQgcXVhbnRpdGllcyBtdXN0IGV4YWN0bHkgbWF0Y2ggdGhlIHJlY2lwZSByZXF1aXJlbWVudHMuAAAADbtIpUoIZGVtb2xpc2jxAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBkZW1vbGlzaApzdW1tYXJ5OiAnRGVtb2xpc2ggYSBzdGF0aW9uYXJ5IGVudGl0eScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKRGVjb21taXNzaW9uIGFuIGVudGl0eSwgZXJhc2luZyBpdCBmcm9tIHRoZSBnYW1lLiBUaGUgZW50aXR5IG11c3QgYmUgaWRsZSwgaGF2ZSBlbXB0eSBjYXJnbywgYW5kIGhhdmUgbm8gaW5zdGFsbGVkIG1vZHVsZXMgKHJlbW92ZSBlYWNoIHZpYSBybW1vZHVsZSBmaXJzdCkuIFNjaGVkdWxlcyBhIGRlbW9saXNoIHRhc2sgdGhhdCBlcmFzZXMgdGhlIGVudGl0eSBvbiByZXNvbHV0aW9uLiBPbmx5IHZhbGlkIGZvciBlbnRpdGllcyB0aGF0IGNhbm5vdCBtb3ZlOyB1c2UgdW5kZXBsb3kgb3Igd3JhcGVudGl0eSBmb3IgdGhlIHJlc3QuAAAAAHgaq0oGZGVwbG957AItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZGVwbG95CnN1bW1hcnk6ICdEZXBsb3kgYSBwYWNrZWQgZW50aXR5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpVbnBhY2sgYSBwYWNrZWQgZW50aXR5IGl0ZW0gKHBhY2tlZCBzaGlwIG9yIHBhY2tlZCBjb250YWluZXIpIGZyb20gY2FyZ28sIHNjaGVkdWxpbmcgYSBkZXBsb3kgdGFzayB0aGF0IGNyZWF0ZXMgdGhlIG5ldyBlbnRpdHkgYXQgdGhlIGRlcGxveWluZyBlbnRpdHkncyBsb2NhdGlvbiB1cG9uIHJlc29sdXRpb24uAIDPLk+FsEoKZGVzY2VudGl0eckDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGRlc2NlbnRpdHkKc3VtbWFyeTogJ0Rlc2NyaWJlIGEgcGFja2VkIGVudGl0eScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgYSBodW1hbi1yZWFkYWJsZSBkZXNjcmlwdGlvbiBzdHJpbmcgZm9yIGEgcGFja2VkIGVudGl0eSwgZGVyaXZlZCBmcm9tIHRoZSBlbnRpdHkgaXRlbSBpZCwgaHVsbCBzdGF0cywgYW5kIHRoZSBsaXN0IG9mIGluc3RhbGxlZCBtb2R1bGUgaXRlbSBpZHMgYW5kIHN0YXRzLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIGFuZCBORlQgcmVuZGVyZXJzIHRvIGRpc3BsYXkgcGFja2VkIGVudGl0aWVzLgAAAACoeMxUBmVuYWJsZd0BLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGVuYWJsZQpzdW1tYXJ5OiAnU2V0IGVuYWJsZWQgc3RhdGUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkVuYWJsZSBvciBkaXNhYmxlIHRoaXMgZ2FtZSBvZiBTaGlwbG9hZC6AsZGUXYO6WwxmaXhjYXJnb21hc3OQAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBmaXhjYXJnb21hc3MKc3VtbWFyeTogJ0RFQlVHOiByZWNvbXB1dGUgZW50aXR5IGNhcmdvIG1hc3MnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJlY29tcHV0ZSBhbmQgcmV3cml0ZSBhbiBlbnRpdHkncyBjYXJnbyBtYXNzIGZyb20gaXRzIGN1cnJlbnQgY2FyZ28uIFJlcXVpcmVzIGNvbnRyYWN0IGF1dGhvcml0eS4gQXZhaWxhYmxlIGZvciByZXBhaXJpbmcgZHJpZnQgYmV0d2VlbiBjYWNoZWQgY2FyZ28gbWFzcyBhbmQgdGhlIHRydWUgbWFzcyBkZXJpdmVkIGZyb20gY2FyZ28gcm93cy4AolFbXYUuXQtmb3JjZXJldmVhbL4ELS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGZvcmNlcmV2ZWFsCnN1bW1hcnk6ICdERUJVRzogZm9yY2UtZmluYWxpemUgYW4gZXBvY2ggZnJvbSBleGlzdGluZyByZXZlYWxzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpGaW5hbGl6ZSBhIHN0dWNrIGVwb2NoIGJ5IGNvbXB1dGluZyBpdHMgc2VlZCBmcm9tIHRoZSByZXZlYWxzIGFscmVhZHkgc3VibWl0dGVkLCB3aXRob3V0IHdhaXRpbmcgZm9yIHRoZSBjb25maWd1cmVkIHRocmVzaG9sZC4gUmVxdWlyZXMgY29udHJhY3QgYXV0aG9yaXR5LiBUaGUgc2VlZCBpcyBkZXJpdmVkIHNvbGVseSBmcm9tIHRoZSBwcmUtaW1hZ2UtbG9ja2VkIHJldmVhbHMgYWxyZWFkeSBvbiBjaGFpbjsgbm8gYWRtaW4tc3VwcGxpZWQgZW50cm9weSBpcyBpbnRyb2R1Y2VkLiBVc2VkIHRvIHVuYmxvY2sgZXBvY2ggcHJvZ3Jlc3Npb24gd2hlbiB0aGUgdGhyZXNob2xkIGNhbm5vdCBvdGhlcndpc2UgYmUgbWV0LgAAAABc1bJhBmdhdGhlcpcDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdhdGhlcgpzdW1tYXJ5OiAnR2F0aGVyIHJlc291cmNlcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKR2F0aGVyIHJlc291cmNlcyBhdCB0aGUgc2hpcCdzIGN1cnJlbnQgbG9jYXRpb24uIE9ubHkgd29ya3MgYXQgZ2F0aGVyYWJsZSBsb2NhdGlvbiB0eXBlcy4gU2NoZWR1bGVzIGEgZ2F0aGVyIHRhc2sgdGhhdCBjb25zdW1lcyBlbmVyZ3kgYW5kIHlpZWxkcyBjYXJnbyBiYXNlZCBvbiB0aGUgc2hpcCdzIGdhdGhlcmVyIHN0YXRzIGFuZCB0aGUgbG9jYXRpb24ncyByZXNvdXJjZSBjb21wb3NpdGlvbi6QlYoLO6ymYgxnZW5lc2lzZmxlZXSpBC0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZW5lc2lzZmxlZXQKc3VtbWFyeTogJ01pbnQgdGhlIG9uZS10aW1lIGdlbmVzaXMgZmxlZXQnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkVtcGxhY2UgdGhlIG9uZS10aW1lIGdlbmVzaXMgZmxlZXQ6IGEgY2FsbGVyLXN1cHBsaWVkIHNldCBvZiBlbnRpdGllcyAoc2hpcHMsIHN0cnVjdHVyZXMsIGFuZCBjb250YWluZXJzKSB3cml0dGVuIHRvIHRoZSB3b3JsZCBhcy1pcy4gVmFsaWQgb25seSBkdXJpbmcgdGhlIHByZS1nZW5lc2lzIHdpbmRvdywgYmVmb3JlIGVwb2NoIDEgaXMgZmluYWxpemVkLiBUaGUgc3VwcGxpZWQgZW50aXR5IGlkcyBhcmUgaG9ub3JlZCBhbmQgdGhlIGlkIHNlcXVlbmNlIGlzIGFkdmFuY2VkIHBhc3QgdGhlbTsgaWQgMCBpcyByZXNlcnZlZCBmb3IgdGhlIEdlbmVzaXMgTmV4dXMuIFJlcXVpcmVzIGNvbnRyYWN0IGF1dGhvcml0eS4AAGBuTYqyYglnZXRjb25maWfKAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRjb25maWcKc3VtbWFyeTogJ0dldCBnYW1lIGNvbmZpZ3VyYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIHJldHVybnMgdGhlIGdhbWUgY29uZmlndXJhdGlvbiBpbmNsdWRpbmcgZGVmYXVsdCBlbnRpdHkgc3RhdHMgZm9yIHdhcmVob3VzZXMgYW5kIGNvbnRhaW5lcnMsIGFuZCB0aGUgZnVsbCBpdGVtIGRlZmluaXRpb25zIHRhYmxlLgBAdphWlbJiCmdldGRlcG9zaXQAABSaJmOXsmILZ2V0ZGlzdGFuY2UAAFQ8jrmosmILZ2V0ZWxpZ2libGXIAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRlbGlnaWJsZQpzdW1tYXJ5OiAnR2V0IGVsaWdpYmxlIHJlc291cmNlIGl0ZW0gSURzIGF0IGEgbG9jYXRpb24gYW5kIHN0cmF0dW0nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBsaXN0IG9mIHJlc291cmNlIGl0ZW0gSURzIGVsaWdpYmxlIHRvIGJlIGdhdGhlcmVkIGF0IHRoZSBnaXZlbiBjb29yZGluYXRlcyBhbmQgc3RyYXR1bSBkZXB0aC4gSXRlbXMgYXJlIGdhdGVkIGJ5IGJvdGggdGhlIGxvY2F0aW9uJ3MgcmVzb3VyY2UgcHJvZmlsZSBhbmQgdGhlIGRlcHRoIHRocmVzaG9sZCBmb3IgZWFjaCB0aWVyLgAAwBHlqbJiCWdldGVudGNsc4wDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGVudGNscwpzdW1tYXJ5OiAnR2V0IGVudGl0eSBjbGFzcyBlbnVtIHZhbHVlcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgdGhlIGZ1bGwgc2V0IG9mIGVudGl0eSBjbGFzcyBlbnVtIHZhbHVlcyBhbmQgdGhlaXIgc3RyaW5nIG5hbWVzIChPcmJpdGFsVmVzc2VsLCBQbGFuZXRhcnlTdHJ1Y3R1cmUpLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIGRlY29kZSBlbnRpdHkgY2xhc3MgaWRlbnRpZmllcnMuALBy2eWpsmILZ2V0ZW50aXRpZXOkAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRlbnRpdGllcwpzdW1tYXJ5OiAnR2V0IGFsbCBlbnRpdGllcyBmb3IgYSBwbGF5ZXInCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJldHVybnMgZnVsbCBlbnRpdHkgaW5mbyBmb3IgYWxsIGVudGl0aWVzIG93bmVkIGJ5IGEgcGxheWVyLiBPcHRpb25hbGx5IGZpbHRlciBieSBlbnRpdHkgdHlwZS4AAPDZ5amyYglnZXRlbnRpdHmiAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRlbnRpdHkKc3VtbWFyeTogJ0dldCBlbnRpdHkgc3RhdGUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJldHVybnMgdGhlIGN1cnJlbnQgc3RhdGUgb2YgYW4gZW50aXR5IGluY2x1ZGluZyBpZGVudGl0eSwgY2FyZ28sIHNjaGVkdWxlIHN0YXRlLCBhbmQgdHlwZS1zcGVjaWZpYyBmaWVsZHMuAEw2SarssmILZ2V0aXRlbWRhdGGoAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRpdGVtZGF0YQpzdW1tYXJ5OiAnR2V0IGZ1bGwgaXRlbSBjYXRhbG9nJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgY29tcGxldGUgaXRlbSBjYXRhbG9nIGFzIHRoZSBjb250cmFjdCBzZWVzIGl0LCBpbmNsdWRpbmcgdHlwZSwgc3VidHlwZSwgdGllciwgbWFzcywgYW5kIG90aGVyIHN0YXRpYyBtZXRhZGF0YS4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyBhbmQgY2xpZW50cyB0byBtaXJyb3IgdGhlIGNvbnRyYWN0J3MgaXRlbSBkZWZpbml0aW9ucy4AAE5OquyyYgpnZXRpdGVtaWRzhgMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0aXRlbWlkcwpzdW1tYXJ5OiAnR2V0IGl0ZW0gaWQgdG8gbmFtZSBtYXBwaW5ncycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgdGhlIGZ1bGwgbWFwcGluZyBvZiBpdGVtIGlkIGNvbnN0YW50cyB0byB0aGVpciBjYW5vbmljYWwgc3RyaW5nIG5hbWVzLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIHJlc29sdmUgbnVtZXJpYyBpdGVtIGlkcyB0byBodW1hbi1yZWFkYWJsZSBpZGVudGlmaWVycy4AAABYquyyYghnZXRpdGVtc5oCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGl0ZW1zCnN1bW1hcnk6ICdHZXQgYWxsIGF2YWlsYWJsZSBpdGVtcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gcmV0dXJucyBhIGxpc3Qgb2YgYWxsIGl0ZW1zIGluIHRoZSBnYW1lIGluY2x1ZGluZyB0aGVpciBpZCwgYmFzZSBwcmljZSwgYW5kIG1hc3MuAFT1WarssmILZ2V0aXRlbXR5cGUAgFX1WarssmIMZ2V0aXRlbXR5cGVziAMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0aXRlbXR5cGVzCnN1bW1hcnk6ICdHZXQgaXRlbSB0eXBlIGVudW0gdmFsdWVzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgZnVsbCBzZXQgb2YgaXRlbSB0eXBlIGVudW0gdmFsdWVzIGFuZCB0aGVpciBzdHJpbmcgbmFtZXMgKHJlc291cmNlLCBjb21wb25lbnQsIG1vZHVsZSwgZW50aXR5KS4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyB0byBkZWNvZGUgaXRlbSB0eXBlIGlkZW50aWZpZXJzLgBMVjJNB7NiC2dldGtpbmRtZXRh+AMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0a2luZG1ldGEKc3VtbWFyeTogJ0dldCBlbnRpdHkga2luZCBtZXRhZGF0YScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgdGhlIGVudGl0eSBraW5kIHJlZ2lzdHJ5IGFuZCB0ZW1wbGF0ZSByZWdpc3RyeSwgaW5jbHVkaW5nIGVhY2gga2luZCdzIGNsYXNzaWZpY2F0aW9uLCBjYXBhYmlsaXR5IGZsYWdzLCBaLWNvb3JkaW5hdGUsIGFuZCBkZWZhdWx0IGxhYmVsLCBwbHVzIHRoZSBtYXBwaW5nIG9mIGVudGl0eSBpdGVtIGlkcyB0byBraW5kcyB3aXRoIGRpc3BsYXkgbGFiZWxzLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIGludGVycHJldCBlbnRpdHkga2luZHMgYW5kIGNhcGFiaWxpdGllcy4AJnXZIBqzYgtnZXRsb2NhdGlvbuICLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGxvY2F0aW9uCnN1bW1hcnk6ICdHZXQgbG9jYXRpb24gaW5mb3JtYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIHJldHVybnMgaW5mb3JtYXRpb24gYWJvdXQgYSBsb2NhdGlvbiBpbmNsdWRpbmcgd2hldGhlciBhIHN5c3RlbSBleGlzdHMsIGFuZCBmb3IgZWFjaCBpdGVtOiBwcmljZSwgc3VwcGx5LCByYXJpdHkgbXVsdGlwbGllciwgYW5kIGxvY2F0aW9uIG11bHRpcGxpZXIuAIDJJiEas2IKZ2V0bG9jZGF0Yf4CLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGxvY2RhdGEKc3VtbWFyeTogJ0dldCBkZXJpdmVkIGxvY2F0aW9uIGRhdGEnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIHJldHVybnMgZGVyaXZlZCBsb2NhdGlvbiBkYXRhIGluY2x1ZGluZyBzdGF0aWMgcHJvcGVydGllcyAodHlwZSwgZGlmZmljdWx0eSwgc2VlZHMpIGZyb20gdGhlIGdhbWUgc2VlZCBhbmQgZXBvY2gtc3BlY2lmaWMgcHJvcGVydGllcyAoYWN0aXZlLCBzZWVkcykgZnJvbSB0aGUgY3VycmVudCBlcG9jaCBzZWVkLgCwqj4nKrNiC2dldG1vZHR5cGVz1gMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0bW9kdHlwZXMKc3VtbWFyeTogJ0dldCBtb2R1bGUgdHlwZSBlbnVtIHZhbHVlcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgdGhlIGZ1bGwgc2V0IG9mIG1vZHVsZSB0eXBlIGVudW0gdmFsdWVzIGFuZCB0aGVpciBzdHJpbmcgbmFtZXMgKGFueSwgZW5naW5lLCBnZW5lcmF0b3IsIGdhdGhlcmVyLCBsb2FkZXIsIHdhcnAsIGNyYWZ0ZXIsIGxhdW5jaGVyLCBzdG9yYWdlLCBoYXVsZXIpLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIGRlY29kZSBtb2R1bGUgc3VidHlwZSBpZGVudGlmaWVycyBhbmQgc2xvdCBjb21wYXRpYmlsaXR5LgAAVlEnKrNiCmdldG1vZHVsZXOAAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRtb2R1bGVzCnN1bW1hcnk6ICdHZXQgYWxsIG1vZHVsZSBpdGVtcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgdGhlIHN1YnNldCBvZiBpdGVtcyBjbGFzc2lmaWVkIGFzIG1vZHVsZXMsIGluY2x1ZGluZyBlYWNoIG1vZHVsZSdzIGlkLCBtYXNzLCBzdWJ0eXBlLCBhbmQgdGllci4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyB0byBlbnVtZXJhdGUgaW5zdGFsbGFibGUgZXF1aXBtZW50LgAA8OcaNbNiCWdldG5lYXJied4DLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldG5lYXJieQpzdW1tYXJ5OiAnR2V0IG5lYXJieSByZWFjaGFibGUgc3lzdGVtcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gcmV0dXJucyBuZWFyYnkgc3lzdGVtcyByZWFjaGFibGUgYnkgYW4gZW50aXR5IGZyb20gaXRzIHByb2plY3RlZCBsb2NhdGlvbi4gUmV0dXJucyBjdXJyZW50IHN0YXRlICh3aXRoIGNvbXBsZXRlZCB0YXNrcyByZXNvbHZlZCksIHByb2plY3RlZCBzdGF0ZSAoYWZ0ZXIgYWxsIHNjaGVkdWxlZCB0YXNrcyksIGFuZCBhIGxpc3Qgb2YgcmVhY2hhYmxlIHN5c3RlbXMgd2l0aCBkaXN0YW5jZSwgZW5lcmd5IGNvc3QsIGZsaWdodCB0aW1lLCBhbmQgbWFya2V0IGluZm9ybWF0aW9uLgCAwubkNbNiCmdldG5mdGJhc2UAAABd0+U1s2IKZ2V0bmZ0aW5mb/ADLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldG5mdGluZm8Kc3VtbWFyeTogJ0dldCBORlQgc2NoZW1hIGFuZCB0ZW1wbGF0ZSBjb25maWd1cmF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgZnVsbCBzZXQgb2YgQXRvbWljQXNzZXRzIHNjaGVtYXMgYW5kIHRlbXBsYXRlcyB0aGUgZ2FtZSBjb250cmFjdCBleHBlY3RzLCBwbHVzIHRoZSBjdXJyZW50IGBpdGVtX2lkIOKGkiAodGVtcGxhdGVfaWQsIHNjaGVtYV9uYW1lKWAgbWFwcGluZyBzdG9yZWQgaW4gdGhlIGBuZnRjb25maWdgIHRhYmxlLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIHN5bmMgYXRvbWljYXNzZXRzIHN0YXRlIHdpdGggdGhlIGNvbnRyYWN0LgAAuMqbWLNiCWdldHBsYXllcv0CLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHBsYXllcgpzdW1tYXJ5OiAnR2V0IHBsYXllciBpbmZvcm1hdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gcmV0dXJucyBpbmZvcm1hdGlvbiBhYm91dCBhIHBsYXllciBpbmNsdWRpbmcgYmFsYW5jZSwgZGVidCwgbmV0d29ydGgsIGVudGl0eSBjb3VudHMsIGFuZCBwcmljaW5nIGZvciBuZXh0IHB1cmNoYXNlcy4gUmV0dXJucyBpc19wbGF5ZXI9ZmFsc2UgaWYgdGhlIGFjY291bnQgaGFzIG5vdCBqb2luZWQgdGhlIGdhbWUuoLLJ+NFbs2IMZ2V0cHJvanN0YXRlywMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0cHJvanN0YXRlCnN1bW1hcnk6ICdHZXQgcHJvamVjdGVkIGVudGl0eSBzdGF0ZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgdGhlIHByb2plY3RlZCBzdGF0ZSBvZiBhbiBlbnRpdHkgYWZ0ZXIgYXBwbHlpbmcgdGhlIG5leHQgdGFza19jb3VudCBzY2hlZHVsZWQgdGFza3MgKG9yIGFsbCB0YXNrcyBpZiB0YXNrX2NvdW50IGlzIG9taXR0ZWQpLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIHByZXZpZXcgdGhlIHJlc3VsdCBvZiBhbiBlbnRpdHkncyBzY2hlZHVsZSB3aXRob3V0IHJlc29sdmluZyBvbi1jaGFpbi4AAFDVIXWzYglnZXRyZWNpcGWmAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRyZWNpcGUKc3VtbWFyeTogJ0dldCBhIHNpbmdsZSBjcmFmdGluZyByZWNpcGUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSByZWNpcGUgd2hvc2Ugb3V0cHV0IG1hdGNoZXMgdGhlIGdpdmVuIGl0ZW0gaWQsIGluY2x1ZGluZyBpdHMgaW5wdXRzLCBibGVuZCB3ZWlnaHRzLCBzdGF0IHNsb3RzLCBhbmQgcmVzb2x2ZWQgaXRlbSBtYXNzIGluZm8uIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gZGlzcGxheSBjcmFmdGluZyByZXF1aXJlbWVudHMuAABW1SF1s2IKZ2V0cmVjaXBlc6wDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHJlY2lwZXMKc3VtbWFyeTogJ0xpc3QgY3JhZnRpbmcgcmVjaXBlcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgYSBwYWdpbmF0ZWQgbGlzdCBvZiBjcmFmdGluZyByZWNpcGVzIHN0YXJ0aW5nIGF0IHRoZSBwcm92aWRlZCBsb3dlciBib3VuZCBvdXRwdXQgaXRlbSBpZCwgdXAgdG8gdGhlIHNwZWNpZmllZCBsaW1pdC4gRWFjaCBlbnRyeSBpbmNsdWRlcyBpbnB1dHMsIGJsZW5kIHdlaWdodHMsIHN0YXQgc2xvdHMsIGFuZCByZXNvbHZlZCBpdGVtIG1hc3MgaW5mby4AAM4GYXWzYgpnZXRyZXNjYXRzngMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0cmVzY2F0cwpzdW1tYXJ5OiAnR2V0IHJlc291cmNlIGNhdGVnb3J5IGVudW0gdmFsdWVzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgZnVsbCBzZXQgb2YgcmVzb3VyY2UgY2F0ZWdvcnkgZW51bSB2YWx1ZXMgYW5kIHRoZWlyIHN0cmluZyBuYW1lcyAob3JlLCBnYXMsIHJlZ29saXRoLCBiaW9tYXNzLCBjcnlzdGFsKS4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyB0byBkZWNvZGUgcmVzb3VyY2Ugc3VidHlwZSBpZGVudGlmaWVycy4AsNpXYXWzYgtnZXRyZXNlcnZlc/wDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHJlc2VydmVzCnN1bW1hcnk6ICdHZXQgY3VycmVudCByZXNlcnZlIG1vZGlmaWNhdGlvbnMgYXQgYSBsb2NhdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gcmV0dXJucyB0aGUgY2hhaW4ncyBtb2RpZmljYXRpb25zIHRvIGRlcml2ZWQgcmVzZXJ2ZXMgYXQgdGhlIGdpdmVuIGNvb3JkaW5hdGUgZm9yIHRoZSBjdXJyZW50IGVwb2NoIGFzIGEgbGlzdCBvZiB7c3RyYXR1bSwgcmVtYWluaW5nfSBwYWlycy4gU3RyYXRhIG5vdCBwcmVzZW50IGluIHRoZSByZXNwb25zZSB1c2UgdGhlaXIgZGVyaXZlZCBpbml0aWFsIHJlc2VydmUuIENvbXBvc2Ugd2l0aCBTREsgZGVyaXZhdGlvbiB0byBnZXQgdGhlIGZ1bGwgcGVyLWxvY2F0aW9uIHN0cmF0YSB2aWV3LoAVuppidbNiDGdldHJlc291cmNlc4cDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHJlc291cmNlcwpzdW1tYXJ5OiAnR2V0IGFsbCByZXNvdXJjZSBpdGVtcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgdGhlIHN1YnNldCBvZiBpdGVtcyBjbGFzc2lmaWVkIGFzIHJlc291cmNlcywgaW5jbHVkaW5nIGVhY2ggcmVzb3VyY2UncyBpZCwgbWFzcywgc3VidHlwZSwgYW5kIHRpZXIuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gZW51bWVyYXRlIGdhdGhlcmFibGUgbWF0ZXJpYWxzLgAAADjTiLNiCGdldHNsb3RzuwMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0c2xvdHMKc3VtbWFyeTogJ0dldCBlbnRpdHkgc2xvdCBsYXlvdXRzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgbW9kdWxlIHNsb3QgbGF5b3V0IGZvciBldmVyeSBlbnRpdHkgaXRlbSB0eXBlLCBsaXN0aW5nIHRoZSBvcmRlcmVkIHNsb3QgdHlwZXMgYXZhaWxhYmxlIGZvciBtb2R1bGUgaW5zdGFsbGF0aW9uLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIGRldGVybWluZSB3aGljaCBtb2R1bGUgdHlwZXMgYXJlIGNvbXBhdGlibGUgd2l0aCBhIGdpdmVuIGVudGl0eSBodWxsLgCA1NncjLNiCmdldHN0cmF0dW3SAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRzdHJhdHVtCnN1bW1hcnk6ICdHZXQgcmVzb3VyY2Ugc3RyYXR1bSBkYXRhJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIHJlc291cmNlIHN0cmF0dW0gZGF0YSBmb3IgYSBzcGVjaWZpYyBkZXB0aCBsYXllciBhdCBhIGNvb3JkaW5hdGUsIGluY2x1ZGluZyB0aGUgc3RyYXR1bSBzZWVkIGluZm8gYW5kIGRlcml2ZWQgcmVzb3VyY2Ugc3RhdHMugJW7RkqNs2IMZ2V0c3VtbWFyaWVz6AItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0c3VtbWFyaWVzCnN1bW1hcnk6ICdHZXQgZW50aXR5IHN1bW1hcmllcyBmb3IgYSBwbGF5ZXInCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJldHVybnMgbGlnaHR3ZWlnaHQgc3VtbWFyaWVzIG9mIGFsbCBlbnRpdGllcyBvd25lZCBieSBhIHBsYXllciBpbmNsdWRpbmcgdHlwZSwgaWQsIG93bmVyLCBuYW1lLCBsb2NhdGlvbiwgYW5kIGlkbGUgc3RhdHVzLiBPcHRpb25hbGx5IGZpbHRlciBieSBlbnRpdHkgdHlwZS4AVKRNXsqzYgtnZXR3b3JtaG9sZQCQHZ7m5qrpZQxncm91cHRyYW5zaXQAAKLa5uaq6WULZ3JvdXB0cmF2ZWyaBC0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBncm91cHRyYXZlbApzdW1tYXJ5OiAnTW92ZSBtdWx0aXBsZSBlbnRpdGllcyB0b2dldGhlcicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW5pdGlhdGUgZ3JvdXAgdHJhdmVsIGZvciBtdWx0aXBsZSBlbnRpdGllcyB0byBhIGRlc3RpbmF0aW9uLiBBbGwgZW50aXRpZXMgbXVzdCBiZSBhdCB0aGUgc2FtZSBsb2NhdGlvbiBhbmQgb3duZWQgYnkgdGhlIGNhbGxlci4gQXQgbGVhc3Qgb25lIGVudGl0eSB3aXRoIGVuZ2luZXMgaXMgcmVxdWlyZWQgdG8gcHJvdmlkZSB0aHJ1c3QuIEZsaWdodCBkdXJhdGlvbiBpcyBjYWxjdWxhdGVkIGZyb20gY29tYmluZWQgdGhydXN0IGFuZCB0b3RhbCBtYXNzIG9mIGFsbCBlbnRpdGllcy4gQ3JlYXRlcyBhbiBlbnRpdHlncm91cCBmb3IgYXRvbWljIHJlc29sdXRpb24gYW5kIGNhbmNlbGxhdGlvbi4AAAAAANCwaQRoYXNo+AEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogaGFzaApzdW1tYXJ5OiAnQ2FsY3VsYXRlIHNoYTI1NiBoYXNoJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDYWxjdWxhdGVzIHRoZSBzaGEyNTYgaGFzaCBvZiBhIHN0cmluZyBiYXNlZCB1c2luZyB0aGUgZ2FtZSBzZWVkLgAAAECE0rBpB2hhc2g1MTL7AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBoYXNoNTEyCnN1bW1hcnk6ICdDYWxjdWxhdGUgc2hhNTEyIGhhc2gnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkNhbGN1bGF0ZXMgdGhlIHNoYTUxMiBoYXNoIG9mIGEgc3RyaW5nIGJhc2VkIHVzaW5nIHRoZSBnYW1lIHNlZWQuACi7BuVLq3QLaW1wb3J0Y2FyZ28A4LPLU+VLq3QMaW1wb3J0ZW50aXR5AACqppflS6t0C2ltcG9ydGdyb3VwAHCVN7HmS6t0DGltcG9ydHBsYXllcgC6r8Lq5kurdA1pbXBvcnRyZXNlcnZlAABUNhnnS6t0C2ltcG9ydHN0YXRlAAAAAAAAMB19BGpvaW7EAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBqb2luCnN1bW1hcnk6ICdKb2luIGEgZ2FtZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSm9pbiBhIGdhbWUgb2YgU2hpcGxvYWQAAAAANDS1iQZsYXVuY2gAAAAAAACQDI0EbG9hZAAAAIhXM+nymgluZnRpbWd1cmyyAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBuZnRpbWd1cmwKc3VtbWFyeTogJ0dldCBORlQgaW1hZ2UgVVJMIGZvciBhIGNhcmdvIGl0ZW0nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBpbWFnZSBVUkwgdGhlIGNvbnRyYWN0IGVtaXRzIGZvciBhIGdpdmVuIGNhcmdvIGl0ZW0sIG9wdGlvbmFsbHkgc2NvcGVkIHRvIGEgbG9jYXRpb24uIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgYW5kIE5GVCByZW5kZXJlcnMgdG8gZmV0Y2ggdGhlIGNhbm9uaWNhbCBhcnR3b3JrIGZvciBhbiBpdGVtIG9yIHBhY2tlZCBlbnRpdHkuAAAAAPjlMp0Gbm90aWZ5igMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogbm90aWZ5CnN1bW1hcnk6ICdUYXNrIGxpZmVjeWNsZSBub3RpZmljYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkludGVybmFsIGFjdGlvbiB0aGF0IG5vdGlmaWVzIGVudGl0eSBvd25lcnMgb2YgdGFzayBsaWZlY3ljbGUgZXZlbnRzIChyZXNvbHZlZCwgY2FuY2VsbGVkKS4gQ2FsbGVkIGlubGluZSB3aGVuIHRhc2tzIGNoYW5nZSBzdGF0ZS4gVXNlcyByZXF1aXJlX3JlY2lwaWVudCB0byBlbmFibGUgb2ZmLWNoYWluIG1vbml0b3JpbmcgdmlhIGFjdGlvbiB0cmFjZXMuAABl1yCFTKwKcGxhY2VjYXJnb8kELS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHBsYWNlY2FyZ28Kc3VtbWFyeTogJ1Jlc3RvcmUgTkZUIGNhcmdvIG9udG8gYSBob3N0IGVudGl0eScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW50ZXJuYWwgYWN0aW9uIGNhbGxlZCBpbmxpbmUgYnkgdGhlIHBsYXRmb3JtIGNvbnRyYWN0IG9ubHkuIFJlc3RvcmVzIHRoZSBjYXJnbyByZWNvcmRlZCBpbiBhbiB1bndyYXBwZWQgTkZUIG9udG8gYSBob3N0IGVudGl0eS4gVmFsaWRhdGVzIGhvc3Qgb3duZXJzaGlwLCBsb2FkZXJzLCBhbmQgcmVtYWluaW5nIGNhcGFjaXR5LCBkZXNlcmlhbGl6ZXMgdGhlIE5GVCdzIGl0ZW0gZGF0YSwgYW5kIGFwcGVuZHMgYW4gdW53cmFwIHRhc2sgdG8gZGVsaXZlciB0aGUgY2FyZ28gdG8gdGhlIGhvc3QuIFRoZSBwbGF0Zm9ybSBjb250cmFjdCBjcmVkaXRzIHRoZSBkZXBvc2l0IHJlZnVuZCBhbmQgYnVybnMgdGhlIGFzc2V0LiBSZXF1aXJlcyBjb250cmFjdCBhdXRob3JpdHkuAHx2eSqFTKwLcGxhY2VlbnRpdHnABC0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBwbGFjZWVudGl0eQpzdW1tYXJ5OiAnTWF0ZXJpYWxpemUgYSBwYWNrZWQtZW50aXR5IE5GVCBhcyBhIGxpdmUgZW50aXR5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbnRlcm5hbCBhY3Rpb24gY2FsbGVkIGlubGluZSBieSB0aGUgcGxhdGZvcm0gY29udHJhY3Qgb25seS4gRW1wbGFjZXMgYSBsaXZlIG9yYml0YWwgdmVzc2VsIChzaGlwIG9yIGNvbnRhaW5lcikgZnJvbSBpdHMgcGFja2VkLWVudGl0eSBORlQgZGF0YSBhdCB0aGUgcmVjb3JkZWQgd3JhcCBvcmlnaW4sIHRoZW4gcXVldWVzIHRyYXZlbCBhbmQgcmVjaGFyZ2UgdGFza3MgdG8gZGVsaXZlciBpdCB0byB0aGUgdGFyZ2V0IG5leHVzIGF0IGZ1bGwgZW5lcmd5LiBUaGUgcGxhdGZvcm0gY29udHJhY3QgY3JlZGl0cyB0aGUgZGVwb3NpdCByZWZ1bmQgYW5kIGJ1cm5zIHRoZSBhc3NldC4gUmVxdWlyZXMgY29udHJhY3QgYXV0aG9yaXR5LgAAAIpd05C6CHJlY2hhcmdlzQItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogcmVjaGFyZ2UKc3VtbWFyeTogJ1JlY2hhcmdlIHNoaXAgZW5lcmd5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpTY2hlZHVsZSBhIHJlY2hhcmdlIHRhc2sgZm9yIGFuIGVudGl0eSB0byByZXN0b3JlIGVuZXJneSB0byBmdWxsIGNhcGFjaXR5LiBUaGUgcmVjaGFyZ2UgZHVyYXRpb24gZGVwZW5kcyBvbiBjdXJyZW50IGVuZXJneSBsZXZlbCBhbmQgcmVjaGFyZ2UgcmF0ZS7gs8tTNXyXugxyZWZyc2hlbnRpdHm4Ay0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiByZWZyc2hlbnRpdHkKc3VtbWFyeTogJ1JlZnJlc2ggZGVyaXZlZCBlbnRpdHkgc3RhdGUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJlY29tcHV0ZSBkZXJpdmVkIGZpZWxkcyBvbiBhbiBlbnRpdHkgZnJvbSBpdHMgY3VycmVudCBjYXJnbyBhbmQgbW9kdWxlcywgcmVmcmVzaGluZyBjYXBhYmlsaXR5IHN0YXRzIGFuZCBjYXJnbyBtYXNzLiBUaGUgZW50aXR5IG11c3QgYmUgaWRsZSB3aXRoIG5vIHNjaGVkdWxlZCB0YXNrcy4gVXNlZCB0byByZWNvbmNpbGUgZGVyaXZlZCBzdGF0ZSBhZnRlciBkYXRhIG1pZ3JhdGlvbnMgb3IgY29udHJhY3QgdXBncmFkZXMuoCIyl6pNpboMcmVtb3Zlb3JhY2xlAAAAAAAoaaa6BnJlbmFtZQAAAABA7UixugdyZXNvbHZl0AMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogcmVzb2x2ZQpzdW1tYXJ5OiAnQ29tcGxldGUgc2NoZWR1bGVkIHRhc2tzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpSZXNvbHZlIGNvbXBsZXRlZCB0YXNrcyBpbiBhbiBlbnRpdHkncyBzY2hlZHVsZSwgYXBwbHlpbmcgdGhlaXIgZWZmZWN0cyAocmVjaGFyZ2UgZW5lcmd5LCB1cGRhdGUgbG9jYXRpb24sIGxvYWQvdW5sb2FkIGNhcmdvKS4gSWYgY291bnQgaXMgc3BlY2lmaWVkLCByZXNvbHZlIGV4YWN0bHkgdGhhdCBtYW55IHRhc2tzOyBvdGhlcndpc2UgcmVzb2x2ZSBhbGwgY29tcGxldGVkIHRhc2tzLiBGYWlscyBpZiBjb3VudCBleGNlZWRzIHRoZSBudW1iZXIgb2YgY29tcGxldGVkIHRhc2tzLgBAjEbtSLG6CnJlc29sdmVhbGwAAAAAAESjtroGcmV2ZWFsAAAAACrqRKW8CHJtbW9kdWxlvAMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogcm1tb2R1bGUKc3VtbWFyeTogJ1JlbW92ZSBhIG1vZHVsZSBmcm9tIGEgc2xvdCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUmVtb3ZlIGFuIGluc3RhbGxlZCBtb2R1bGUgZnJvbSBhIHNsb3Qgb24gYSBsaXZlIGVudGl0eSBvciBhIHBhY2tlZCBlbnRpdHkgaW4gY2FyZ28uIFRoZSBlbnRpdHkgbXVzdCBiZSBpZGxlIHdpdGggbm8gc2NoZWR1bGVkIHRhc2tzLiBUaGUgbW9kdWxlIGlzIHJldHVybmVkIHRvIGNhcmdvLiBGYWlscyBpZiB0aGUgZW50aXR5IGRvZXMgbm90IGhhdmUgZW5vdWdoIGNhcmdvIGNhcGFjaXR5IHRvIGhvbGQgdGhlIHJldHVybmVkIG1vZHVsZS4AAABsobymvAhybW5mdGNmZ6EDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHJtbmZ0Y2ZnCnN1bW1hcnk6ICdSZW1vdmUgTkZUIHRlbXBsYXRlIG1hcHBpbmcgZm9yIGFuIGl0ZW0nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJlbW92ZSB0aGUgQXRvbWljQXNzZXRzIHRlbXBsYXRlIG1hcHBpbmcgZm9yIHRoZSBzcGVjaWZpZWQgaXRlbSBpZCBmcm9tIHRoZSBgbmZ0Y29uZmlnYCB0YWJsZS4gQWZ0ZXIgcmVtb3ZhbCB0aGUgaXRlbSBjYW4gbm8gbG9uZ2VyIGJlIHdyYXBwZWQgb3IgdW53cmFwcGVkIHVudGlsIGEgbmV3IG1hcHBpbmcgaXMgc2V0LiBSZXF1aXJlcyBjb250cmFjdCBhdXRob3JpdHkuAADA6VKKssIJc2V0Y29vcmRzAAAAYAvlNbPCCXNldG5mdGNmZ8QDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHNldG5mdGNmZwpzdW1tYXJ5OiAnU2V0IE5GVCB0ZW1wbGF0ZSBtYXBwaW5nIGZvciBhbiBpdGVtJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpCaW5kIGFuIGl0ZW0gaWQgdG8gYW4gQXRvbWljQXNzZXRzIHRlbXBsYXRlIGlkIGFuZCBzY2hlbWEgbmFtZS4gVXNlZCB0byBjb25maWd1cmUgaG93IHRoZSBjb250cmFjdCBtaW50cyBhbmQgcmVjb2duaXplcyBORlRzIGZvciBhIGdpdmVuIGl0ZW0uIEluc2VydHMgYSBuZXcgbWFwcGluZyBpZiBvbmUgZG9lcyBub3QgZXhpc3QsIG9yIHVwZGF0ZXMgdGhlIGV4aXN0aW5nIG1hcHBpbmcuIFJlcXVpcmVzIGNvbnRyYWN0IGF1dGhvcml0eS6QIm1Y3ZazwgxzZXR0aHJlc2hvbGQAADKmqJrLs8ILc2V0d3JhcGNvc3QAAIBSq5rLs8IKc2V0d3JhcGZlZQAAAKDsGsRpxglzdG93Y2FyZ2/VBS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBzdG93Y2FyZ28Kc3VtbWFyeTogJ1Jlc2VydmUgYSBjYXJnbyBzdGFjayBmb3Igd3JhcHBpbmcgaW50byBhbiBORlQnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkludGVybmFsIGFjdGlvbiBjYWxsZWQgaW5saW5lIGJ5IHRoZSBwbGF0Zm9ybSBjb250cmFjdCBvbmx5LiBSZXNlcnZlcyBhbmQgY29uc3VtZXMgYSBjYXJnbyBzdGFjayBvbiBhIGxpdmUgZW50aXR5IGZvciB3cmFwcGluZyBpbnRvIGFuIE5GVC4gVmFsaWRhdGVzIGVudGl0eSBvd25lcnNoaXAsIGxvYWRlcnMsIGFuZCBwcmVzZW5jZSBhdCB0aGUgbmV4dXMsIGFuZCBjb25maXJtcyB0aGUgdGFyZ2V0IGNhcmdvIHN0YWNrIGlzIGF2YWlsYWJsZSBhbmQgbm90IHJlc2VydmVkIGJ5IGEgcGVuZGluZyB0YXNrLiBDb21wdXRlcyB0aGUgd3JhcCBjb3N0IGFuZCBmZWUsIGRlYml0cyB0aGVtIGZyb20gdGhlIG93bmVyJ3MgcGxhdGZvcm0gZGVwb3NpdCBiYWxhbmNlLCBkZXJpdmVzIHRoZSBORlQncyBpbW11dGFibGUgZGF0YSwgYW5kIG1pbnRzIHRoZSBORlQgaW5saW5lIGFzIHRoZSBnYW1lIGNvbnRyYWN0IGJlZm9yZSBjb25zdW1pbmcgdGhlIGNhcmdvLiBSZXF1aXJlcyBjb250cmFjdCBhdXRob3JpdHkuAIDPLk/FacYKc3Rvd2VudGl0eZkFLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHN0b3dlbnRpdHkKc3VtbWFyeTogJ1Jlc2VydmUgYW4gZW50aXR5IGZvciB3cmFwcGluZyBpbnRvIGFuIE5GVCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW50ZXJuYWwgYWN0aW9uIGNhbGxlZCBpbmxpbmUgYnkgdGhlIHBsYXRmb3JtIGNvbnRyYWN0IG9ubHkuIFJlc2VydmVzIGEgd2hvbGUgZW50aXR5IChzaGlwLCBjb250YWluZXIsIG9yIHBsYW5ldGFyeSBzdHJ1Y3R1cmUpIGZvciB3cmFwcGluZyBpbnRvIGFuIE5GVC4gVGhlIGVudGl0eSBtdXN0IGJlIGlkbGUgd2l0aCBlbXB0eSBjYXJnbyBhbmQgbm8gc2NoZWR1bGVkIHRhc2tzLiBDb21wdXRlcyB0aGUgd3JhcCBjb3N0IGFuZCBmZWUsIGRlYml0cyB0aGVtIGZyb20gdGhlIG93bmVyJ3MgcGxhdGZvcm0gZGVwb3NpdCBiYWxhbmNlLCBkZXJpdmVzIHRoZSBlbnRpdHkgTkZUJ3MgaW1tdXRhYmxlIGRhdGEsIG1pbnRzIHRoZSBORlQgaW5saW5lIGFzIHRoZSBnYW1lIGNvbnRyYWN0LCBhbmQgZXJhc2VzIHRoZSBlbnRpdHkgZnJvbSB0aGUgd29ybGQuIFJlcXVpcmVzIGNvbnRyYWN0IGF1dGhvcml0eS4AgIo6UVkNxwpzd2FwbW9kdWxlAAAAACA7PM3NB3RyYW5zaXQAAAAAAES1zc0GdHJhdmVs+wEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogdHJhdmVsCnN1bW1hcnk6ICdNb3ZlIGEgc2hpcCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW5pdGlhdGUgdHJhdmVsIG9mIGFuIGVudGl0eSBmcm9tIGl0cyBjdXJyZW50IGxvY2F0aW9uIHRvIGEgbmV3IGRlc3RpbmF0aW9uLgAAAJ7GqtLUCHVuZGVwbG955wQtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogdW5kZXBsb3kKc3VtbWFyeTogJ1BhY2sgYSBkZXBsb3llZCBlbnRpdHkgaW50byBhIGhvc3QnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClBhY2sgYW4gZW50aXR5IGludG8gYSBob3N0IGVudGl0eSdzIGNhcmdvIGFzIGEgcGFja2VkLWVudGl0eSBpdGVtLiBIb3N0IGFuZCB0YXJnZXQgbXVzdCBzaGFyZSB0aGUgc2FtZSBvd25lciBhbmQgY29vcmRpbmF0ZXMsIHRoZSBob3N0IG11c3QgaGF2ZSBsb2FkZXJzIGFuZCBlbm91Z2ggY2FwYWNpdHkgZm9yIHRoZSBwYWNrZWQgbWFzcywgYW5kIHRoZSB0YXJnZXQgbXVzdCBiZSBpZGxlIHdpdGggZW1wdHkgY2FyZ28uIENyZWF0ZXMgYW4gZW50aXR5Z3JvdXAgYW5kIHNjaGVkdWxlcyB1bmRlcGxveSB0YXNrcyBvbiBib3RoIGVudGl0aWVzOyBvbiByZXNvbHV0aW9uIHRoZSB0YXJnZXQgaXMgZXJhc2VkIGFuZCB0aGUgcGFja2VkIGVudGl0eSBpcyBhZGRlZCB0byB0aGUgaG9zdCdzIGNhcmdvLiBJbnZlcnNlIG9mIGRlcGxveS4AAAAAJEPj1AZ1bmxvYWQAAAAAAABQr+EEd2FycJ8DLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHdhcnAKc3VtbWFyeTogJ1dhcnAgdG8gYSBkZXN0aW5hdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW5zdGFudGx5IHRlbGVwb3J0IGFuIGVudGl0eSB0byBhIGRlc3RpbmF0aW9uIHN5c3RlbS4gUmVxdWlyZXMgd2FycCBjYXBhYmlsaXR5LCBmdWxsIGVuZXJneSwgZW1wdHkgY2FyZ28sIGFuZCBhbiBlbXB0eSBzY2hlZHVsZS4gVGhlIGRlc3RpbmF0aW9uIG11c3QgYmUgYSB2YWxpZCBzeXN0ZW0gd2l0aGluIHdhcnAgcmFuZ2UuIFJlc29sdmVzIGltbWVkaWF0ZWx5IGFzIGEgemVyby1kdXJhdGlvbiB0YXNrLgAAAAAAoKrjBHdpcGWyAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB3aXBlCnN1bW1hcnk6ICdERUJVRzogd2lwZSBhY3Rpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0RAAAAAADKrkEDaTY0AAAJY2FyZ29fcm93AAAAAGDpTEQDaTY0AAAJY2xhaW1fcm93AAAAAGQnJUUDaTY0AAAKY29tbWl0X3JvdwAAAAD47PJUA2k2NAAACmVudGl0eV9yb3cAqqaX+ezyVANpNjQAAA9lbnRpdHlncm91cF9yb3cAALAK++zyVANpNjQAAA5lbnRpdHlfc2VxX3JvdwAAAACAhmhVA2k2NAAACWVwb2NoX3JvdwAAYG5NivKaA2k2NAAADW5mdGNvbmZpZ19yb3cAAGALqYjMpQNpNjQAABFvcmFjbGVfY29uZmlnX3JvdwAAAACriMylA2k2NAAACm9yYWNsZV9yb3cAAAAAXOVNrANpNjQAAApwbGF5ZXJfcm93AAAAQO2rsLoDaTY0AAALcmVzZXJ2ZV9yb3cAAAAARKO2ugNpNjQAAApyZXZlYWxfcm93AAAAAACVTcYDaTY0AAAJc3RhdGVfcm93AAAAAACsqs8DaTY0AAAJdHlwZXNfcm93AABza1JUzeUDaTY0AAAOd3JhcGNvbmZpZ19yb3cAAAAZU1TN5QNpNjQAAAx3cmFwY29zdF9yb3cBEVNoaXBsb2FkIChTZXJ2ZXIpEVNoaXBsb2FkIChTZXJ2ZXIpAAAAOgAAyDTWFJ0+DHRhc2tfcmVzdWx0cwAAAABEhaZBDmNhbmNlbF9yZXN1bHRzAADINFbpTEQMdGFza19yZXN1bHRzAAAAAIC8zEUMdGFza19yZXN1bHRzAAAADbtIpUoMdGFza19yZXN1bHRzAAAAAHgaq0oMdGFza19yZXN1bHRzAIDPLk+FsEoGc3RyaW5nAAAAAFzVsmEMdGFza19yZXN1bHRzAABgbk2KsmILZ2FtZV9jb25maWcAQHaYVpWyYg5leHRlbmRlZF9hc3NldAAUmiZjl7JiBnVpbnQ2NABUPI65qLJiCHVpbnQxNltdAADAEeWpsmILZW51bV9yZXN1bHQAsHLZ5amyYg1lbnRpdHlfaW5mb1tdAADw2eWpsmILZW50aXR5X2luZm8ATDZJquyyYg9pdGVtZGF0YV9yZXN1bHQAAE5OquyyYg9pdGVtX2lkc19yZXN1bHQAAABYquyyYgppdGVtc19pbmZvAFT1WarssmIFdWludDiAVfVZquyyYgtlbnVtX3Jlc3VsdABMVjJNB7NiEGtpbmRfbWV0YV9yZXN1bHQAJnXZIBqzYg1sb2NhdGlvbl9pbmZvAIDJJiEas2IQbG9jYXRpb25fZGVyaXZlZACwqj4nKrNiC2VudW1fcmVzdWx0AABWUScqs2IObW9kdWxlc19yZXN1bHQAAPDnGjWzYgtuZWFyYnlfaW5mbwCAwubkNbNiCHN0cmluZ1tdAABd0+U1s2IObmZ0aW5mb19yZXN1bHQAALjKm1izYgtwbGF5ZXJfaW5mb6CyyfjRW7NiD3Byb2plY3RlZF9zdGF0ZQAAUNUhdbNiDnJlY2lwZXNfcmVzdWx0AABW1SF1s2IOcmVjaXBlc19yZXN1bHQAAM4GYXWzYgtlbnVtX3Jlc3VsdACw2ldhdbNiE3N0cmF0dW1fcmVtYWluaW5nW12AFbqaYnWzYhByZXNvdXJjZXNfcmVzdWx0AAAAONOIs2IVZW50aXR5X2xheW91dHNfcmVzdWx0AIDU2dyMs2IMc3RyYXR1bV9kYXRhgJW7RkqNs2IQZW50aXR5X3N1bW1hcnlbXQBUpE1eyrNiDXdvcm1ob2xlX2luZm+QHZ7m5qrpZQx0YXNrX3Jlc3VsdHMAotrm5qrpZQx0YXNrX3Jlc3VsdHMAAAAAANCwaQtjaGVja3N1bTI1NgAAAECE0rBpC2NoZWNrc3VtNTEyAAAAADQ0tYkMdGFza19yZXN1bHRzAAAAAACQDI0MdGFza19yZXN1bHRzAACIVzPp8poGc3RyaW5nAABl1yCFTKwMdGFza19yZXN1bHRzAHx2eSqFTKwMdGFza19yZXN1bHRzAAAAil3TkLoMdGFza19yZXN1bHRzAAAAQO1IsboPcmVzb2x2ZV9yZXN1bHRzAECMRu1IsboScmVzb2x2ZWFsbF9yZXN1bHRzAACg7BrEacYMdGFza19yZXN1bHRzAIDPLk/FacYMdGFza19yZXN1bHRzAAAAIDs8zc0MdGFza19yZXN1bHRzAAAAAES1zc0MdGFza19yZXN1bHRzAAAAnsaq0tQMdGFza19yZXN1bHRzAAAAACRD49QMdGFza19yZXN1bHRzAAAAAABQr+EMdGFza19yZXN1bHRz'
|
|
33
35
|
)
|
|
34
36
|
export const abi = ABI.from(abiBlob)
|
|
35
37
|
export namespace Types {
|
|
38
|
+
@Struct.type('packed_module')
|
|
39
|
+
export class packed_module extends Struct {
|
|
40
|
+
@Struct.field(UInt16)
|
|
41
|
+
declare item_id: UInt16
|
|
42
|
+
@Struct.field(UInt64)
|
|
43
|
+
declare stats: UInt64
|
|
44
|
+
}
|
|
45
|
+
@Struct.type('module_entry')
|
|
46
|
+
export class module_entry extends Struct {
|
|
47
|
+
@Struct.field(UInt8)
|
|
48
|
+
declare type: UInt8
|
|
49
|
+
@Struct.field(packed_module, {optional: true})
|
|
50
|
+
declare installed?: packed_module
|
|
51
|
+
}
|
|
52
|
+
@Struct.type('cargo_ref')
|
|
53
|
+
export class cargo_ref extends Struct {
|
|
54
|
+
@Struct.field(UInt16)
|
|
55
|
+
declare item_id: UInt16
|
|
56
|
+
@Struct.field(UInt64)
|
|
57
|
+
declare stats: UInt64
|
|
58
|
+
@Struct.field(module_entry, {array: true})
|
|
59
|
+
declare modules: module_entry[]
|
|
60
|
+
@Struct.field(UInt64, {optional: true})
|
|
61
|
+
declare entity_id?: UInt64
|
|
62
|
+
}
|
|
36
63
|
@Struct.type('addmodule')
|
|
37
64
|
export class addmodule extends Struct {
|
|
38
|
-
@Struct.field(Name)
|
|
39
|
-
declare entity_type: Name
|
|
40
65
|
@Struct.field(UInt64)
|
|
41
66
|
declare entity_id: UInt64
|
|
42
67
|
@Struct.field(UInt8)
|
|
43
68
|
declare module_index: UInt8
|
|
44
|
-
@Struct.field(
|
|
45
|
-
declare
|
|
46
|
-
@Struct.field(
|
|
47
|
-
declare
|
|
69
|
+
@Struct.field(cargo_ref)
|
|
70
|
+
declare module_ref: cargo_ref
|
|
71
|
+
@Struct.field(cargo_ref, {optional: true})
|
|
72
|
+
declare target_ref?: cargo_ref
|
|
48
73
|
}
|
|
49
74
|
@Struct.type('addnexus')
|
|
50
75
|
export class addnexus extends Struct {
|
|
@@ -55,53 +80,44 @@ export namespace Types {
|
|
|
55
80
|
@Struct.field(Int64)
|
|
56
81
|
declare y: Int64
|
|
57
82
|
}
|
|
58
|
-
@Struct.type('
|
|
59
|
-
export class
|
|
60
|
-
@Struct.field(
|
|
61
|
-
declare
|
|
62
|
-
@Struct.field(Checksum256)
|
|
63
|
-
declare commit: Checksum256
|
|
64
|
-
}
|
|
65
|
-
@Struct.type('packed_module')
|
|
66
|
-
export class packed_module extends Struct {
|
|
67
|
-
@Struct.field(UInt16)
|
|
68
|
-
declare item_id: UInt16
|
|
69
|
-
@Struct.field(UInt64)
|
|
70
|
-
declare stats: UInt64
|
|
71
|
-
}
|
|
72
|
-
@Struct.type('module_entry')
|
|
73
|
-
export class module_entry extends Struct {
|
|
74
|
-
@Struct.field(UInt8)
|
|
75
|
-
declare type: UInt8
|
|
76
|
-
@Struct.field(packed_module, {optional: true})
|
|
77
|
-
declare installed?: packed_module
|
|
83
|
+
@Struct.type('addoracle')
|
|
84
|
+
export class addoracle extends Struct {
|
|
85
|
+
@Struct.field(Name)
|
|
86
|
+
declare oracle_id: Name
|
|
78
87
|
}
|
|
79
88
|
@Struct.type('cargo_item')
|
|
80
89
|
export class cargo_item extends Struct {
|
|
81
90
|
@Struct.field(UInt16)
|
|
82
91
|
declare item_id: UInt16
|
|
83
|
-
@Struct.field(UInt32)
|
|
84
|
-
declare quantity: UInt32
|
|
85
92
|
@Struct.field(UInt64)
|
|
86
93
|
declare stats: UInt64
|
|
87
94
|
@Struct.field(module_entry, {array: true})
|
|
88
95
|
declare modules: module_entry[]
|
|
96
|
+
@Struct.field(UInt32)
|
|
97
|
+
declare quantity: UInt32
|
|
98
|
+
@Struct.field(UInt64, {optional: true})
|
|
99
|
+
declare entity_id?: UInt64
|
|
89
100
|
}
|
|
90
101
|
@Struct.type('blend')
|
|
91
102
|
export class blend extends Struct {
|
|
92
|
-
@Struct.field(Name)
|
|
93
|
-
declare entity_type: Name
|
|
94
103
|
@Struct.field(UInt64)
|
|
95
104
|
declare id: UInt64
|
|
96
105
|
@Struct.field(cargo_item, {array: true})
|
|
97
106
|
declare inputs: cargo_item[]
|
|
98
107
|
}
|
|
108
|
+
@Struct.type('buildplot')
|
|
109
|
+
export class buildplot extends Struct {
|
|
110
|
+
@Struct.field(UInt64)
|
|
111
|
+
declare builder_id: UInt64
|
|
112
|
+
@Struct.field(UInt64)
|
|
113
|
+
declare plot_id: UInt64
|
|
114
|
+
}
|
|
99
115
|
@Struct.type('cancel')
|
|
100
116
|
export class cancel extends Struct {
|
|
101
|
-
@Struct.field(Name)
|
|
102
|
-
declare entity_type: Name
|
|
103
117
|
@Struct.field(UInt64)
|
|
104
118
|
declare id: UInt64
|
|
119
|
+
@Struct.field(UInt8)
|
|
120
|
+
declare lane_key: UInt8
|
|
105
121
|
@Struct.field(UInt64)
|
|
106
122
|
declare count: UInt64
|
|
107
123
|
}
|
|
@@ -141,28 +157,51 @@ export namespace Types {
|
|
|
141
157
|
declare stats: UInt64
|
|
142
158
|
@Struct.field(module_entry, {array: true})
|
|
143
159
|
declare modules: module_entry[]
|
|
160
|
+
@Struct.field(UInt64, {optional: true})
|
|
161
|
+
declare sequence_id?: UInt64
|
|
144
162
|
}
|
|
145
163
|
@Struct.type('cargo_view')
|
|
146
164
|
export class cargo_view extends Struct {
|
|
147
165
|
@Struct.field(UInt16)
|
|
148
166
|
declare item_id: UInt16
|
|
149
|
-
@Struct.field(UInt32)
|
|
150
|
-
declare quantity: UInt32
|
|
151
167
|
@Struct.field(UInt64)
|
|
152
168
|
declare stats: UInt64
|
|
153
169
|
@Struct.field(module_entry, {array: true})
|
|
154
170
|
declare modules: module_entry[]
|
|
171
|
+
@Struct.field(UInt32)
|
|
172
|
+
declare quantity: UInt32
|
|
155
173
|
@Struct.field(UInt64)
|
|
156
174
|
declare id: UInt64
|
|
175
|
+
@Struct.field(UInt64, {optional: true})
|
|
176
|
+
declare entity_id?: UInt64
|
|
157
177
|
}
|
|
158
|
-
@Struct.type('
|
|
159
|
-
export class
|
|
178
|
+
@Struct.type('claim_row')
|
|
179
|
+
export class claim_row extends Struct {
|
|
160
180
|
@Struct.field(Name)
|
|
161
|
-
declare
|
|
181
|
+
declare owner: Name
|
|
182
|
+
}
|
|
183
|
+
@Struct.type('coordinates')
|
|
184
|
+
export class coordinates extends Struct {
|
|
162
185
|
@Struct.field(Int64)
|
|
163
186
|
declare x: Int64
|
|
164
187
|
@Struct.field(Int64)
|
|
165
188
|
declare y: Int64
|
|
189
|
+
@Struct.field(UInt16, {optional: true})
|
|
190
|
+
declare z?: UInt16
|
|
191
|
+
}
|
|
192
|
+
@Struct.type('claimplot')
|
|
193
|
+
export class claimplot extends Struct {
|
|
194
|
+
@Struct.field(UInt64)
|
|
195
|
+
declare builder_id: UInt64
|
|
196
|
+
@Struct.field(UInt16)
|
|
197
|
+
declare target_item_id: UInt16
|
|
198
|
+
@Struct.field(coordinates)
|
|
199
|
+
declare coords: coordinates
|
|
200
|
+
}
|
|
201
|
+
@Struct.type('claimstarter')
|
|
202
|
+
export class claimstarter extends Struct {
|
|
203
|
+
@Struct.field(Name)
|
|
204
|
+
declare owner: Name
|
|
166
205
|
}
|
|
167
206
|
@Struct.type('cleanrsvp')
|
|
168
207
|
export class cleanrsvp extends Struct {
|
|
@@ -182,6 +221,21 @@ export namespace Types {
|
|
|
182
221
|
}
|
|
183
222
|
@Struct.type('commit')
|
|
184
223
|
export class commit extends Struct {
|
|
224
|
+
@Struct.field(Name)
|
|
225
|
+
declare oracle_id: Name
|
|
226
|
+
@Struct.field(UInt64)
|
|
227
|
+
declare epoch: UInt64
|
|
228
|
+
@Struct.field(Checksum256)
|
|
229
|
+
declare commit: Checksum256
|
|
230
|
+
}
|
|
231
|
+
@Struct.type('commit_row')
|
|
232
|
+
export class commit_row extends Struct {
|
|
233
|
+
@Struct.field(UInt64)
|
|
234
|
+
declare id: UInt64
|
|
235
|
+
@Struct.field(UInt64)
|
|
236
|
+
declare epoch: UInt64
|
|
237
|
+
@Struct.field(Name)
|
|
238
|
+
declare oracle_id: Name
|
|
185
239
|
@Struct.field(Checksum256)
|
|
186
240
|
declare commit: Checksum256
|
|
187
241
|
}
|
|
@@ -219,64 +273,8 @@ export namespace Types {
|
|
|
219
273
|
@Struct.field(game_config)
|
|
220
274
|
declare config: game_config
|
|
221
275
|
}
|
|
222
|
-
@Struct.type('coordinates')
|
|
223
|
-
export class coordinates extends Struct {
|
|
224
|
-
@Struct.field(Int64)
|
|
225
|
-
declare x: Int64
|
|
226
|
-
@Struct.field(Int64)
|
|
227
|
-
declare y: Int64
|
|
228
|
-
@Struct.field(UInt16, {optional: true})
|
|
229
|
-
declare z?: UInt16
|
|
230
|
-
}
|
|
231
|
-
@Struct.type('task')
|
|
232
|
-
export class task extends Struct {
|
|
233
|
-
@Struct.field(UInt8)
|
|
234
|
-
declare type: UInt8
|
|
235
|
-
@Struct.field(UInt32)
|
|
236
|
-
declare duration: UInt32
|
|
237
|
-
@Struct.field(UInt8)
|
|
238
|
-
declare cancelable: UInt8
|
|
239
|
-
@Struct.field(coordinates, {optional: true})
|
|
240
|
-
declare coordinates?: coordinates
|
|
241
|
-
@Struct.field(cargo_item, {array: true})
|
|
242
|
-
declare cargo: cargo_item[]
|
|
243
|
-
@Struct.field(entity_ref, {optional: true})
|
|
244
|
-
declare entitytarget?: entity_ref
|
|
245
|
-
@Struct.field(UInt64, {optional: true})
|
|
246
|
-
declare entitygroup?: UInt64
|
|
247
|
-
@Struct.field(UInt16, {optional: true})
|
|
248
|
-
declare energy_cost?: UInt16
|
|
249
|
-
}
|
|
250
|
-
@Struct.type('schedule')
|
|
251
|
-
export class schedule extends Struct {
|
|
252
|
-
@Struct.field(TimePoint)
|
|
253
|
-
declare started: TimePoint
|
|
254
|
-
@Struct.field(task, {array: true})
|
|
255
|
-
declare tasks: task[]
|
|
256
|
-
}
|
|
257
|
-
@Struct.type('container_row')
|
|
258
|
-
export class container_row extends Struct {
|
|
259
|
-
@Struct.field(UInt64)
|
|
260
|
-
declare id: UInt64
|
|
261
|
-
@Struct.field(Name)
|
|
262
|
-
declare owner: Name
|
|
263
|
-
@Struct.field('string')
|
|
264
|
-
declare name: string
|
|
265
|
-
@Struct.field(coordinates)
|
|
266
|
-
declare coordinates: coordinates
|
|
267
|
-
@Struct.field(UInt32)
|
|
268
|
-
declare hullmass: UInt32
|
|
269
|
-
@Struct.field(UInt32)
|
|
270
|
-
declare capacity: UInt32
|
|
271
|
-
@Struct.field(UInt32)
|
|
272
|
-
declare cargomass: UInt32
|
|
273
|
-
@Struct.field(schedule, {optional: true})
|
|
274
|
-
declare schedule?: schedule
|
|
275
|
-
}
|
|
276
276
|
@Struct.type('craft')
|
|
277
277
|
export class craft extends Struct {
|
|
278
|
-
@Struct.field(Name)
|
|
279
|
-
declare entity_type: Name
|
|
280
278
|
@Struct.field(UInt64)
|
|
281
279
|
declare id: UInt64
|
|
282
280
|
@Struct.field(UInt16)
|
|
@@ -285,37 +283,33 @@ export namespace Types {
|
|
|
285
283
|
declare quantity: UInt32
|
|
286
284
|
@Struct.field(cargo_item, {array: true})
|
|
287
285
|
declare inputs: cargo_item[]
|
|
286
|
+
@Struct.field(UInt64, {optional: true})
|
|
287
|
+
declare target?: UInt64
|
|
288
|
+
@Struct.field(UInt8, {optional: true})
|
|
289
|
+
declare slot?: UInt8
|
|
288
290
|
}
|
|
289
|
-
@Struct.type('
|
|
290
|
-
export class
|
|
291
|
+
@Struct.type('crafter_lane')
|
|
292
|
+
export class crafter_lane extends Struct {
|
|
293
|
+
@Struct.field(UInt8)
|
|
294
|
+
declare slot_index: UInt8
|
|
291
295
|
@Struct.field(UInt16)
|
|
292
296
|
declare speed: UInt16
|
|
297
|
+
@Struct.field(UInt32)
|
|
298
|
+
declare drain: UInt32
|
|
293
299
|
@Struct.field(UInt16)
|
|
294
|
-
declare
|
|
300
|
+
declare output_pct: UInt16
|
|
295
301
|
}
|
|
296
|
-
@Struct.type('
|
|
297
|
-
export class
|
|
298
|
-
@Struct.field(
|
|
299
|
-
declare
|
|
300
|
-
@Struct.field(Name)
|
|
301
|
-
declare entity_type: Name
|
|
302
|
-
@Struct.field('string')
|
|
303
|
-
declare entity_name: string
|
|
304
|
-
@Struct.field(Int64)
|
|
305
|
-
declare x: Int64
|
|
306
|
-
@Struct.field(Int64)
|
|
307
|
-
declare y: Int64
|
|
302
|
+
@Struct.type('demolish')
|
|
303
|
+
export class demolish extends Struct {
|
|
304
|
+
@Struct.field(UInt64)
|
|
305
|
+
declare entity_id: UInt64
|
|
308
306
|
}
|
|
309
307
|
@Struct.type('deploy')
|
|
310
308
|
export class deploy extends Struct {
|
|
311
|
-
@Struct.field(Name)
|
|
312
|
-
declare entity_type: Name
|
|
313
309
|
@Struct.field(UInt64)
|
|
314
310
|
declare id: UInt64
|
|
315
|
-
@Struct.field(
|
|
316
|
-
declare
|
|
317
|
-
@Struct.field(UInt64)
|
|
318
|
-
declare stats: UInt64
|
|
311
|
+
@Struct.field(cargo_ref)
|
|
312
|
+
declare ref: cargo_ref
|
|
319
313
|
}
|
|
320
314
|
@Struct.type('descentity')
|
|
321
315
|
export class descentity extends Struct {
|
|
@@ -335,58 +329,119 @@ export namespace Types {
|
|
|
335
329
|
}
|
|
336
330
|
@Struct.type('energy_stats')
|
|
337
331
|
export class energy_stats extends Struct {
|
|
338
|
-
@Struct.field(
|
|
339
|
-
declare capacity:
|
|
340
|
-
@Struct.field(
|
|
341
|
-
declare recharge:
|
|
332
|
+
@Struct.field(UInt32)
|
|
333
|
+
declare capacity: UInt32
|
|
334
|
+
@Struct.field(UInt32)
|
|
335
|
+
declare recharge: UInt32
|
|
342
336
|
}
|
|
343
337
|
@Struct.type('entity_current_state')
|
|
344
338
|
export class entity_current_state extends Struct {
|
|
345
339
|
@Struct.field(coordinates)
|
|
346
340
|
declare coordinates: coordinates
|
|
347
|
-
@Struct.field(UInt16)
|
|
348
|
-
declare energy: UInt16
|
|
349
|
-
}
|
|
350
|
-
@Struct.type('loader_stats')
|
|
351
|
-
export class loader_stats extends Struct {
|
|
352
341
|
@Struct.field(UInt32)
|
|
353
|
-
declare
|
|
354
|
-
@Struct.field(UInt16)
|
|
355
|
-
declare thrust: UInt16
|
|
356
|
-
@Struct.field(UInt8)
|
|
357
|
-
declare quantity: UInt8
|
|
342
|
+
declare energy: UInt32
|
|
358
343
|
}
|
|
359
344
|
@Struct.type('movement_stats')
|
|
360
345
|
export class movement_stats extends Struct {
|
|
361
346
|
@Struct.field(UInt32)
|
|
362
347
|
declare thrust: UInt32
|
|
348
|
+
@Struct.field(UInt32)
|
|
349
|
+
declare drain: UInt32
|
|
350
|
+
}
|
|
351
|
+
@Struct.type('warp_stats')
|
|
352
|
+
export class warp_stats extends Struct {
|
|
353
|
+
@Struct.field(UInt32)
|
|
354
|
+
declare range: UInt32
|
|
355
|
+
}
|
|
356
|
+
@Struct.type('hauler_stats')
|
|
357
|
+
export class hauler_stats extends Struct {
|
|
358
|
+
@Struct.field(UInt8)
|
|
359
|
+
declare capacity: UInt8
|
|
363
360
|
@Struct.field(UInt16)
|
|
364
|
-
declare
|
|
361
|
+
declare efficiency: UInt16
|
|
362
|
+
@Struct.field(UInt32)
|
|
363
|
+
declare drain: UInt32
|
|
365
364
|
}
|
|
366
|
-
@Struct.type('
|
|
367
|
-
export class
|
|
365
|
+
@Struct.type('gatherer_lane')
|
|
366
|
+
export class gatherer_lane extends Struct {
|
|
367
|
+
@Struct.field(UInt8)
|
|
368
|
+
declare slot_index: UInt8
|
|
368
369
|
@Struct.field(UInt16)
|
|
369
370
|
declare yield: UInt16
|
|
370
|
-
@Struct.field(
|
|
371
|
-
declare drain:
|
|
371
|
+
@Struct.field(UInt32)
|
|
372
|
+
declare drain: UInt32
|
|
372
373
|
@Struct.field(UInt16)
|
|
373
374
|
declare depth: UInt16
|
|
374
375
|
@Struct.field(UInt16)
|
|
375
|
-
declare
|
|
376
|
+
declare output_pct: UInt16
|
|
376
377
|
}
|
|
377
|
-
@Struct.type('
|
|
378
|
-
export class
|
|
378
|
+
@Struct.type('loader_lane')
|
|
379
|
+
export class loader_lane extends Struct {
|
|
379
380
|
@Struct.field(UInt8)
|
|
380
|
-
declare
|
|
381
|
+
declare slot_index: UInt8
|
|
382
|
+
@Struct.field(UInt32)
|
|
383
|
+
declare mass: UInt32
|
|
381
384
|
@Struct.field(UInt16)
|
|
382
|
-
declare
|
|
385
|
+
declare thrust: UInt16
|
|
386
|
+
@Struct.field(UInt16)
|
|
387
|
+
declare output_pct: UInt16
|
|
388
|
+
}
|
|
389
|
+
@Struct.type('launcher_stats')
|
|
390
|
+
export class launcher_stats extends Struct {
|
|
391
|
+
@Struct.field(UInt16)
|
|
392
|
+
declare charge_rate: UInt16
|
|
393
|
+
@Struct.field(UInt16)
|
|
394
|
+
declare velocity: UInt16
|
|
383
395
|
@Struct.field(UInt16)
|
|
384
396
|
declare drain: UInt16
|
|
385
397
|
}
|
|
386
|
-
@Struct.type('
|
|
387
|
-
export class
|
|
398
|
+
@Struct.type('task')
|
|
399
|
+
export class task extends Struct {
|
|
400
|
+
@Struct.field(UInt8)
|
|
401
|
+
declare type: UInt8
|
|
388
402
|
@Struct.field(UInt32)
|
|
389
|
-
declare
|
|
403
|
+
declare duration: UInt32
|
|
404
|
+
@Struct.field(UInt8)
|
|
405
|
+
declare cancelable: UInt8
|
|
406
|
+
@Struct.field(coordinates, {optional: true})
|
|
407
|
+
declare coordinates?: coordinates
|
|
408
|
+
@Struct.field(cargo_item, {array: true})
|
|
409
|
+
declare cargo: cargo_item[]
|
|
410
|
+
@Struct.field(entity_ref, {optional: true})
|
|
411
|
+
declare entitytarget?: entity_ref
|
|
412
|
+
@Struct.field(UInt64, {optional: true})
|
|
413
|
+
declare entitygroup?: UInt64
|
|
414
|
+
@Struct.field(UInt32, {optional: true})
|
|
415
|
+
declare energy_cost?: UInt32
|
|
416
|
+
@Struct.field(UInt64, {optional: true})
|
|
417
|
+
declare hold?: UInt64
|
|
418
|
+
}
|
|
419
|
+
@Struct.type('schedule')
|
|
420
|
+
export class schedule extends Struct {
|
|
421
|
+
@Struct.field(TimePoint)
|
|
422
|
+
declare started: TimePoint
|
|
423
|
+
@Struct.field(task, {array: true})
|
|
424
|
+
declare tasks: task[]
|
|
425
|
+
}
|
|
426
|
+
@Struct.type('lane')
|
|
427
|
+
export class lane extends Struct {
|
|
428
|
+
@Struct.field(UInt8)
|
|
429
|
+
declare lane_key: UInt8
|
|
430
|
+
@Struct.field(schedule)
|
|
431
|
+
declare schedule: schedule
|
|
432
|
+
}
|
|
433
|
+
@Struct.type('hold')
|
|
434
|
+
export class hold extends Struct {
|
|
435
|
+
@Struct.field(UInt64)
|
|
436
|
+
declare id: UInt64
|
|
437
|
+
@Struct.field(UInt8)
|
|
438
|
+
declare kind: UInt8
|
|
439
|
+
@Struct.field(entity_ref)
|
|
440
|
+
declare counterpart: entity_ref
|
|
441
|
+
@Struct.field(TimePoint)
|
|
442
|
+
declare until: TimePoint
|
|
443
|
+
@Struct.field(UInt32)
|
|
444
|
+
declare incoming_mass: UInt32
|
|
390
445
|
}
|
|
391
446
|
@Struct.type('entity_info')
|
|
392
447
|
export class entity_info extends Struct {
|
|
@@ -400,51 +455,47 @@ export namespace Types {
|
|
|
400
455
|
declare entity_name: string
|
|
401
456
|
@Struct.field(coordinates)
|
|
402
457
|
declare coordinates: coordinates
|
|
458
|
+
@Struct.field(UInt16)
|
|
459
|
+
declare item_id: UInt16
|
|
403
460
|
@Struct.field(UInt32)
|
|
404
461
|
declare cargomass: UInt32
|
|
405
462
|
@Struct.field(cargo_view, {array: true})
|
|
406
463
|
declare cargo: cargo_view[]
|
|
407
|
-
@Struct.field(loader_stats, {optional: true})
|
|
408
|
-
declare loaders?: loader_stats
|
|
409
464
|
@Struct.field(module_entry, {array: true})
|
|
410
465
|
declare modules: module_entry[]
|
|
411
|
-
@Struct.field(
|
|
412
|
-
declare energy?:
|
|
466
|
+
@Struct.field(UInt32, {optional: true})
|
|
467
|
+
declare energy?: UInt32
|
|
413
468
|
@Struct.field(UInt32, {optional: true})
|
|
414
469
|
declare hullmass?: UInt32
|
|
470
|
+
@Struct.field(UInt32, {optional: true})
|
|
471
|
+
declare capacity?: UInt32
|
|
415
472
|
@Struct.field(movement_stats, {optional: true})
|
|
416
473
|
declare engines?: movement_stats
|
|
474
|
+
@Struct.field(warp_stats, {optional: true})
|
|
475
|
+
declare warp?: warp_stats
|
|
417
476
|
@Struct.field(energy_stats, {optional: true})
|
|
418
477
|
declare generator?: energy_stats
|
|
419
|
-
@Struct.field(UInt32, {optional: true})
|
|
420
|
-
declare capacity?: UInt32
|
|
421
|
-
@Struct.field(gatherer_stats, {optional: true})
|
|
422
|
-
declare gatherer?: gatherer_stats
|
|
423
478
|
@Struct.field(hauler_stats, {optional: true})
|
|
424
479
|
declare hauler?: hauler_stats
|
|
425
|
-
@Struct.field(
|
|
426
|
-
declare
|
|
427
|
-
@Struct.field(
|
|
428
|
-
declare
|
|
429
|
-
@Struct.field(
|
|
430
|
-
declare
|
|
431
|
-
@Struct.field(
|
|
432
|
-
declare
|
|
433
|
-
@Struct.field(
|
|
434
|
-
declare
|
|
435
|
-
@Struct.field(
|
|
436
|
-
declare
|
|
437
|
-
@Struct.field(task, {array: true})
|
|
438
|
-
declare pending_tasks: task[]
|
|
439
|
-
@Struct.field(TimePoint, {optional: true})
|
|
440
|
-
declare idle_at?: TimePoint
|
|
441
|
-
@Struct.field(schedule, {optional: true})
|
|
442
|
-
declare schedule?: schedule
|
|
480
|
+
@Struct.field(gatherer_lane, {array: true})
|
|
481
|
+
declare gatherer_lanes: gatherer_lane[]
|
|
482
|
+
@Struct.field(crafter_lane, {array: true})
|
|
483
|
+
declare crafter_lanes: crafter_lane[]
|
|
484
|
+
@Struct.field(loader_lane, {array: true})
|
|
485
|
+
declare loader_lanes: loader_lane[]
|
|
486
|
+
@Struct.field(launcher_stats, {optional: true})
|
|
487
|
+
declare launcher?: launcher_stats
|
|
488
|
+
@Struct.field(lane, {array: true})
|
|
489
|
+
declare lanes: lane[]
|
|
490
|
+
@Struct.field(hold, {array: true})
|
|
491
|
+
declare holds: hold[]
|
|
443
492
|
}
|
|
444
493
|
@Struct.type('slot_def')
|
|
445
494
|
export class slot_def extends Struct {
|
|
446
495
|
@Struct.field(UInt8)
|
|
447
496
|
declare type: UInt8
|
|
497
|
+
@Struct.field(UInt16)
|
|
498
|
+
declare output_pct: UInt16
|
|
448
499
|
}
|
|
449
500
|
@Struct.type('entity_layout')
|
|
450
501
|
export class entity_layout extends Struct {
|
|
@@ -458,6 +509,38 @@ export namespace Types {
|
|
|
458
509
|
@Struct.field(entity_layout, {array: true})
|
|
459
510
|
declare entities: entity_layout[]
|
|
460
511
|
}
|
|
512
|
+
@Struct.type('entity_row')
|
|
513
|
+
export class entity_row extends Struct {
|
|
514
|
+
@Struct.field(UInt64)
|
|
515
|
+
declare id: UInt64
|
|
516
|
+
@Struct.field(Name)
|
|
517
|
+
declare owner: Name
|
|
518
|
+
@Struct.field(Name)
|
|
519
|
+
declare kind: Name
|
|
520
|
+
@Struct.field(UInt16)
|
|
521
|
+
declare item_id: UInt16
|
|
522
|
+
@Struct.field('string')
|
|
523
|
+
declare name: string
|
|
524
|
+
@Struct.field(UInt64)
|
|
525
|
+
declare stats: UInt64
|
|
526
|
+
@Struct.field(coordinates)
|
|
527
|
+
declare coordinates: coordinates
|
|
528
|
+
@Struct.field(UInt32, {optional: true})
|
|
529
|
+
declare energy?: UInt32
|
|
530
|
+
@Struct.field(UInt32)
|
|
531
|
+
declare cargomass: UInt32
|
|
532
|
+
@Struct.field(module_entry, {array: true})
|
|
533
|
+
declare modules: module_entry[]
|
|
534
|
+
@Struct.field(lane, {array: true})
|
|
535
|
+
declare lanes: lane[]
|
|
536
|
+
@Struct.field(hold, {array: true})
|
|
537
|
+
declare holds: hold[]
|
|
538
|
+
}
|
|
539
|
+
@Struct.type('entity_seq_row')
|
|
540
|
+
export class entity_seq_row extends Struct {
|
|
541
|
+
@Struct.field(UInt64)
|
|
542
|
+
declare next_id: UInt64
|
|
543
|
+
}
|
|
461
544
|
@Struct.type('entity_summary')
|
|
462
545
|
export class entity_summary extends Struct {
|
|
463
546
|
@Struct.field(Name)
|
|
@@ -507,19 +590,74 @@ export namespace Types {
|
|
|
507
590
|
@Struct.field(enum_member, {array: true})
|
|
508
591
|
declare members: enum_member[]
|
|
509
592
|
}
|
|
593
|
+
@Struct.type('epoch_row')
|
|
594
|
+
export class epoch_row extends Struct {
|
|
595
|
+
@Struct.field(UInt64)
|
|
596
|
+
declare epoch: UInt64
|
|
597
|
+
@Struct.field(Name, {array: true})
|
|
598
|
+
declare oracle_ids: Name[]
|
|
599
|
+
@Struct.field(UInt8)
|
|
600
|
+
declare threshold: UInt8
|
|
601
|
+
@Struct.field(Checksum256)
|
|
602
|
+
declare seed: Checksum256
|
|
603
|
+
}
|
|
604
|
+
@Struct.type('fixcargomass')
|
|
605
|
+
export class fixcargomass extends Struct {
|
|
606
|
+
@Struct.field(UInt64)
|
|
607
|
+
declare entity_id: UInt64
|
|
608
|
+
}
|
|
609
|
+
@Struct.type('forcereveal')
|
|
610
|
+
export class forcereveal extends Struct {
|
|
611
|
+
@Struct.field(UInt64)
|
|
612
|
+
declare epoch: UInt64
|
|
613
|
+
}
|
|
510
614
|
@Struct.type('gather')
|
|
511
615
|
export class gather extends Struct {
|
|
512
|
-
@Struct.field(
|
|
513
|
-
declare
|
|
514
|
-
@Struct.field(
|
|
515
|
-
declare
|
|
616
|
+
@Struct.field(UInt64)
|
|
617
|
+
declare source_id: UInt64
|
|
618
|
+
@Struct.field(UInt64)
|
|
619
|
+
declare destination_id: UInt64
|
|
516
620
|
@Struct.field(UInt16)
|
|
517
621
|
declare stratum: UInt16
|
|
518
622
|
@Struct.field(UInt32)
|
|
519
623
|
declare quantity: UInt32
|
|
624
|
+
@Struct.field(UInt8, {optional: true})
|
|
625
|
+
declare slot?: UInt8
|
|
626
|
+
}
|
|
627
|
+
@Struct.type('genesisfleet')
|
|
628
|
+
export class genesisfleet extends Struct {
|
|
629
|
+
@Struct.field(entity_row, {array: true})
|
|
630
|
+
declare entities: entity_row[]
|
|
520
631
|
}
|
|
521
632
|
@Struct.type('getconfig')
|
|
522
633
|
export class getconfig extends Struct {}
|
|
634
|
+
@Struct.type('getdeposit')
|
|
635
|
+
export class getdeposit extends Struct {
|
|
636
|
+
@Struct.field(Name)
|
|
637
|
+
declare owner: Name
|
|
638
|
+
@Struct.field(UInt64)
|
|
639
|
+
declare asset_id: UInt64
|
|
640
|
+
}
|
|
641
|
+
@Struct.type('getdistance')
|
|
642
|
+
export class getdistance extends Struct {
|
|
643
|
+
@Struct.field(Int64)
|
|
644
|
+
declare ax: Int64
|
|
645
|
+
@Struct.field(Int64)
|
|
646
|
+
declare ay: Int64
|
|
647
|
+
@Struct.field(Int64)
|
|
648
|
+
declare bx: Int64
|
|
649
|
+
@Struct.field(Int64)
|
|
650
|
+
declare by: Int64
|
|
651
|
+
}
|
|
652
|
+
@Struct.type('geteligible')
|
|
653
|
+
export class geteligible extends Struct {
|
|
654
|
+
@Struct.field(coordinates)
|
|
655
|
+
declare coords: coordinates
|
|
656
|
+
@Struct.field(UInt16)
|
|
657
|
+
declare stratum: UInt16
|
|
658
|
+
}
|
|
659
|
+
@Struct.type('getentcls')
|
|
660
|
+
export class getentcls extends Struct {}
|
|
523
661
|
@Struct.type('getentities')
|
|
524
662
|
export class getentities extends Struct {
|
|
525
663
|
@Struct.field(Name)
|
|
@@ -529,8 +667,6 @@ export namespace Types {
|
|
|
529
667
|
}
|
|
530
668
|
@Struct.type('getentity')
|
|
531
669
|
export class getentity extends Struct {
|
|
532
|
-
@Struct.field(Name)
|
|
533
|
-
declare entity_type: Name
|
|
534
670
|
@Struct.field(UInt64)
|
|
535
671
|
declare entity_id: UInt64
|
|
536
672
|
}
|
|
@@ -540,8 +676,15 @@ export namespace Types {
|
|
|
540
676
|
export class getitemids extends Struct {}
|
|
541
677
|
@Struct.type('getitems')
|
|
542
678
|
export class getitems extends Struct {}
|
|
679
|
+
@Struct.type('getitemtype')
|
|
680
|
+
export class getitemtype extends Struct {
|
|
681
|
+
@Struct.field(UInt16)
|
|
682
|
+
declare item_id: UInt16
|
|
683
|
+
}
|
|
543
684
|
@Struct.type('getitemtypes')
|
|
544
685
|
export class getitemtypes extends Struct {}
|
|
686
|
+
@Struct.type('getkindmeta')
|
|
687
|
+
export class getkindmeta extends Struct {}
|
|
545
688
|
@Struct.type('getlocation')
|
|
546
689
|
export class getlocation extends Struct {
|
|
547
690
|
@Struct.field(Int64)
|
|
@@ -562,13 +705,13 @@ export namespace Types {
|
|
|
562
705
|
export class getmodules extends Struct {}
|
|
563
706
|
@Struct.type('getnearby')
|
|
564
707
|
export class getnearby extends Struct {
|
|
565
|
-
@Struct.field(Name)
|
|
566
|
-
declare entity_type: Name
|
|
567
708
|
@Struct.field(UInt64)
|
|
568
709
|
declare entity_id: UInt64
|
|
569
710
|
@Struct.field('bool')
|
|
570
711
|
declare recharge: boolean
|
|
571
712
|
}
|
|
713
|
+
@Struct.type('getnftbase')
|
|
714
|
+
export class getnftbase extends Struct {}
|
|
572
715
|
@Struct.type('getnftinfo')
|
|
573
716
|
export class getnftinfo extends Struct {}
|
|
574
717
|
@Struct.type('getplayer')
|
|
@@ -576,6 +719,13 @@ export namespace Types {
|
|
|
576
719
|
@Struct.field(Name)
|
|
577
720
|
declare account: Name
|
|
578
721
|
}
|
|
722
|
+
@Struct.type('getprojstate')
|
|
723
|
+
export class getprojstate extends Struct {
|
|
724
|
+
@Struct.field(UInt64)
|
|
725
|
+
declare entity_id: UInt64
|
|
726
|
+
@Struct.field(UInt8, {optional: true})
|
|
727
|
+
declare task_count?: UInt8
|
|
728
|
+
}
|
|
579
729
|
@Struct.type('getrecipe')
|
|
580
730
|
export class getrecipe extends Struct {
|
|
581
731
|
@Struct.field(UInt16)
|
|
@@ -617,6 +767,26 @@ export namespace Types {
|
|
|
617
767
|
@Struct.field(Name, {optional: true})
|
|
618
768
|
declare entity_type?: Name
|
|
619
769
|
}
|
|
770
|
+
@Struct.type('getwormhole')
|
|
771
|
+
export class getwormhole extends Struct {
|
|
772
|
+
@Struct.field(Int64)
|
|
773
|
+
declare x: Int64
|
|
774
|
+
@Struct.field(Int64)
|
|
775
|
+
declare y: Int64
|
|
776
|
+
}
|
|
777
|
+
@Struct.type('grouptransit')
|
|
778
|
+
export class grouptransit extends Struct {
|
|
779
|
+
@Struct.field(entity_ref, {array: true})
|
|
780
|
+
declare entities: entity_ref[]
|
|
781
|
+
@Struct.field(Int64)
|
|
782
|
+
declare ax: Int64
|
|
783
|
+
@Struct.field(Int64)
|
|
784
|
+
declare ay: Int64
|
|
785
|
+
@Struct.field(Int64)
|
|
786
|
+
declare bx: Int64
|
|
787
|
+
@Struct.field(Int64)
|
|
788
|
+
declare by: Int64
|
|
789
|
+
}
|
|
620
790
|
@Struct.type('grouptravel')
|
|
621
791
|
export class grouptravel extends Struct {
|
|
622
792
|
@Struct.field(entity_ref, {array: true})
|
|
@@ -638,11 +808,60 @@ export namespace Types {
|
|
|
638
808
|
@Struct.field('string')
|
|
639
809
|
declare value: string
|
|
640
810
|
}
|
|
641
|
-
@Struct.type('
|
|
642
|
-
export class
|
|
811
|
+
@Struct.type('importcargo')
|
|
812
|
+
export class importcargo extends Struct {
|
|
813
|
+
@Struct.field(cargo_row)
|
|
814
|
+
declare row: cargo_row
|
|
815
|
+
}
|
|
816
|
+
@Struct.type('importentity')
|
|
817
|
+
export class importentity extends Struct {
|
|
818
|
+
@Struct.field(entity_row)
|
|
819
|
+
declare row: entity_row
|
|
820
|
+
}
|
|
821
|
+
@Struct.type('importgroup')
|
|
822
|
+
export class importgroup extends Struct {
|
|
823
|
+
@Struct.field(entitygroup_row)
|
|
824
|
+
declare row: entitygroup_row
|
|
825
|
+
}
|
|
826
|
+
@Struct.type('importplayer')
|
|
827
|
+
export class importplayer extends Struct {
|
|
828
|
+
@Struct.field(Name)
|
|
829
|
+
declare owner: Name
|
|
830
|
+
}
|
|
831
|
+
@Struct.type('reserve_row')
|
|
832
|
+
export class reserve_row extends Struct {
|
|
833
|
+
@Struct.field(UInt64)
|
|
834
|
+
declare id: UInt64
|
|
835
|
+
@Struct.field(UInt64)
|
|
836
|
+
declare coord_id: UInt64
|
|
837
|
+
@Struct.field(UInt16)
|
|
838
|
+
declare stratum: UInt16
|
|
839
|
+
@Struct.field(UInt32)
|
|
840
|
+
declare remaining: UInt32
|
|
841
|
+
@Struct.field(BlockTimestamp)
|
|
842
|
+
declare last_block: BlockTimestamp
|
|
843
|
+
}
|
|
844
|
+
@Struct.type('importreserve')
|
|
845
|
+
export class importreserve extends Struct {
|
|
846
|
+
@Struct.field(UInt32)
|
|
847
|
+
declare epoch_scope: UInt32
|
|
848
|
+
@Struct.field(reserve_row)
|
|
849
|
+
declare row: reserve_row
|
|
850
|
+
}
|
|
851
|
+
@Struct.type('state_row')
|
|
852
|
+
export class state_row extends Struct {
|
|
853
|
+
@Struct.field('bool')
|
|
854
|
+
declare enabled: boolean
|
|
855
|
+
@Struct.field(UInt32)
|
|
856
|
+
declare epoch: UInt32
|
|
643
857
|
@Struct.field(Checksum256)
|
|
644
858
|
declare seed: Checksum256
|
|
645
859
|
}
|
|
860
|
+
@Struct.type('importstate')
|
|
861
|
+
export class importstate extends Struct {
|
|
862
|
+
@Struct.field(state_row)
|
|
863
|
+
declare row: state_row
|
|
864
|
+
}
|
|
646
865
|
@Struct.type('item_id_pair')
|
|
647
866
|
export class item_id_pair extends Struct {
|
|
648
867
|
@Struct.field(UInt16)
|
|
@@ -659,10 +878,6 @@ export namespace Types {
|
|
|
659
878
|
export class recipe_input extends Struct {
|
|
660
879
|
@Struct.field(UInt16)
|
|
661
880
|
declare item_id: UInt16
|
|
662
|
-
@Struct.field(UInt8)
|
|
663
|
-
declare category: UInt8
|
|
664
|
-
@Struct.field(UInt8)
|
|
665
|
-
declare tier: UInt8
|
|
666
881
|
@Struct.field(UInt32)
|
|
667
882
|
declare quantity: UInt32
|
|
668
883
|
}
|
|
@@ -724,6 +939,53 @@ export namespace Types {
|
|
|
724
939
|
@Struct.field(Name)
|
|
725
940
|
declare account: Name
|
|
726
941
|
}
|
|
942
|
+
@Struct.type('kind_meta_row')
|
|
943
|
+
export class kind_meta_row extends Struct {
|
|
944
|
+
@Struct.field(Name)
|
|
945
|
+
declare kind: Name
|
|
946
|
+
@Struct.field(UInt8)
|
|
947
|
+
declare classification: UInt8
|
|
948
|
+
@Struct.field(UInt8)
|
|
949
|
+
declare capability_flags: UInt8
|
|
950
|
+
@Struct.field(UInt32)
|
|
951
|
+
declare z_coord: UInt32
|
|
952
|
+
@Struct.field('string')
|
|
953
|
+
declare default_label: string
|
|
954
|
+
}
|
|
955
|
+
@Struct.type('template_meta_row')
|
|
956
|
+
export class template_meta_row extends Struct {
|
|
957
|
+
@Struct.field(UInt16)
|
|
958
|
+
declare item_id: UInt16
|
|
959
|
+
@Struct.field(Name)
|
|
960
|
+
declare kind: Name
|
|
961
|
+
@Struct.field('string')
|
|
962
|
+
declare display_label: string
|
|
963
|
+
}
|
|
964
|
+
@Struct.type('kind_meta_result')
|
|
965
|
+
export class kind_meta_result extends Struct {
|
|
966
|
+
@Struct.field(kind_meta_row, {array: true})
|
|
967
|
+
declare kinds: kind_meta_row[]
|
|
968
|
+
@Struct.field(template_meta_row, {array: true})
|
|
969
|
+
declare templates: template_meta_row[]
|
|
970
|
+
}
|
|
971
|
+
@Struct.type('launch')
|
|
972
|
+
export class launch extends Struct {
|
|
973
|
+
@Struct.field(UInt64)
|
|
974
|
+
declare launcher_id: UInt64
|
|
975
|
+
@Struct.field(UInt64)
|
|
976
|
+
declare catcher_id: UInt64
|
|
977
|
+
@Struct.field(cargo_item, {array: true})
|
|
978
|
+
declare items: cargo_item[]
|
|
979
|
+
}
|
|
980
|
+
@Struct.type('load')
|
|
981
|
+
export class load extends Struct {
|
|
982
|
+
@Struct.field(UInt64)
|
|
983
|
+
declare id: UInt64
|
|
984
|
+
@Struct.field(UInt64)
|
|
985
|
+
declare from_id: UInt64
|
|
986
|
+
@Struct.field(cargo_item, {array: true})
|
|
987
|
+
declare items: cargo_item[]
|
|
988
|
+
}
|
|
727
989
|
@Struct.type('location_static')
|
|
728
990
|
export class location_static extends Struct {
|
|
729
991
|
@Struct.field(coordinates)
|
|
@@ -737,21 +999,10 @@ export namespace Types {
|
|
|
737
999
|
@Struct.field(UInt8)
|
|
738
1000
|
declare seed1: UInt8
|
|
739
1001
|
}
|
|
740
|
-
@Struct.type('location_epoch')
|
|
741
|
-
export class location_epoch extends Struct {
|
|
742
|
-
@Struct.field('bool')
|
|
743
|
-
declare active: boolean
|
|
744
|
-
@Struct.field(UInt8)
|
|
745
|
-
declare seed0: UInt8
|
|
746
|
-
@Struct.field(UInt8)
|
|
747
|
-
declare seed1: UInt8
|
|
748
|
-
}
|
|
749
1002
|
@Struct.type('location_derived')
|
|
750
1003
|
export class location_derived extends Struct {
|
|
751
1004
|
@Struct.field(location_static)
|
|
752
1005
|
declare static_props: location_static
|
|
753
|
-
@Struct.field(location_epoch)
|
|
754
|
-
declare epoch_props: location_epoch
|
|
755
1006
|
@Struct.field(UInt16)
|
|
756
1007
|
declare size: UInt16
|
|
757
1008
|
}
|
|
@@ -761,21 +1012,8 @@ export namespace Types {
|
|
|
761
1012
|
declare coords: coordinates
|
|
762
1013
|
@Struct.field('bool')
|
|
763
1014
|
declare is_system: boolean
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
export class location_row extends Struct {
|
|
767
|
-
@Struct.field(UInt64)
|
|
768
|
-
declare id: UInt64
|
|
769
|
-
@Struct.field(Name)
|
|
770
|
-
declare owner: Name
|
|
771
|
-
@Struct.field(coordinates)
|
|
772
|
-
declare coordinates: coordinates
|
|
773
|
-
@Struct.field(UInt32)
|
|
774
|
-
declare cargomass: UInt32
|
|
775
|
-
@Struct.field(cargo_item, {array: true})
|
|
776
|
-
declare cargo: cargo_item[]
|
|
777
|
-
@Struct.field(schedule, {optional: true})
|
|
778
|
-
declare schedule?: schedule
|
|
1015
|
+
@Struct.field('bool')
|
|
1016
|
+
declare is_wormhole: boolean
|
|
779
1017
|
}
|
|
780
1018
|
@Struct.type('module_info')
|
|
781
1019
|
export class module_info extends Struct {
|
|
@@ -812,21 +1050,28 @@ export namespace Types {
|
|
|
812
1050
|
declare current: entity_current_state
|
|
813
1051
|
@Struct.field(entity_current_state)
|
|
814
1052
|
declare projected: entity_current_state
|
|
815
|
-
@Struct.field(
|
|
816
|
-
declare max_energy:
|
|
1053
|
+
@Struct.field(UInt32)
|
|
1054
|
+
declare max_energy: UInt32
|
|
817
1055
|
@Struct.field(nearby_system, {array: true})
|
|
818
1056
|
declare systems: nearby_system[]
|
|
819
1057
|
}
|
|
820
|
-
@Struct.type('
|
|
821
|
-
export class
|
|
1058
|
+
@Struct.type('nft_cargo_item')
|
|
1059
|
+
export class nft_cargo_item extends Struct {
|
|
1060
|
+
@Struct.field(UInt16)
|
|
1061
|
+
declare item_id: UInt16
|
|
822
1062
|
@Struct.field(UInt64)
|
|
823
|
-
declare
|
|
824
|
-
@Struct.field(
|
|
825
|
-
declare
|
|
826
|
-
@Struct.field(
|
|
827
|
-
declare
|
|
828
|
-
|
|
829
|
-
|
|
1063
|
+
declare stats: UInt64
|
|
1064
|
+
@Struct.field(module_entry, {array: true})
|
|
1065
|
+
declare modules: module_entry[]
|
|
1066
|
+
@Struct.field(UInt32)
|
|
1067
|
+
declare quantity: UInt32
|
|
1068
|
+
}
|
|
1069
|
+
@Struct.type('nft_item_payload')
|
|
1070
|
+
export class nft_item_payload extends Struct {
|
|
1071
|
+
@Struct.field(nft_cargo_item)
|
|
1072
|
+
declare item: nft_cargo_item
|
|
1073
|
+
@Struct.field(coordinates, {optional: true})
|
|
1074
|
+
declare location?: coordinates
|
|
830
1075
|
}
|
|
831
1076
|
@Struct.type('schema_field')
|
|
832
1077
|
export class schema_field extends Struct {
|
|
@@ -848,6 +1093,8 @@ export namespace Types {
|
|
|
848
1093
|
declare item_id: UInt16
|
|
849
1094
|
@Struct.field(Name)
|
|
850
1095
|
declare schema_name: Name
|
|
1096
|
+
@Struct.field(Int32)
|
|
1097
|
+
declare template_id: Int32
|
|
851
1098
|
}
|
|
852
1099
|
@Struct.type('nftconfig_row')
|
|
853
1100
|
export class nftconfig_row extends Struct {
|
|
@@ -858,6 +1105,13 @@ export namespace Types {
|
|
|
858
1105
|
@Struct.field(Name)
|
|
859
1106
|
declare schema_name: Name
|
|
860
1107
|
}
|
|
1108
|
+
@Struct.type('nftimgurl')
|
|
1109
|
+
export class nftimgurl extends Struct {
|
|
1110
|
+
@Struct.field(cargo_item)
|
|
1111
|
+
declare item: cargo_item
|
|
1112
|
+
@Struct.field(coordinates, {optional: true})
|
|
1113
|
+
declare location?: coordinates
|
|
1114
|
+
}
|
|
861
1115
|
@Struct.type('nftinfo_result')
|
|
862
1116
|
export class nftinfo_result extends Struct {
|
|
863
1117
|
@Struct.field(nft_schema_def, {array: true})
|
|
@@ -883,14 +1137,44 @@ export namespace Types {
|
|
|
883
1137
|
declare starts_at: TimePoint
|
|
884
1138
|
@Struct.field(TimePoint)
|
|
885
1139
|
declare completes_at: TimePoint
|
|
886
|
-
@Struct.field(
|
|
887
|
-
declare new_energy?:
|
|
1140
|
+
@Struct.field(UInt32, {optional: true})
|
|
1141
|
+
declare new_energy?: UInt32
|
|
1142
|
+
@Struct.field(UInt8)
|
|
1143
|
+
declare lane_key: UInt8
|
|
888
1144
|
}
|
|
889
1145
|
@Struct.type('notify')
|
|
890
1146
|
export class notify extends Struct {
|
|
891
1147
|
@Struct.field(task_event)
|
|
892
1148
|
declare event: task_event
|
|
893
1149
|
}
|
|
1150
|
+
@Struct.type('oracle_config_row')
|
|
1151
|
+
export class oracle_config_row extends Struct {
|
|
1152
|
+
@Struct.field(UInt8)
|
|
1153
|
+
declare threshold: UInt8
|
|
1154
|
+
}
|
|
1155
|
+
@Struct.type('oracle_row')
|
|
1156
|
+
export class oracle_row extends Struct {
|
|
1157
|
+
@Struct.field(Name)
|
|
1158
|
+
declare id: Name
|
|
1159
|
+
}
|
|
1160
|
+
@Struct.type('placecargo')
|
|
1161
|
+
export class placecargo extends Struct {
|
|
1162
|
+
@Struct.field(Name)
|
|
1163
|
+
declare owner: Name
|
|
1164
|
+
@Struct.field(UInt64)
|
|
1165
|
+
declare host_id: UInt64
|
|
1166
|
+
@Struct.field(UInt64)
|
|
1167
|
+
declare asset_id: UInt64
|
|
1168
|
+
}
|
|
1169
|
+
@Struct.type('placeentity')
|
|
1170
|
+
export class placeentity extends Struct {
|
|
1171
|
+
@Struct.field(Name)
|
|
1172
|
+
declare owner: Name
|
|
1173
|
+
@Struct.field(UInt64)
|
|
1174
|
+
declare asset_id: UInt64
|
|
1175
|
+
@Struct.field(UInt64)
|
|
1176
|
+
declare target_nexus_id: UInt64
|
|
1177
|
+
}
|
|
894
1178
|
@Struct.type('player_info')
|
|
895
1179
|
export class player_info extends Struct {
|
|
896
1180
|
@Struct.field(Name)
|
|
@@ -899,40 +1183,69 @@ export namespace Types {
|
|
|
899
1183
|
declare is_player: boolean
|
|
900
1184
|
@Struct.field('string')
|
|
901
1185
|
declare company_name: string
|
|
902
|
-
@Struct.field(UInt64)
|
|
903
|
-
declare ship_count: UInt64
|
|
904
|
-
@Struct.field(UInt64)
|
|
905
|
-
declare warehouse_count: UInt64
|
|
906
|
-
@Struct.field(UInt64)
|
|
907
|
-
declare container_count: UInt64
|
|
908
1186
|
}
|
|
909
1187
|
@Struct.type('player_row')
|
|
910
1188
|
export class player_row extends Struct {
|
|
911
1189
|
@Struct.field(Name)
|
|
912
1190
|
declare owner: Name
|
|
913
1191
|
}
|
|
1192
|
+
@Struct.type('projected_state')
|
|
1193
|
+
export class projected_state extends Struct {
|
|
1194
|
+
@Struct.field(Name)
|
|
1195
|
+
declare owner: Name
|
|
1196
|
+
@Struct.field(coordinates)
|
|
1197
|
+
declare coordinates: coordinates
|
|
1198
|
+
@Struct.field(UInt32, {optional: true})
|
|
1199
|
+
declare energy?: UInt32
|
|
1200
|
+
@Struct.field(UInt32)
|
|
1201
|
+
declare cargomass: UInt32
|
|
1202
|
+
@Struct.field(cargo_view, {array: true})
|
|
1203
|
+
declare cargo: cargo_view[]
|
|
1204
|
+
@Struct.field(UInt32, {optional: true})
|
|
1205
|
+
declare hullmass?: UInt32
|
|
1206
|
+
@Struct.field(UInt32, {optional: true})
|
|
1207
|
+
declare capacity?: UInt32
|
|
1208
|
+
@Struct.field(movement_stats, {optional: true})
|
|
1209
|
+
declare engines?: movement_stats
|
|
1210
|
+
@Struct.field(warp_stats, {optional: true})
|
|
1211
|
+
declare warp?: warp_stats
|
|
1212
|
+
@Struct.field(energy_stats, {optional: true})
|
|
1213
|
+
declare generator?: energy_stats
|
|
1214
|
+
@Struct.field(hauler_stats, {optional: true})
|
|
1215
|
+
declare hauler?: hauler_stats
|
|
1216
|
+
@Struct.field(gatherer_lane, {array: true})
|
|
1217
|
+
declare gatherer_lanes: gatherer_lane[]
|
|
1218
|
+
@Struct.field(crafter_lane, {array: true})
|
|
1219
|
+
declare crafter_lanes: crafter_lane[]
|
|
1220
|
+
@Struct.field(loader_lane, {array: true})
|
|
1221
|
+
declare loader_lanes: loader_lane[]
|
|
1222
|
+
@Struct.field(launcher_stats, {optional: true})
|
|
1223
|
+
declare launcher?: launcher_stats
|
|
1224
|
+
}
|
|
914
1225
|
@Struct.type('recharge')
|
|
915
1226
|
export class recharge extends Struct {
|
|
916
|
-
@Struct.field(Name)
|
|
917
|
-
declare entity_type: Name
|
|
918
1227
|
@Struct.field(UInt64)
|
|
919
1228
|
declare id: UInt64
|
|
920
1229
|
}
|
|
921
|
-
@Struct.type('
|
|
922
|
-
export class
|
|
1230
|
+
@Struct.type('refrshentity')
|
|
1231
|
+
export class refrshentity extends Struct {
|
|
923
1232
|
@Struct.field(UInt64)
|
|
924
|
-
declare
|
|
1233
|
+
declare entity_id: UInt64
|
|
1234
|
+
}
|
|
1235
|
+
@Struct.type('removeoracle')
|
|
1236
|
+
export class removeoracle extends Struct {
|
|
1237
|
+
@Struct.field(Name)
|
|
1238
|
+
declare oracle_id: Name
|
|
1239
|
+
}
|
|
1240
|
+
@Struct.type('rename')
|
|
1241
|
+
export class rename extends Struct {
|
|
925
1242
|
@Struct.field(UInt64)
|
|
926
|
-
declare
|
|
927
|
-
@Struct.field(
|
|
928
|
-
declare
|
|
929
|
-
@Struct.field(UInt32)
|
|
930
|
-
declare remaining: UInt32
|
|
1243
|
+
declare id: UInt64
|
|
1244
|
+
@Struct.field('string')
|
|
1245
|
+
declare name: string
|
|
931
1246
|
}
|
|
932
1247
|
@Struct.type('resolve')
|
|
933
1248
|
export class resolve extends Struct {
|
|
934
|
-
@Struct.field(Name)
|
|
935
|
-
declare entity_type: Name
|
|
936
1249
|
@Struct.field(UInt64)
|
|
937
1250
|
declare id: UInt64
|
|
938
1251
|
@Struct.field(UInt64, {optional: true})
|
|
@@ -953,6 +1266,18 @@ export namespace Types {
|
|
|
953
1266
|
@Struct.field(entity_ref, {array: true, optional: true})
|
|
954
1267
|
declare group_members?: entity_ref[]
|
|
955
1268
|
}
|
|
1269
|
+
@Struct.type('resolveall')
|
|
1270
|
+
export class resolveall extends Struct {
|
|
1271
|
+
@Struct.field(Name)
|
|
1272
|
+
declare owner: Name
|
|
1273
|
+
}
|
|
1274
|
+
@Struct.type('resolveall_results')
|
|
1275
|
+
export class resolveall_results extends Struct {
|
|
1276
|
+
@Struct.field(UInt32)
|
|
1277
|
+
declare scanned: UInt32
|
|
1278
|
+
@Struct.field(UInt32)
|
|
1279
|
+
declare resolved: UInt32
|
|
1280
|
+
}
|
|
956
1281
|
@Struct.type('resource_info')
|
|
957
1282
|
export class resource_info extends Struct {
|
|
958
1283
|
@Struct.field(UInt16)
|
|
@@ -978,33 +1303,48 @@ export namespace Types {
|
|
|
978
1303
|
@Struct.field(resource_info, {array: true})
|
|
979
1304
|
declare resources: resource_info[]
|
|
980
1305
|
}
|
|
1306
|
+
@Struct.type('reveal')
|
|
1307
|
+
export class reveal extends Struct {
|
|
1308
|
+
@Struct.field(Name)
|
|
1309
|
+
declare oracle_id: Name
|
|
1310
|
+
@Struct.field(UInt64)
|
|
1311
|
+
declare epoch: UInt64
|
|
1312
|
+
@Struct.field(Checksum256)
|
|
1313
|
+
declare reveal: Checksum256
|
|
1314
|
+
}
|
|
1315
|
+
@Struct.type('reveal_row')
|
|
1316
|
+
export class reveal_row extends Struct {
|
|
1317
|
+
@Struct.field(UInt64)
|
|
1318
|
+
declare id: UInt64
|
|
1319
|
+
@Struct.field(UInt64)
|
|
1320
|
+
declare epoch: UInt64
|
|
1321
|
+
@Struct.field(Name)
|
|
1322
|
+
declare oracle_id: Name
|
|
1323
|
+
@Struct.field(Checksum256)
|
|
1324
|
+
declare reveal: Checksum256
|
|
1325
|
+
}
|
|
981
1326
|
@Struct.type('rmmodule')
|
|
982
1327
|
export class rmmodule extends Struct {
|
|
983
|
-
@Struct.field(Name)
|
|
984
|
-
declare entity_type: Name
|
|
985
1328
|
@Struct.field(UInt64)
|
|
986
1329
|
declare entity_id: UInt64
|
|
987
1330
|
@Struct.field(UInt8)
|
|
988
1331
|
declare module_index: UInt8
|
|
989
|
-
@Struct.field(
|
|
990
|
-
declare
|
|
1332
|
+
@Struct.field(cargo_ref, {optional: true})
|
|
1333
|
+
declare target_ref?: cargo_ref
|
|
991
1334
|
}
|
|
992
1335
|
@Struct.type('rmnftcfg')
|
|
993
1336
|
export class rmnftcfg extends Struct {
|
|
994
1337
|
@Struct.field(UInt16)
|
|
995
1338
|
declare item_id: UInt16
|
|
996
1339
|
}
|
|
997
|
-
@Struct.type('
|
|
998
|
-
export class
|
|
1340
|
+
@Struct.type('setcoords')
|
|
1341
|
+
export class setcoords extends Struct {
|
|
999
1342
|
@Struct.field(UInt64)
|
|
1000
|
-
declare
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
declare key: Name
|
|
1006
|
-
@Struct.field(UInt64)
|
|
1007
|
-
declare value: UInt64
|
|
1343
|
+
declare entity_id: UInt64
|
|
1344
|
+
@Struct.field(Int64)
|
|
1345
|
+
declare x: Int64
|
|
1346
|
+
@Struct.field(Int64)
|
|
1347
|
+
declare y: Int64
|
|
1008
1348
|
}
|
|
1009
1349
|
@Struct.type('setnftcfg')
|
|
1010
1350
|
export class setnftcfg extends Struct {
|
|
@@ -1015,90 +1355,48 @@ export namespace Types {
|
|
|
1015
1355
|
@Struct.field(Name)
|
|
1016
1356
|
declare schema_name: Name
|
|
1017
1357
|
}
|
|
1018
|
-
@Struct.type('
|
|
1019
|
-
export class
|
|
1020
|
-
@Struct.field(
|
|
1021
|
-
declare
|
|
1022
|
-
@Struct.field(Name)
|
|
1023
|
-
declare owner: Name
|
|
1024
|
-
@Struct.field('string')
|
|
1025
|
-
declare name: string
|
|
1026
|
-
@Struct.field(UInt64)
|
|
1027
|
-
declare stats: UInt64
|
|
1028
|
-
@Struct.field(coordinates)
|
|
1029
|
-
declare coordinates: coordinates
|
|
1030
|
-
@Struct.field(UInt32, {optional: true})
|
|
1031
|
-
declare hullmass?: UInt32
|
|
1032
|
-
@Struct.field(UInt32, {optional: true})
|
|
1033
|
-
declare capacity?: UInt32
|
|
1034
|
-
@Struct.field(UInt16, {optional: true})
|
|
1035
|
-
declare energy?: UInt16
|
|
1036
|
-
@Struct.field(UInt32)
|
|
1037
|
-
declare cargomass: UInt32
|
|
1038
|
-
@Struct.field(movement_stats, {optional: true})
|
|
1039
|
-
declare engines?: movement_stats
|
|
1040
|
-
@Struct.field(energy_stats, {optional: true})
|
|
1041
|
-
declare generator?: energy_stats
|
|
1042
|
-
@Struct.field(loader_stats, {optional: true})
|
|
1043
|
-
declare loaders?: loader_stats
|
|
1044
|
-
@Struct.field(gatherer_stats, {optional: true})
|
|
1045
|
-
declare gatherer?: gatherer_stats
|
|
1046
|
-
@Struct.field(warp_stats, {optional: true})
|
|
1047
|
-
declare warp?: warp_stats
|
|
1048
|
-
@Struct.field(crafter_stats, {optional: true})
|
|
1049
|
-
declare crafter?: crafter_stats
|
|
1050
|
-
@Struct.field(hauler_stats, {optional: true})
|
|
1051
|
-
declare hauler?: hauler_stats
|
|
1052
|
-
@Struct.field(module_entry, {array: true})
|
|
1053
|
-
declare modules: module_entry[]
|
|
1054
|
-
@Struct.field(schedule, {optional: true})
|
|
1055
|
-
declare schedule?: schedule
|
|
1358
|
+
@Struct.type('setthreshold')
|
|
1359
|
+
export class setthreshold extends Struct {
|
|
1360
|
+
@Struct.field(UInt8)
|
|
1361
|
+
declare threshold: UInt8
|
|
1056
1362
|
}
|
|
1057
|
-
@Struct.type('
|
|
1058
|
-
export class
|
|
1059
|
-
@Struct.field(
|
|
1060
|
-
declare
|
|
1061
|
-
@Struct.field(
|
|
1062
|
-
declare
|
|
1363
|
+
@Struct.type('setwrapcost')
|
|
1364
|
+
export class setwrapcost extends Struct {
|
|
1365
|
+
@Struct.field(UInt8)
|
|
1366
|
+
declare item_type: UInt8
|
|
1367
|
+
@Struct.field(UInt8)
|
|
1368
|
+
declare tier: UInt8
|
|
1063
1369
|
@Struct.field(UInt64)
|
|
1064
|
-
declare
|
|
1370
|
+
declare amount: UInt64
|
|
1065
1371
|
}
|
|
1066
|
-
@Struct.type('
|
|
1067
|
-
export class
|
|
1068
|
-
@Struct.field(UInt64)
|
|
1069
|
-
declare entity_id: UInt64
|
|
1372
|
+
@Struct.type('setwrapfee')
|
|
1373
|
+
export class setwrapfee extends Struct {
|
|
1070
1374
|
@Struct.field(UInt16)
|
|
1071
|
-
declare
|
|
1072
|
-
@Struct.field(
|
|
1073
|
-
declare
|
|
1074
|
-
@Struct.field(packed_module, {array: true})
|
|
1075
|
-
declare installed: packed_module[]
|
|
1375
|
+
declare fee_pct: UInt16
|
|
1376
|
+
@Struct.field(Name)
|
|
1377
|
+
declare fee_account: Name
|
|
1076
1378
|
}
|
|
1077
|
-
@Struct.type('
|
|
1078
|
-
export class
|
|
1379
|
+
@Struct.type('stowcargo')
|
|
1380
|
+
export class stowcargo extends Struct {
|
|
1381
|
+
@Struct.field(Name)
|
|
1382
|
+
declare owner: Name
|
|
1079
1383
|
@Struct.field(UInt64)
|
|
1080
1384
|
declare entity_id: UInt64
|
|
1081
1385
|
@Struct.field(UInt64)
|
|
1082
|
-
declare
|
|
1386
|
+
declare nexus_id: UInt64
|
|
1083
1387
|
@Struct.field(UInt64)
|
|
1084
|
-
declare
|
|
1388
|
+
declare cargo_id: UInt64
|
|
1085
1389
|
@Struct.field(UInt64)
|
|
1086
|
-
declare
|
|
1390
|
+
declare quantity: UInt64
|
|
1087
1391
|
}
|
|
1088
|
-
@Struct.type('
|
|
1089
|
-
export class
|
|
1090
|
-
@Struct.field(
|
|
1091
|
-
declare
|
|
1092
|
-
@Struct.field(UInt32)
|
|
1093
|
-
declare epoch: UInt32
|
|
1392
|
+
@Struct.type('stowentity')
|
|
1393
|
+
export class stowentity extends Struct {
|
|
1394
|
+
@Struct.field(Name)
|
|
1395
|
+
declare owner: Name
|
|
1094
1396
|
@Struct.field(UInt64)
|
|
1095
|
-
declare
|
|
1096
|
-
@Struct.field(
|
|
1097
|
-
declare
|
|
1098
|
-
@Struct.field(Checksum256)
|
|
1099
|
-
declare seed: Checksum256
|
|
1100
|
-
@Struct.field(Checksum256)
|
|
1101
|
-
declare commit: Checksum256
|
|
1397
|
+
declare entity_id: UInt64
|
|
1398
|
+
@Struct.field(UInt64)
|
|
1399
|
+
declare nexus_id: UInt64
|
|
1102
1400
|
}
|
|
1103
1401
|
@Struct.type('stratum_info')
|
|
1104
1402
|
export class stratum_info extends Struct {
|
|
@@ -1126,33 +1424,38 @@ export namespace Types {
|
|
|
1126
1424
|
declare stratum: UInt16
|
|
1127
1425
|
@Struct.field(UInt32)
|
|
1128
1426
|
declare remaining: UInt32
|
|
1427
|
+
@Struct.field(BlockTimestamp)
|
|
1428
|
+
declare last_block: BlockTimestamp
|
|
1429
|
+
}
|
|
1430
|
+
@Struct.type('swapmodule')
|
|
1431
|
+
export class swapmodule extends Struct {
|
|
1432
|
+
@Struct.field(UInt64)
|
|
1433
|
+
declare entity_id: UInt64
|
|
1434
|
+
@Struct.field(UInt8)
|
|
1435
|
+
declare module_index: UInt8
|
|
1436
|
+
@Struct.field(cargo_ref)
|
|
1437
|
+
declare module_ref: cargo_ref
|
|
1129
1438
|
}
|
|
1130
1439
|
@Struct.type('task_results')
|
|
1131
1440
|
export class task_results extends Struct {
|
|
1132
1441
|
@Struct.field(entity_task_info, {array: true})
|
|
1133
1442
|
declare entities: entity_task_info[]
|
|
1134
1443
|
}
|
|
1135
|
-
@Struct.type('
|
|
1136
|
-
export class
|
|
1137
|
-
@Struct.field(Name)
|
|
1138
|
-
declare source_type: Name
|
|
1139
|
-
@Struct.field(UInt64)
|
|
1140
|
-
declare source_id: UInt64
|
|
1141
|
-
@Struct.field(Name)
|
|
1142
|
-
declare dest_type: Name
|
|
1143
|
-
@Struct.field(UInt64)
|
|
1144
|
-
declare dest_id: UInt64
|
|
1145
|
-
@Struct.field(UInt16)
|
|
1146
|
-
declare item_id: UInt16
|
|
1444
|
+
@Struct.type('transit')
|
|
1445
|
+
export class transit extends Struct {
|
|
1147
1446
|
@Struct.field(UInt64)
|
|
1148
|
-
declare
|
|
1149
|
-
@Struct.field(
|
|
1150
|
-
declare
|
|
1447
|
+
declare id: UInt64
|
|
1448
|
+
@Struct.field(Int64)
|
|
1449
|
+
declare ax: Int64
|
|
1450
|
+
@Struct.field(Int64)
|
|
1451
|
+
declare ay: Int64
|
|
1452
|
+
@Struct.field(Int64)
|
|
1453
|
+
declare bx: Int64
|
|
1454
|
+
@Struct.field(Int64)
|
|
1455
|
+
declare by: Int64
|
|
1151
1456
|
}
|
|
1152
1457
|
@Struct.type('travel')
|
|
1153
1458
|
export class travel extends Struct {
|
|
1154
|
-
@Struct.field(Name)
|
|
1155
|
-
declare entity_type: Name
|
|
1156
1459
|
@Struct.field(UInt64)
|
|
1157
1460
|
declare id: UInt64
|
|
1158
1461
|
@Struct.field(Int64)
|
|
@@ -1172,36 +1475,27 @@ export namespace Types {
|
|
|
1172
1475
|
declare game_config_type: game_config
|
|
1173
1476
|
@Struct.field(stratum_remaining)
|
|
1174
1477
|
declare stratum_remaining_type: stratum_remaining
|
|
1478
|
+
@Struct.field(nft_item_payload)
|
|
1479
|
+
declare nft_item_payload_type: nft_item_payload
|
|
1480
|
+
}
|
|
1481
|
+
@Struct.type('undeploy')
|
|
1482
|
+
export class undeploy extends Struct {
|
|
1483
|
+
@Struct.field(UInt64)
|
|
1484
|
+
declare host_id: UInt64
|
|
1485
|
+
@Struct.field(UInt64)
|
|
1486
|
+
declare target_id: UInt64
|
|
1175
1487
|
}
|
|
1176
|
-
@Struct.type('
|
|
1177
|
-
export class
|
|
1488
|
+
@Struct.type('unload')
|
|
1489
|
+
export class unload extends Struct {
|
|
1178
1490
|
@Struct.field(UInt64)
|
|
1179
1491
|
declare id: UInt64
|
|
1180
|
-
@Struct.field(Name)
|
|
1181
|
-
declare owner: Name
|
|
1182
|
-
@Struct.field('string')
|
|
1183
|
-
declare name: string
|
|
1184
1492
|
@Struct.field(UInt64)
|
|
1185
|
-
declare
|
|
1186
|
-
@Struct.field(
|
|
1187
|
-
declare
|
|
1188
|
-
@Struct.field(UInt32, {optional: true})
|
|
1189
|
-
declare hullmass?: UInt32
|
|
1190
|
-
@Struct.field(UInt32, {optional: true})
|
|
1191
|
-
declare capacity?: UInt32
|
|
1192
|
-
@Struct.field(UInt32)
|
|
1193
|
-
declare cargomass: UInt32
|
|
1194
|
-
@Struct.field(loader_stats, {optional: true})
|
|
1195
|
-
declare loaders?: loader_stats
|
|
1196
|
-
@Struct.field(module_entry, {array: true})
|
|
1197
|
-
declare modules: module_entry[]
|
|
1198
|
-
@Struct.field(schedule, {optional: true})
|
|
1199
|
-
declare schedule?: schedule
|
|
1493
|
+
declare to_id: UInt64
|
|
1494
|
+
@Struct.field(cargo_item, {array: true})
|
|
1495
|
+
declare items: cargo_item[]
|
|
1200
1496
|
}
|
|
1201
1497
|
@Struct.type('warp')
|
|
1202
1498
|
export class warp extends Struct {
|
|
1203
|
-
@Struct.field(Name)
|
|
1204
|
-
declare entity_type: Name
|
|
1205
1499
|
@Struct.field(UInt64)
|
|
1206
1500
|
declare id: UInt64
|
|
1207
1501
|
@Struct.field(Int64)
|
|
@@ -1211,61 +1505,79 @@ export namespace Types {
|
|
|
1211
1505
|
}
|
|
1212
1506
|
@Struct.type('wipe')
|
|
1213
1507
|
export class wipe extends Struct {}
|
|
1214
|
-
@Struct.type('
|
|
1215
|
-
export class
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
@Struct.field(
|
|
1219
|
-
declare
|
|
1508
|
+
@Struct.type('wormhole_info')
|
|
1509
|
+
export class wormhole_info extends Struct {
|
|
1510
|
+
@Struct.field(coordinates)
|
|
1511
|
+
declare coords: coordinates
|
|
1512
|
+
@Struct.field('bool')
|
|
1513
|
+
declare is_wormhole: boolean
|
|
1514
|
+
@Struct.field(coordinates)
|
|
1515
|
+
declare destination: coordinates
|
|
1516
|
+
}
|
|
1517
|
+
@Struct.type('wrapconfig_row')
|
|
1518
|
+
export class wrapconfig_row extends Struct {
|
|
1519
|
+
@Struct.field(UInt16)
|
|
1520
|
+
declare fee_pct: UInt16
|
|
1220
1521
|
@Struct.field(Name)
|
|
1221
|
-
declare
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1522
|
+
declare fee_account: Name
|
|
1523
|
+
}
|
|
1524
|
+
@Struct.type('wrapcost_row')
|
|
1525
|
+
export class wrapcost_row extends Struct {
|
|
1526
|
+
@Struct.field(UInt8)
|
|
1527
|
+
declare item_type: UInt8
|
|
1528
|
+
@Struct.field(UInt8)
|
|
1529
|
+
declare tier: UInt8
|
|
1226
1530
|
@Struct.field(UInt64)
|
|
1227
|
-
declare
|
|
1531
|
+
declare amount: UInt64
|
|
1228
1532
|
}
|
|
1229
1533
|
}
|
|
1230
1534
|
export const TableMap = {
|
|
1231
1535
|
cargo: Types.cargo_row,
|
|
1232
|
-
|
|
1536
|
+
claims: Types.claim_row,
|
|
1537
|
+
commit: Types.commit_row,
|
|
1538
|
+
entity: Types.entity_row,
|
|
1233
1539
|
entitygroup: Types.entitygroup_row,
|
|
1234
|
-
|
|
1235
|
-
|
|
1540
|
+
entityseq: Types.entity_seq_row,
|
|
1541
|
+
epoch: Types.epoch_row,
|
|
1236
1542
|
nftconfig: Types.nftconfig_row,
|
|
1543
|
+
oraclecfg: Types.oracle_config_row,
|
|
1544
|
+
oracles: Types.oracle_row,
|
|
1237
1545
|
player: Types.player_row,
|
|
1238
1546
|
reserve: Types.reserve_row,
|
|
1239
|
-
|
|
1240
|
-
ship: Types.ship_row,
|
|
1547
|
+
reveal: Types.reveal_row,
|
|
1241
1548
|
state: Types.state_row,
|
|
1242
1549
|
types: Types.types_row,
|
|
1243
|
-
|
|
1550
|
+
wrapconfig: Types.wrapconfig_row,
|
|
1551
|
+
wrapcost: Types.wrapcost_row,
|
|
1244
1552
|
}
|
|
1245
1553
|
export interface TableTypes {
|
|
1246
1554
|
cargo: Types.cargo_row
|
|
1247
|
-
|
|
1555
|
+
claims: Types.claim_row
|
|
1556
|
+
commit: Types.commit_row
|
|
1557
|
+
entity: Types.entity_row
|
|
1248
1558
|
entitygroup: Types.entitygroup_row
|
|
1249
|
-
|
|
1250
|
-
|
|
1559
|
+
entityseq: Types.entity_seq_row
|
|
1560
|
+
epoch: Types.epoch_row
|
|
1251
1561
|
nftconfig: Types.nftconfig_row
|
|
1562
|
+
oraclecfg: Types.oracle_config_row
|
|
1563
|
+
oracles: Types.oracle_row
|
|
1252
1564
|
player: Types.player_row
|
|
1253
1565
|
reserve: Types.reserve_row
|
|
1254
|
-
|
|
1255
|
-
ship: Types.ship_row
|
|
1566
|
+
reveal: Types.reveal_row
|
|
1256
1567
|
state: Types.state_row
|
|
1257
1568
|
types: Types.types_row
|
|
1258
|
-
|
|
1569
|
+
wrapconfig: Types.wrapconfig_row
|
|
1570
|
+
wrapcost: Types.wrapcost_row
|
|
1259
1571
|
}
|
|
1260
1572
|
export type RowType<T> = T extends keyof TableTypes ? TableTypes[T] : any
|
|
1261
1573
|
export type TableNames = keyof TableTypes
|
|
1262
1574
|
export namespace ActionParams {
|
|
1263
1575
|
export namespace Type {
|
|
1264
|
-
export interface
|
|
1576
|
+
export interface cargo_ref {
|
|
1265
1577
|
item_id: UInt16Type
|
|
1266
|
-
quantity: UInt32Type
|
|
1267
1578
|
stats: UInt64Type
|
|
1268
1579
|
modules: Type.module_entry[]
|
|
1580
|
+
entity_id?: UInt64Type
|
|
1269
1581
|
}
|
|
1270
1582
|
export interface module_entry {
|
|
1271
1583
|
type: UInt8Type
|
|
@@ -1275,6 +1587,18 @@ export namespace ActionParams {
|
|
|
1275
1587
|
item_id: UInt16Type
|
|
1276
1588
|
stats: UInt64Type
|
|
1277
1589
|
}
|
|
1590
|
+
export interface cargo_item {
|
|
1591
|
+
item_id: UInt16Type
|
|
1592
|
+
stats: UInt64Type
|
|
1593
|
+
modules: Type.module_entry[]
|
|
1594
|
+
quantity: UInt32Type
|
|
1595
|
+
entity_id?: UInt64Type
|
|
1596
|
+
}
|
|
1597
|
+
export interface coordinates {
|
|
1598
|
+
x: Int64Type
|
|
1599
|
+
y: Int64Type
|
|
1600
|
+
z?: UInt16Type
|
|
1601
|
+
}
|
|
1278
1602
|
export interface game_config {
|
|
1279
1603
|
version: UInt32Type
|
|
1280
1604
|
defaults: Type.entity_defaults
|
|
@@ -1291,10 +1615,75 @@ export namespace ActionParams {
|
|
|
1291
1615
|
subtype: UInt8Type
|
|
1292
1616
|
tier: UInt8Type
|
|
1293
1617
|
}
|
|
1618
|
+
export interface entity_row {
|
|
1619
|
+
id: UInt64Type
|
|
1620
|
+
owner: NameType
|
|
1621
|
+
kind: NameType
|
|
1622
|
+
item_id: UInt16Type
|
|
1623
|
+
name: string
|
|
1624
|
+
stats: UInt64Type
|
|
1625
|
+
coordinates: Type.coordinates
|
|
1626
|
+
energy?: UInt32Type
|
|
1627
|
+
cargomass: UInt32Type
|
|
1628
|
+
modules: Type.module_entry[]
|
|
1629
|
+
lanes: Type.lane[]
|
|
1630
|
+
holds: Type.hold[]
|
|
1631
|
+
}
|
|
1632
|
+
export interface lane {
|
|
1633
|
+
lane_key: UInt8Type
|
|
1634
|
+
schedule: Type.schedule
|
|
1635
|
+
}
|
|
1636
|
+
export interface schedule {
|
|
1637
|
+
started: TimePointType
|
|
1638
|
+
tasks: Type.task[]
|
|
1639
|
+
}
|
|
1640
|
+
export interface task {
|
|
1641
|
+
type: UInt8Type
|
|
1642
|
+
duration: UInt32Type
|
|
1643
|
+
cancelable: UInt8Type
|
|
1644
|
+
coordinates?: Type.coordinates
|
|
1645
|
+
cargo: Type.cargo_item[]
|
|
1646
|
+
entitytarget?: Type.entity_ref
|
|
1647
|
+
entitygroup?: UInt64Type
|
|
1648
|
+
energy_cost?: UInt32Type
|
|
1649
|
+
hold?: UInt64Type
|
|
1650
|
+
}
|
|
1294
1651
|
export interface entity_ref {
|
|
1295
1652
|
entity_type: NameType
|
|
1296
1653
|
entity_id: UInt64Type
|
|
1297
1654
|
}
|
|
1655
|
+
export interface hold {
|
|
1656
|
+
id: UInt64Type
|
|
1657
|
+
kind: UInt8Type
|
|
1658
|
+
counterpart: Type.entity_ref
|
|
1659
|
+
until: TimePointType
|
|
1660
|
+
incoming_mass: UInt32Type
|
|
1661
|
+
}
|
|
1662
|
+
export interface cargo_row {
|
|
1663
|
+
id: UInt64Type
|
|
1664
|
+
entity_id: UInt64Type
|
|
1665
|
+
item_id: UInt64Type
|
|
1666
|
+
quantity: UInt64Type
|
|
1667
|
+
stats: UInt64Type
|
|
1668
|
+
modules: Type.module_entry[]
|
|
1669
|
+
sequence_id?: UInt64Type
|
|
1670
|
+
}
|
|
1671
|
+
export interface entitygroup_row {
|
|
1672
|
+
id: UInt64Type
|
|
1673
|
+
participants: Type.entity_ref[]
|
|
1674
|
+
}
|
|
1675
|
+
export interface reserve_row {
|
|
1676
|
+
id: UInt64Type
|
|
1677
|
+
coord_id: UInt64Type
|
|
1678
|
+
stratum: UInt16Type
|
|
1679
|
+
remaining: UInt32Type
|
|
1680
|
+
last_block: BlockTimestamp
|
|
1681
|
+
}
|
|
1682
|
+
export interface state_row {
|
|
1683
|
+
enabled: boolean
|
|
1684
|
+
epoch: UInt32Type
|
|
1685
|
+
seed: Checksum256Type
|
|
1686
|
+
}
|
|
1298
1687
|
export interface task_event {
|
|
1299
1688
|
event_type: UInt8Type
|
|
1300
1689
|
owner: NameType
|
|
@@ -1304,54 +1693,44 @@ export namespace ActionParams {
|
|
|
1304
1693
|
task: Type.task
|
|
1305
1694
|
starts_at: TimePointType
|
|
1306
1695
|
completes_at: TimePointType
|
|
1307
|
-
new_energy?:
|
|
1308
|
-
|
|
1309
|
-
export interface task {
|
|
1310
|
-
type: UInt8Type
|
|
1311
|
-
duration: UInt32Type
|
|
1312
|
-
cancelable: UInt8Type
|
|
1313
|
-
coordinates?: Type.coordinates
|
|
1314
|
-
cargo: Type.cargo_item[]
|
|
1315
|
-
entitytarget?: Type.entity_ref
|
|
1316
|
-
entitygroup?: UInt64Type
|
|
1317
|
-
energy_cost?: UInt16Type
|
|
1318
|
-
}
|
|
1319
|
-
export interface coordinates {
|
|
1320
|
-
x: Int64Type
|
|
1321
|
-
y: Int64Type
|
|
1322
|
-
z?: UInt16Type
|
|
1696
|
+
new_energy?: UInt32Type
|
|
1697
|
+
lane_key: UInt8Type
|
|
1323
1698
|
}
|
|
1324
1699
|
}
|
|
1325
1700
|
export interface addmodule {
|
|
1326
|
-
entity_type: NameType
|
|
1327
1701
|
entity_id: UInt64Type
|
|
1328
1702
|
module_index: UInt8Type
|
|
1329
|
-
|
|
1330
|
-
|
|
1703
|
+
module_ref: Type.cargo_ref
|
|
1704
|
+
target_ref?: Type.cargo_ref
|
|
1331
1705
|
}
|
|
1332
1706
|
export interface addnexus {
|
|
1333
1707
|
nexus_name: string
|
|
1334
1708
|
x: Int64Type
|
|
1335
1709
|
y: Int64Type
|
|
1336
1710
|
}
|
|
1337
|
-
export interface
|
|
1338
|
-
|
|
1339
|
-
commit: Checksum256Type
|
|
1711
|
+
export interface addoracle {
|
|
1712
|
+
oracle_id: NameType
|
|
1340
1713
|
}
|
|
1341
1714
|
export interface blend {
|
|
1342
|
-
entity_type: NameType
|
|
1343
1715
|
id: UInt64Type
|
|
1344
1716
|
inputs: Type.cargo_item[]
|
|
1345
1717
|
}
|
|
1718
|
+
export interface buildplot {
|
|
1719
|
+
builder_id: UInt64Type
|
|
1720
|
+
plot_id: UInt64Type
|
|
1721
|
+
}
|
|
1346
1722
|
export interface cancel {
|
|
1347
|
-
entity_type: NameType
|
|
1348
1723
|
id: UInt64Type
|
|
1724
|
+
lane_key: UInt8Type
|
|
1349
1725
|
count: UInt64Type
|
|
1350
1726
|
}
|
|
1727
|
+
export interface claimplot {
|
|
1728
|
+
builder_id: UInt64Type
|
|
1729
|
+
target_item_id: UInt16Type
|
|
1730
|
+
coords: Type.coordinates
|
|
1731
|
+
}
|
|
1351
1732
|
export interface claimstarter {
|
|
1352
|
-
|
|
1353
|
-
x: Int64Type
|
|
1354
|
-
y: Int64Type
|
|
1733
|
+
owner: NameType
|
|
1355
1734
|
}
|
|
1356
1735
|
export interface cleanrsvp {
|
|
1357
1736
|
epoch: UInt64Type
|
|
@@ -1363,30 +1742,27 @@ export namespace ActionParams {
|
|
|
1363
1742
|
max_rows?: UInt64Type
|
|
1364
1743
|
}
|
|
1365
1744
|
export interface commit {
|
|
1745
|
+
oracle_id: NameType
|
|
1746
|
+
epoch: UInt64Type
|
|
1366
1747
|
commit: Checksum256Type
|
|
1367
1748
|
}
|
|
1368
1749
|
export interface configlog {
|
|
1369
1750
|
config: Type.game_config
|
|
1370
1751
|
}
|
|
1371
1752
|
export interface craft {
|
|
1372
|
-
entity_type: NameType
|
|
1373
1753
|
id: UInt64Type
|
|
1374
1754
|
recipe_id: UInt16Type
|
|
1375
1755
|
quantity: UInt32Type
|
|
1376
1756
|
inputs: Type.cargo_item[]
|
|
1757
|
+
target?: UInt64Type
|
|
1758
|
+
slot?: UInt8Type
|
|
1377
1759
|
}
|
|
1378
|
-
export interface
|
|
1379
|
-
|
|
1380
|
-
entity_type: NameType
|
|
1381
|
-
entity_name: string
|
|
1382
|
-
x: Int64Type
|
|
1383
|
-
y: Int64Type
|
|
1760
|
+
export interface demolish {
|
|
1761
|
+
entity_id: UInt64Type
|
|
1384
1762
|
}
|
|
1385
1763
|
export interface deploy {
|
|
1386
|
-
entity_type: NameType
|
|
1387
1764
|
id: UInt64Type
|
|
1388
|
-
|
|
1389
|
-
stats: UInt64Type
|
|
1765
|
+
ref: Type.cargo_ref
|
|
1390
1766
|
}
|
|
1391
1767
|
export interface descentity {
|
|
1392
1768
|
item_id: UInt16Type
|
|
@@ -1397,25 +1773,53 @@ export namespace ActionParams {
|
|
|
1397
1773
|
export interface enable {
|
|
1398
1774
|
enabled: boolean
|
|
1399
1775
|
}
|
|
1776
|
+
export interface fixcargomass {
|
|
1777
|
+
entity_id: UInt64Type
|
|
1778
|
+
}
|
|
1779
|
+
export interface forcereveal {
|
|
1780
|
+
epoch: UInt64Type
|
|
1781
|
+
}
|
|
1400
1782
|
export interface gather {
|
|
1401
|
-
|
|
1402
|
-
|
|
1783
|
+
source_id: UInt64Type
|
|
1784
|
+
destination_id: UInt64Type
|
|
1403
1785
|
stratum: UInt16Type
|
|
1404
1786
|
quantity: UInt32Type
|
|
1787
|
+
slot?: UInt8Type
|
|
1788
|
+
}
|
|
1789
|
+
export interface genesisfleet {
|
|
1790
|
+
entities: Type.entity_row[]
|
|
1405
1791
|
}
|
|
1406
1792
|
export interface getconfig {}
|
|
1793
|
+
export interface getdeposit {
|
|
1794
|
+
owner: NameType
|
|
1795
|
+
asset_id: UInt64Type
|
|
1796
|
+
}
|
|
1797
|
+
export interface getdistance {
|
|
1798
|
+
ax: Int64Type
|
|
1799
|
+
ay: Int64Type
|
|
1800
|
+
bx: Int64Type
|
|
1801
|
+
by: Int64Type
|
|
1802
|
+
}
|
|
1803
|
+
export interface geteligible {
|
|
1804
|
+
coords: Type.coordinates
|
|
1805
|
+
stratum: UInt16Type
|
|
1806
|
+
}
|
|
1807
|
+
export interface getentcls {}
|
|
1407
1808
|
export interface getentities {
|
|
1408
1809
|
owner: NameType
|
|
1409
1810
|
entity_type?: NameType
|
|
1410
1811
|
}
|
|
1411
1812
|
export interface getentity {
|
|
1412
|
-
entity_type: NameType
|
|
1413
1813
|
entity_id: UInt64Type
|
|
1414
1814
|
}
|
|
1415
1815
|
export interface getitemdata {}
|
|
1416
1816
|
export interface getitemids {}
|
|
1417
1817
|
export interface getitems {}
|
|
1818
|
+
export interface getitemtype {
|
|
1819
|
+
item_id: UInt16Type
|
|
1820
|
+
}
|
|
1418
1821
|
export interface getitemtypes {}
|
|
1822
|
+
export interface getkindmeta {}
|
|
1419
1823
|
export interface getlocation {
|
|
1420
1824
|
x: Int64Type
|
|
1421
1825
|
y: Int64Type
|
|
@@ -1427,14 +1831,18 @@ export namespace ActionParams {
|
|
|
1427
1831
|
export interface getmodtypes {}
|
|
1428
1832
|
export interface getmodules {}
|
|
1429
1833
|
export interface getnearby {
|
|
1430
|
-
entity_type: NameType
|
|
1431
1834
|
entity_id: UInt64Type
|
|
1432
1835
|
recharge: boolean
|
|
1433
1836
|
}
|
|
1837
|
+
export interface getnftbase {}
|
|
1434
1838
|
export interface getnftinfo {}
|
|
1435
1839
|
export interface getplayer {
|
|
1436
1840
|
account: NameType
|
|
1437
1841
|
}
|
|
1842
|
+
export interface getprojstate {
|
|
1843
|
+
entity_id: UInt64Type
|
|
1844
|
+
task_count?: UInt8Type
|
|
1845
|
+
}
|
|
1438
1846
|
export interface getrecipe {
|
|
1439
1847
|
output_item_id: UInt16Type
|
|
1440
1848
|
}
|
|
@@ -1458,6 +1866,17 @@ export namespace ActionParams {
|
|
|
1458
1866
|
owner: NameType
|
|
1459
1867
|
entity_type?: NameType
|
|
1460
1868
|
}
|
|
1869
|
+
export interface getwormhole {
|
|
1870
|
+
x: Int64Type
|
|
1871
|
+
y: Int64Type
|
|
1872
|
+
}
|
|
1873
|
+
export interface grouptransit {
|
|
1874
|
+
entities: Type.entity_ref[]
|
|
1875
|
+
ax: Int64Type
|
|
1876
|
+
ay: Int64Type
|
|
1877
|
+
bx: Int64Type
|
|
1878
|
+
by: Int64Type
|
|
1879
|
+
}
|
|
1461
1880
|
export interface grouptravel {
|
|
1462
1881
|
entities: Type.entity_ref[]
|
|
1463
1882
|
x: Int64Type
|
|
@@ -1470,121 +1889,200 @@ export namespace ActionParams {
|
|
|
1470
1889
|
export interface hash512 {
|
|
1471
1890
|
value: string
|
|
1472
1891
|
}
|
|
1473
|
-
export interface
|
|
1474
|
-
|
|
1892
|
+
export interface importcargo {
|
|
1893
|
+
row: Type.cargo_row
|
|
1894
|
+
}
|
|
1895
|
+
export interface importentity {
|
|
1896
|
+
row: Type.entity_row
|
|
1897
|
+
}
|
|
1898
|
+
export interface importgroup {
|
|
1899
|
+
row: Type.entitygroup_row
|
|
1900
|
+
}
|
|
1901
|
+
export interface importplayer {
|
|
1902
|
+
owner: NameType
|
|
1903
|
+
}
|
|
1904
|
+
export interface importreserve {
|
|
1905
|
+
epoch_scope: UInt32Type
|
|
1906
|
+
row: Type.reserve_row
|
|
1907
|
+
}
|
|
1908
|
+
export interface importstate {
|
|
1909
|
+
row: Type.state_row
|
|
1475
1910
|
}
|
|
1476
1911
|
export interface join {
|
|
1477
1912
|
account: NameType
|
|
1478
1913
|
}
|
|
1914
|
+
export interface launch {
|
|
1915
|
+
launcher_id: UInt64Type
|
|
1916
|
+
catcher_id: UInt64Type
|
|
1917
|
+
items: Type.cargo_item[]
|
|
1918
|
+
}
|
|
1919
|
+
export interface load {
|
|
1920
|
+
id: UInt64Type
|
|
1921
|
+
from_id: UInt64Type
|
|
1922
|
+
items: Type.cargo_item[]
|
|
1923
|
+
}
|
|
1924
|
+
export interface nftimgurl {
|
|
1925
|
+
item: Type.cargo_item
|
|
1926
|
+
location?: Type.coordinates
|
|
1927
|
+
}
|
|
1479
1928
|
export interface notify {
|
|
1480
1929
|
event: Type.task_event
|
|
1481
1930
|
}
|
|
1931
|
+
export interface placecargo {
|
|
1932
|
+
owner: NameType
|
|
1933
|
+
host_id: UInt64Type
|
|
1934
|
+
asset_id: UInt64Type
|
|
1935
|
+
}
|
|
1936
|
+
export interface placeentity {
|
|
1937
|
+
owner: NameType
|
|
1938
|
+
asset_id: UInt64Type
|
|
1939
|
+
target_nexus_id: UInt64Type
|
|
1940
|
+
}
|
|
1482
1941
|
export interface recharge {
|
|
1483
|
-
entity_type: NameType
|
|
1484
1942
|
id: UInt64Type
|
|
1485
1943
|
}
|
|
1944
|
+
export interface refrshentity {
|
|
1945
|
+
entity_id: UInt64Type
|
|
1946
|
+
}
|
|
1947
|
+
export interface removeoracle {
|
|
1948
|
+
oracle_id: NameType
|
|
1949
|
+
}
|
|
1950
|
+
export interface rename {
|
|
1951
|
+
id: UInt64Type
|
|
1952
|
+
name: string
|
|
1953
|
+
}
|
|
1486
1954
|
export interface resolve {
|
|
1487
|
-
entity_type: NameType
|
|
1488
1955
|
id: UInt64Type
|
|
1489
1956
|
count?: UInt64Type
|
|
1490
1957
|
}
|
|
1958
|
+
export interface resolveall {
|
|
1959
|
+
owner: NameType
|
|
1960
|
+
}
|
|
1961
|
+
export interface reveal {
|
|
1962
|
+
oracle_id: NameType
|
|
1963
|
+
epoch: UInt64Type
|
|
1964
|
+
reveal: Checksum256Type
|
|
1965
|
+
}
|
|
1491
1966
|
export interface rmmodule {
|
|
1492
|
-
entity_type: NameType
|
|
1493
1967
|
entity_id: UInt64Type
|
|
1494
1968
|
module_index: UInt8Type
|
|
1495
|
-
|
|
1969
|
+
target_ref?: Type.cargo_ref
|
|
1496
1970
|
}
|
|
1497
1971
|
export interface rmnftcfg {
|
|
1498
1972
|
item_id: UInt16Type
|
|
1499
1973
|
}
|
|
1500
|
-
export interface
|
|
1501
|
-
|
|
1974
|
+
export interface setcoords {
|
|
1975
|
+
entity_id: UInt64Type
|
|
1976
|
+
x: Int64Type
|
|
1977
|
+
y: Int64Type
|
|
1502
1978
|
}
|
|
1503
1979
|
export interface setnftcfg {
|
|
1504
1980
|
item_id: UInt16Type
|
|
1505
1981
|
template_id: Int32Type
|
|
1506
1982
|
schema_name: NameType
|
|
1507
1983
|
}
|
|
1508
|
-
export interface
|
|
1984
|
+
export interface setthreshold {
|
|
1985
|
+
threshold: UInt8Type
|
|
1986
|
+
}
|
|
1987
|
+
export interface setwrapcost {
|
|
1988
|
+
item_type: UInt8Type
|
|
1989
|
+
tier: UInt8Type
|
|
1990
|
+
amount: UInt64Type
|
|
1991
|
+
}
|
|
1992
|
+
export interface setwrapfee {
|
|
1993
|
+
fee_pct: UInt16Type
|
|
1994
|
+
fee_account: NameType
|
|
1995
|
+
}
|
|
1996
|
+
export interface stowcargo {
|
|
1997
|
+
owner: NameType
|
|
1509
1998
|
entity_id: UInt64Type
|
|
1510
|
-
|
|
1999
|
+
nexus_id: UInt64Type
|
|
2000
|
+
cargo_id: UInt64Type
|
|
1511
2001
|
quantity: UInt64Type
|
|
1512
2002
|
}
|
|
1513
|
-
export interface
|
|
2003
|
+
export interface stowentity {
|
|
2004
|
+
owner: NameType
|
|
1514
2005
|
entity_id: UInt64Type
|
|
1515
|
-
|
|
1516
|
-
hull_stats: UInt64Type
|
|
1517
|
-
installed: Type.packed_module[]
|
|
2006
|
+
nexus_id: UInt64Type
|
|
1518
2007
|
}
|
|
1519
|
-
export interface
|
|
2008
|
+
export interface swapmodule {
|
|
1520
2009
|
entity_id: UInt64Type
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
stats: UInt64Type
|
|
2010
|
+
module_index: UInt8Type
|
|
2011
|
+
module_ref: Type.cargo_ref
|
|
1524
2012
|
}
|
|
1525
|
-
export interface
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
stats: UInt64Type
|
|
1532
|
-
quantity: UInt32Type
|
|
2013
|
+
export interface transit {
|
|
2014
|
+
id: UInt64Type
|
|
2015
|
+
ax: Int64Type
|
|
2016
|
+
ay: Int64Type
|
|
2017
|
+
bx: Int64Type
|
|
2018
|
+
by: Int64Type
|
|
1533
2019
|
}
|
|
1534
2020
|
export interface travel {
|
|
1535
|
-
entity_type: NameType
|
|
1536
2021
|
id: UInt64Type
|
|
1537
2022
|
x: Int64Type
|
|
1538
2023
|
y: Int64Type
|
|
1539
2024
|
recharge: boolean
|
|
1540
2025
|
}
|
|
2026
|
+
export interface undeploy {
|
|
2027
|
+
host_id: UInt64Type
|
|
2028
|
+
target_id: UInt64Type
|
|
2029
|
+
}
|
|
2030
|
+
export interface unload {
|
|
2031
|
+
id: UInt64Type
|
|
2032
|
+
to_id: UInt64Type
|
|
2033
|
+
items: Type.cargo_item[]
|
|
2034
|
+
}
|
|
1541
2035
|
export interface warp {
|
|
1542
|
-
entity_type: NameType
|
|
1543
2036
|
id: UInt64Type
|
|
1544
2037
|
x: Int64Type
|
|
1545
2038
|
y: Int64Type
|
|
1546
2039
|
}
|
|
1547
2040
|
export interface wipe {}
|
|
1548
|
-
export interface wipesequence {}
|
|
1549
|
-
export interface wrap {
|
|
1550
|
-
owner: NameType
|
|
1551
|
-
entity_type: NameType
|
|
1552
|
-
entity_id: UInt64Type
|
|
1553
|
-
cargo_id: UInt64Type
|
|
1554
|
-
quantity: UInt64Type
|
|
1555
|
-
}
|
|
1556
2041
|
}
|
|
1557
2042
|
export interface ActionNameParams {
|
|
1558
2043
|
addmodule: ActionParams.addmodule
|
|
1559
2044
|
addnexus: ActionParams.addnexus
|
|
1560
|
-
|
|
2045
|
+
addoracle: ActionParams.addoracle
|
|
1561
2046
|
blend: ActionParams.blend
|
|
2047
|
+
buildplot: ActionParams.buildplot
|
|
1562
2048
|
cancel: ActionParams.cancel
|
|
2049
|
+
claimplot: ActionParams.claimplot
|
|
1563
2050
|
claimstarter: ActionParams.claimstarter
|
|
1564
2051
|
cleanrsvp: ActionParams.cleanrsvp
|
|
1565
2052
|
cleartable: ActionParams.cleartable
|
|
1566
2053
|
commit: ActionParams.commit
|
|
1567
2054
|
configlog: ActionParams.configlog
|
|
1568
2055
|
craft: ActionParams.craft
|
|
1569
|
-
|
|
2056
|
+
demolish: ActionParams.demolish
|
|
1570
2057
|
deploy: ActionParams.deploy
|
|
1571
2058
|
descentity: ActionParams.descentity
|
|
1572
2059
|
enable: ActionParams.enable
|
|
2060
|
+
fixcargomass: ActionParams.fixcargomass
|
|
2061
|
+
forcereveal: ActionParams.forcereveal
|
|
1573
2062
|
gather: ActionParams.gather
|
|
2063
|
+
genesisfleet: ActionParams.genesisfleet
|
|
1574
2064
|
getconfig: ActionParams.getconfig
|
|
2065
|
+
getdeposit: ActionParams.getdeposit
|
|
2066
|
+
getdistance: ActionParams.getdistance
|
|
2067
|
+
geteligible: ActionParams.geteligible
|
|
2068
|
+
getentcls: ActionParams.getentcls
|
|
1575
2069
|
getentities: ActionParams.getentities
|
|
1576
2070
|
getentity: ActionParams.getentity
|
|
1577
2071
|
getitemdata: ActionParams.getitemdata
|
|
1578
2072
|
getitemids: ActionParams.getitemids
|
|
1579
2073
|
getitems: ActionParams.getitems
|
|
2074
|
+
getitemtype: ActionParams.getitemtype
|
|
1580
2075
|
getitemtypes: ActionParams.getitemtypes
|
|
2076
|
+
getkindmeta: ActionParams.getkindmeta
|
|
1581
2077
|
getlocation: ActionParams.getlocation
|
|
1582
2078
|
getlocdata: ActionParams.getlocdata
|
|
1583
2079
|
getmodtypes: ActionParams.getmodtypes
|
|
1584
2080
|
getmodules: ActionParams.getmodules
|
|
1585
2081
|
getnearby: ActionParams.getnearby
|
|
2082
|
+
getnftbase: ActionParams.getnftbase
|
|
1586
2083
|
getnftinfo: ActionParams.getnftinfo
|
|
1587
2084
|
getplayer: ActionParams.getplayer
|
|
2085
|
+
getprojstate: ActionParams.getprojstate
|
|
1588
2086
|
getrecipe: ActionParams.getrecipe
|
|
1589
2087
|
getrecipes: ActionParams.getrecipes
|
|
1590
2088
|
getrescats: ActionParams.getrescats
|
|
@@ -1593,49 +2091,80 @@ export interface ActionNameParams {
|
|
|
1593
2091
|
getslots: ActionParams.getslots
|
|
1594
2092
|
getstratum: ActionParams.getstratum
|
|
1595
2093
|
getsummaries: ActionParams.getsummaries
|
|
2094
|
+
getwormhole: ActionParams.getwormhole
|
|
2095
|
+
grouptransit: ActionParams.grouptransit
|
|
1596
2096
|
grouptravel: ActionParams.grouptravel
|
|
1597
2097
|
hash: ActionParams.hash
|
|
1598
2098
|
hash512: ActionParams.hash512
|
|
1599
|
-
|
|
2099
|
+
importcargo: ActionParams.importcargo
|
|
2100
|
+
importentity: ActionParams.importentity
|
|
2101
|
+
importgroup: ActionParams.importgroup
|
|
2102
|
+
importplayer: ActionParams.importplayer
|
|
2103
|
+
importreserve: ActionParams.importreserve
|
|
2104
|
+
importstate: ActionParams.importstate
|
|
1600
2105
|
join: ActionParams.join
|
|
2106
|
+
launch: ActionParams.launch
|
|
2107
|
+
load: ActionParams.load
|
|
2108
|
+
nftimgurl: ActionParams.nftimgurl
|
|
1601
2109
|
notify: ActionParams.notify
|
|
2110
|
+
placecargo: ActionParams.placecargo
|
|
2111
|
+
placeentity: ActionParams.placeentity
|
|
1602
2112
|
recharge: ActionParams.recharge
|
|
2113
|
+
refrshentity: ActionParams.refrshentity
|
|
2114
|
+
removeoracle: ActionParams.removeoracle
|
|
2115
|
+
rename: ActionParams.rename
|
|
1603
2116
|
resolve: ActionParams.resolve
|
|
2117
|
+
resolveall: ActionParams.resolveall
|
|
2118
|
+
reveal: ActionParams.reveal
|
|
1604
2119
|
rmmodule: ActionParams.rmmodule
|
|
1605
2120
|
rmnftcfg: ActionParams.rmnftcfg
|
|
1606
|
-
|
|
2121
|
+
setcoords: ActionParams.setcoords
|
|
1607
2122
|
setnftcfg: ActionParams.setnftcfg
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
2123
|
+
setthreshold: ActionParams.setthreshold
|
|
2124
|
+
setwrapcost: ActionParams.setwrapcost
|
|
2125
|
+
setwrapfee: ActionParams.setwrapfee
|
|
2126
|
+
stowcargo: ActionParams.stowcargo
|
|
2127
|
+
stowentity: ActionParams.stowentity
|
|
2128
|
+
swapmodule: ActionParams.swapmodule
|
|
2129
|
+
transit: ActionParams.transit
|
|
1612
2130
|
travel: ActionParams.travel
|
|
2131
|
+
undeploy: ActionParams.undeploy
|
|
2132
|
+
unload: ActionParams.unload
|
|
1613
2133
|
warp: ActionParams.warp
|
|
1614
2134
|
wipe: ActionParams.wipe
|
|
1615
|
-
wipesequence: ActionParams.wipesequence
|
|
1616
|
-
wrap: ActionParams.wrap
|
|
1617
2135
|
}
|
|
1618
2136
|
export type ActionNames = keyof ActionNameParams
|
|
1619
2137
|
export interface ActionReturnValues {
|
|
2138
|
+
buildplot: Types.task_results
|
|
1620
2139
|
cancel: Types.cancel_results
|
|
2140
|
+
claimplot: Types.task_results
|
|
1621
2141
|
craft: Types.task_results
|
|
2142
|
+
demolish: Types.task_results
|
|
1622
2143
|
deploy: Types.task_results
|
|
1623
2144
|
descentity: string
|
|
1624
2145
|
gather: Types.task_results
|
|
1625
2146
|
getconfig: Types.game_config
|
|
2147
|
+
getdeposit: ExtendedAsset
|
|
2148
|
+
getdistance: UInt64
|
|
2149
|
+
geteligible: UInt16[]
|
|
2150
|
+
getentcls: Types.enum_result
|
|
1626
2151
|
getentities: Types.entity_info[]
|
|
1627
2152
|
getentity: Types.entity_info
|
|
1628
2153
|
getitemdata: Types.itemdata_result
|
|
1629
2154
|
getitemids: Types.item_ids_result
|
|
1630
2155
|
getitems: Types.items_info
|
|
2156
|
+
getitemtype: UInt8
|
|
1631
2157
|
getitemtypes: Types.enum_result
|
|
2158
|
+
getkindmeta: Types.kind_meta_result
|
|
1632
2159
|
getlocation: Types.location_info
|
|
1633
2160
|
getlocdata: Types.location_derived
|
|
1634
2161
|
getmodtypes: Types.enum_result
|
|
1635
2162
|
getmodules: Types.modules_result
|
|
1636
2163
|
getnearby: Types.nearby_info
|
|
2164
|
+
getnftbase: string[]
|
|
1637
2165
|
getnftinfo: Types.nftinfo_result
|
|
1638
2166
|
getplayer: Types.player_info
|
|
2167
|
+
getprojstate: Types.projected_state
|
|
1639
2168
|
getrecipe: Types.recipes_result
|
|
1640
2169
|
getrecipes: Types.recipes_result
|
|
1641
2170
|
getrescats: Types.enum_result
|
|
@@ -1644,15 +2173,26 @@ export interface ActionReturnValues {
|
|
|
1644
2173
|
getslots: Types.entity_layouts_result
|
|
1645
2174
|
getstratum: Types.stratum_data
|
|
1646
2175
|
getsummaries: Types.entity_summary[]
|
|
2176
|
+
getwormhole: Types.wormhole_info
|
|
2177
|
+
grouptransit: Types.task_results
|
|
1647
2178
|
grouptravel: Types.task_results
|
|
1648
2179
|
hash: Checksum256
|
|
1649
2180
|
hash512: Checksum512
|
|
2181
|
+
launch: Types.task_results
|
|
2182
|
+
load: Types.task_results
|
|
2183
|
+
nftimgurl: string
|
|
2184
|
+
placecargo: Types.task_results
|
|
2185
|
+
placeentity: Types.task_results
|
|
1650
2186
|
recharge: Types.task_results
|
|
1651
2187
|
resolve: Types.resolve_results
|
|
1652
|
-
|
|
2188
|
+
resolveall: Types.resolveall_results
|
|
2189
|
+
stowcargo: Types.task_results
|
|
2190
|
+
stowentity: Types.task_results
|
|
2191
|
+
transit: Types.task_results
|
|
1653
2192
|
travel: Types.task_results
|
|
2193
|
+
undeploy: Types.task_results
|
|
2194
|
+
unload: Types.task_results
|
|
1654
2195
|
warp: Types.task_results
|
|
1655
|
-
wrap: Types.task_results
|
|
1656
2196
|
}
|
|
1657
2197
|
export type ActionReturnNames = keyof ActionReturnValues
|
|
1658
2198
|
export class Contract extends BaseContract {
|
|
@@ -1660,7 +2200,7 @@ export class Contract extends BaseContract {
|
|
|
1660
2200
|
super({
|
|
1661
2201
|
client: args.client,
|
|
1662
2202
|
abi: abi,
|
|
1663
|
-
account: args.account || Name.from('shipload
|
|
2203
|
+
account: args.account || Name.from('eon.shipload'),
|
|
1664
2204
|
})
|
|
1665
2205
|
}
|
|
1666
2206
|
action<T extends ActionNames>(
|