@shipload/sdk 1.0.0-next.72 → 1.0.0-next.73
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 +75 -7
- package/lib/shipload.js +272 -332
- package/lib/shipload.js.map +1 -1
- package/lib/shipload.m.js +269 -333
- package/lib/shipload.m.js.map +1 -1
- package/lib/testing.d.ts +20 -5
- package/lib/testing.js +239 -322
- package/lib/testing.js.map +1 -1
- package/lib/testing.m.js +239 -322
- package/lib/testing.m.js.map +1 -1
- package/package.json +1 -1
- package/src/contracts/server.ts +67 -10
- package/src/data/catalog.test.ts +81 -1
- package/src/data/catalog.ts +6 -4
- package/src/data/metadata.ts +197 -363
- package/src/data/task-types.json +184 -0
- package/src/entities/makers.ts +2 -2
- package/src/index-module.ts +9 -1
- package/src/managers/actions.ts +12 -0
- package/src/resolution/resolve-item.ts +2 -2
- package/src/scheduling/unwrap.test.ts +60 -0
- package/src/scheduling/unwrap.ts +24 -8
- package/src/types.ts +1 -0
package/lib/shipload.m.js
CHANGED
|
@@ -851,7 +851,7 @@ var platform = /*#__PURE__*/Object.freeze({
|
|
|
851
851
|
Contract: Contract$2
|
|
852
852
|
});
|
|
853
853
|
|
|
854
|
-
const abiBlob$1 = Blob.from('DmVvc2lvOjphYmkvMS4yAhVCX3ZlY3Rvcl9lbnRpdHlfcmVmX0UMZW50aXR5X3JlZltdDWxvY2F0aW9uX3R5cGUFdWludDi8AgthYmFuZG9ucGxvdAABB3Bsb3RfaWQGdWludDY0CmFkZGNvbnRyaWIABQZwbGF5ZXIEbmFtZQllbnRpdHlfaWQGdWludDY0AXgFaW50NjQBeQVpbnQ2NAZidW5kbGUMY2FyZ29faXRlbVtdCWFkZG1vZHVsZQAECWVudGl0eV9pZAZ1aW50NjQMbW9kdWxlX2luZGV4BXVpbnQ4Cm1vZHVsZV9yZWYJY2FyZ29fcmVmCnRhcmdldF9yZWYKY2FyZ29fcmVmPwhhZGRuZXh1cwADCm5leHVzX25hbWUGc3RyaW5nAXgFaW50NjQBeQVpbnQ2NAlhZGRvcmFjbGUAAQlvcmFjbGVfaWQEbmFtZQ1iYWxsb3RfY3JlZGl0AAIHYWNjb3VudARuYW1lBmFtb3VudAZ1aW50NjQKYmFsbG90X3JvdwAHCWJhbGxvdF9pZAZ1aW50NjQEa2luZAV1aW50OAdzdWJqZWN0BnVpbnQ2NAVzZWF0cwZ1aW50MzINc2V0dGxlZF9lcG9jaAZ1aW50MzIFcXVldWUIdWludDMyW10GcGFya2VkD2JhbGxvdF9jcmVkaXRbXQ5iYWxsb3Rfc2VxX3JvdwADB25leHRfaWQGdWludDY0BmN1cnNvcgZ1aW50NjQJcGFnZV9yb3dzBnVpbnQzMgxiYWxsb3RfdGFsbHkAAgZvcHRpb24GdWludDMyBndlaWdodAZ1aW50NjQPYmFsbG90cGlja3Nfcm93AAIHYWNjb3VudARuYW1lBXBpY2tzCHVpbnQzMltdEGJhbGxvdHNldHRsZV9yb3cABgliYWxsb3RfaWQGdWludDY0BXJvdW5kBnVpbnQzMgZjdXJzb3IGdWludDY0DHRhcmdldF9lcG9jaAZ1aW50MzIHdGFsbGllcw5iYWxsb3RfdGFsbHlbXQZzZWF0ZWQIdWludDMyW10FYmxlbmQAAgJpZAZ1aW50NjQGaW5wdXRzDGNhcmdvX2l0ZW1bXQxidWlsZGVyX2xhbmUABApzbG90X2luZGV4BXVpbnQ4BXNwZWVkBnVpbnQxNgVkcmFpbgZ1aW50MzIKb3V0cHV0X3BjdAZ1aW50MTYNYnVpbGRpbmdzX3JvdwACCWVudGl0eV9pZAZ1aW50NjQIYnVpbGRpbmcFdWludDgIYnVpbGRqb2IABAl0YXJnZXRfaWQGdWludDY0B2RvY2tfaWQGdWludDY0DnRhcmdldF9pdGVtX2lkBnVpbnQxNgZpbnB1dHMMY2FyZ29faXRlbVtdDGJ1aWxkam9iX3JvdwAMAmlkBnVpbnQ2NAhidWlsZGluZwZ1aW50NjQGc29ja2V0BXVpbnQ4BnRhcmdldAZ1aW50NjQFb3duZXIEbmFtZQZjb29yZHMLY29vcmRpbmF0ZXMJc3RhcnRzX2F0CnRpbWVfcG9pbnQMY29tcGxldGVzX2F0CnRpbWVfcG9pbnQOdGFyZ2V0X2l0ZW1faWQGdWludDE2BWNhcmdvDGNhcmdvX2l0ZW1bXQlkZXBvc2l0ZWQEYm9vbAphcnJpdmVzX2F0CnRpbWVfcG9pbnQQYnVpbGRqb2JzX3Jlc3VsdAABBGpvYnMOYnVpbGRqb2Jfcm93W10JYnVpbGRwbG90AAIKYnVpbGRlcl9pZAZ1aW50NjQHcGxvdF9pZAZ1aW50NjQGY2FuY2VsAAMCaWQGdWludDY0CGxhbmVfa2V5BXVpbnQ4BWNvdW50BnVpbnQ2NA5jYW5jZWxfcmVzdWx0cwAGCWVudGl0eV9pZAZ1aW50NjQLZW50aXR5X3R5cGUEbmFtZQ9jYW5jZWxsZWRfY291bnQFdWludDgQc2NoZWR1bGVfc3RhcnRlZAt0aW1lX3BvaW50PwtlbnRpdHlncm91cAd1aW50NjQ/DWdyb3VwX21lbWJlcnMWQl92ZWN0b3JfZW50aXR5X3JlZl9FPwtjYW5jZWxidWlsZAABBmpvYl9pZAZ1aW50NjQLY2FuY2VsY2l2aWMAAwhidWlsZGluZwZ1aW50NjQIbGFuZV9rZXkFdWludDgHZnJvbV9pZAZ1aW50NjQLY2FuY2VsY3JhZnQAAQZqb2JfaWQGdWludDY0CmNhcmdvX2l0ZW0ABQdpdGVtX2lkBnVpbnQxNgVzdGF0cwZ1aW50NjQHbW9kdWxlcw5tb2R1bGVfZW50cnlbXQhxdWFudGl0eQZ1aW50MzIJZW50aXR5X2lkB3VpbnQ2ND8JY2FyZ29fcmVmAAQHaXRlbV9pZAZ1aW50MTYFc3RhdHMGdWludDY0B21vZHVsZXMObW9kdWxlX2VudHJ5W10JZW50aXR5X2lkB3VpbnQ2ND8JY2FyZ29fcm93AAcCaWQGdWludDY0CWVudGl0eV9pZAZ1aW50NjQHaXRlbV9pZAZ1aW50NjQIcXVhbnRpdHkGdWludDY0BXN0YXRzBnVpbnQ2NAdtb2R1bGVzDm1vZHVsZV9lbnRyeVtdC3NlcXVlbmNlX2lkB3VpbnQ2ND8KY2FyZ29fdmlldwAGB2l0ZW1faWQGdWludDE2BXN0YXRzBnVpbnQ2NAdtb2R1bGVzDm1vZHVsZV9lbnRyeVtdCHF1YW50aXR5BnVpbnQzMgJpZAZ1aW50NjQJZW50aXR5X2lkB3VpbnQ2ND8KY2FzdGJhbGxvdAADBnBsYXllcgRuYW1lCWJhbGxvdF9pZAZ1aW50NjQFcGlja3MIdWludDMyW10QY2hhcnRlcl9ub2RlX2RlZgAGB25vZGVfaWQGdWludDMyBGNvc3QGdWludDY0B3ByZXJlcXMIdWludDMyW10GZ3JhbnRzDWNpdmljX2dyYW50W10PZXhjbHVzaW9uX2dyb3VwBnVpbnQxNgpyZXBlYXRfY2FwBXVpbnQ4EmNoYXJ0ZXJfcmVhZHlfdmlldwADAXgFaW50NjQBeQVpbnQ2NAdtYW5kYXRlBnVpbnQzMg5jaGFydGVyX3Jlc3VsdAAOC2xvY2F0aW9uX2lkBnVpbnQ2NAhsaWZldGltZQZ1aW50NjQFc3BlbnQGdWludDY0CnVuYXNzaWduZWQGdWludDY0B21hbmRhdGUGdWludDMyCW5leHRfY29zdAZ1aW50NjQLcHJlcmVxc19tZXQEYm9vbAlidWlsZGFibGUEYm9vbAVlcG9jaAZ1aW50MzIFYnVpbHQOY2hhcnRlcl92aWV3W10JYmFsbG90X2lkBnVpbnQ2NAhzZXR0bGluZwRib29sBXF1ZXVlC3NlYXRfdmlld1tdCHByb2dyZXNzD3Byb2dyZXNzX3ZpZXdbXRNjaGFydGVyX3RyZWVfcmVzdWx0AAEFbm9kZXMSY2hhcnRlcl9ub2RlX2RlZltdDGNoYXJ0ZXJfdmlldwACB25vZGVfaWQGdWludDMyB3JlcGVhdHMGdWludDE2DGNoYXJ0ZXJyZWFkeQACAXgFaW50NjQBeQVpbnQ2NBNjaGFydGVycmVhZHlfcmVzdWx0AAEGd29ybGRzFGNoYXJ0ZXJfcmVhZHlfdmlld1tdD2NpdGl6ZW5zaGlwX3JvdwAEC2xvY2F0aW9uX2lkBnVpbnQ2NAhsaWZldGltZQZ1aW50NjQGYWN0aXZlBnVpbnQ2NAxhY3RpdmVfZXBvY2gGdWludDMyC2NpdmljX2dyYW50AAQEa2luZAV1aW50OAhidWlsZGluZwV1aW50OARzdGF0BXVpbnQ4BXZhbHVlBnVpbnQxNg9jaXZpY2NvbmZpZ19yb3cAAQtjaXZpY19vd25lcgRuYW1lDGNpdmljc2h1dHRsZQAECGJ1aWxkaW5nBnVpbnQ2NAdmcm9tX2lkBnVpbnQ2NAV0b19pZAZ1aW50NjQFaXRlbXMMY2FyZ29faXRlbVtdCWNsYWltX3JvdwABBW93bmVyBG5hbWUKY2xhaW1idWlsZAABBmpvYl9pZAZ1aW50NjQKY2xhaW1jcmFmdAACBmpvYl9pZAZ1aW50NjQHc2hpcF9pZAZ1aW50NjQJY2xhaW1wbG90AAMKYnVpbGRlcl9pZAZ1aW50NjQOdGFyZ2V0X2l0ZW1faWQGdWludDE2BHNsb3QMY2x1c3Rlcl9zbG90DGNsYWltc3RhcnRlcgABBW93bmVyBG5hbWUJY2xlYW5yc3ZwAAIFZXBvY2gGdWludDY0CG1heF9yb3dzBnVpbnQ2NApjbGVhcnRhYmxlAAMKdGFibGVfbmFtZQRuYW1lBXNjb3BlBW5hbWU/CG1heF9yb3dzB3VpbnQ2ND8KY2xvc2VlcG9jaAABBWVwb2NoBnVpbnQ2NAxjbHVzdGVyX2NlbGwAAwJneARpbnQ4Amd5BGludDgGZW50aXR5BnVpbnQ2NAtjbHVzdGVyX3JvdwACBHJvb3QGdWludDY0BWNlbGxzDmNsdXN0ZXJfY2VsbFtdDGNsdXN0ZXJfc2xvdAADA2h1YgZ1aW50NjQCZ3gEaW50OAJneQRpbnQ4DmNsdXN0ZXJfc291cmNlAAIJc291cmNlX2lkBnVpbnQ2NAVpdGVtcwxjYXJnb19pdGVtW10MY2x1c3RlcmNyYWZ0AAYCaWQGdWludDY0CXJlY2lwZV9pZAZ1aW50MTYIcXVhbnRpdHkGdWludDMyB3NvdXJjZXMQY2x1c3Rlcl9zb3VyY2VbXQZ0YXJnZXQHdWludDY0PwRzbG90BnVpbnQ4PwZjb21taXQAAwlvcmFjbGVfaWQEbmFtZQVlcG9jaAZ1aW50NjQGY29tbWl0C2NoZWNrc3VtMjU2CmNvbW1pdF9yb3cABAJpZAZ1aW50NjQFZXBvY2gGdWludDY0CW9yYWNsZV9pZARuYW1lBmNvbW1pdAtjaGVja3N1bTI1Ngljb25maWdsb2cAAQZjb25maWcLZ2FtZV9jb25maWcLY29vcmRpbmF0ZXMAAwF4BWludDY0AXkFaW50NjQBegd1aW50MTY/CGNvdXBsaW5nAAMLY291bnRlcnBhcnQKZW50aXR5X3JlZgRob2xkBnVpbnQ2NARraW5kBXVpbnQ4BWNyYWZ0AAYCaWQGdWludDY0CXJlY2lwZV9pZAZ1aW50MTYIcXVhbnRpdHkGdWludDMyBmlucHV0cwxjYXJnb19pdGVtW10GdGFyZ2V0B3VpbnQ2ND8Ec2xvdAZ1aW50OD8MY3JhZnRlcl9sYW5lAAQKc2xvdF9pbmRleAV1aW50OAVzcGVlZAZ1aW50MTYFZHJhaW4GdWludDMyCm91dHB1dF9wY3QGdWludDE2CGNyYWZ0am9iAAUHc2hpcF9pZAZ1aW50NjQLd29ya3Nob3BfaWQGdWludDY0CXJlY2lwZV9pZAZ1aW50MTYIcXVhbnRpdHkGdWludDMyBmlucHV0cwxjYXJnb19pdGVtW10MY3JhZnRqb2Jfcm93AA4CaWQGdWludDY0CGJ1aWxkaW5nBnVpbnQ2NAZzb2NrZXQFdWludDgFb3duZXIEbmFtZQdzaGlwX2lkBnVpbnQ2NAZjb29yZHMLY29vcmRpbmF0ZXMJc3RhcnRzX2F0CnRpbWVfcG9pbnQMY29tcGxldGVzX2F0CnRpbWVfcG9pbnQJcmVjaXBlX2lkBnVpbnQxNghxdWFudGl0eQZ1aW50MzILZW5lcmd5X3BhaWQGdWludDMyBWNhcmdvDGNhcmdvX2l0ZW1bXQlkZXBvc2l0ZWQEYm9vbAphcnJpdmVzX2F0CnRpbWVfcG9pbnQQY3JhZnRqb2JzX3Jlc3VsdAABBGpvYnMOY3JhZnRqb2Jfcm93W10JZGJnY3JlZGl0AAUFb3duZXIEbmFtZQF4BWludDY0AXkFaW50NjQNYW1vdW50X2F0b21pYwZ1aW50NjQEbm9kZQd1aW50MzI/B2RiZ2pvYnMAAgZjcmFmdHMOY3JhZnRqb2Jfcm93W10GYnVpbGRzDmJ1aWxkam9iX3Jvd1tdCmRiZ21hbmRhdGUAAwF4BWludDY0AXkFaW50NjQHbm9kZV9pZAZ1aW50MzILZGJncGFnZXJvd3MAAQRyb3dzBnVpbnQzMgdkYmdwaWNrAAQHc29ja2V0cxJzb2NrZXRfY2FuZGlkYXRlW10CaWQGdWludDY0B2Fycml2YWwKdGltZV9wb2ludANjYXAGdWludDE2CGRiZ3BsYWNlAAQHd2luZG93cxFyZXNlcnZlZF93aW5kb3dbXQJpZAZ1aW50NjQHYXJyaXZhbAp0aW1lX3BvaW50CGR1cmF0aW9uBnVpbnQzMghkYmdwdXJnZQACCnRhYmxlX25hbWUEbmFtZQVzY29wZQVuYW1lPwlkYmdyZXBhY2sAAwd3aW5kb3dzEXJlc2VydmVkX3dpbmRvd1tdDGNhbmNlbGxlZF9pZAZ1aW50NjQDbm93CnRpbWVfcG9pbnQIZGJnc2VhdHMAAwF4BWludDY0AXkFaW50NjQFc2VhdHMGdWludDMyDWRlY29tcF9idWNrZXQAAwhjYXRlZ29yeQV1aW50OAR0aWVyBXVpbnQ4CHJhd19tYXNzBnVpbnQzMg1kZWNvbXBfcmVzdWx0AAMHaXRlbV9pZAZ1aW50MTYOcHJvY2Vzc2VkX21hc3MGdWludDY0B2J1Y2tldHMPZGVjb21wX2J1Y2tldFtdCWRlbGVudGl0eQABCWVudGl0eV9pZAZ1aW50NjQNZGVtYW5kX3Jlc3VsdAAFDWFidW5kYW50X21hc2sFdWludDgMbGFja2luZ19tYXNrBXVpbnQ4BWFjdXRlBXVpbnQ4B25lZWRfZnAIdWludDY0W10FZXBvY2gGdWludDMyCGRlbW9saXNoAAEJZW50aXR5X2lkBnVpbnQ2NAZkZXBsb3kAAwJpZAZ1aW50NjQDcmVmCWNhcmdvX3JlZgRzbG90DWNsdXN0ZXJfc2xvdD8KZGVwb3RfdmlldwAECnBsYXllcl9jYXAGdWludDY0C3N0b3JlZF9tYXNzBnVpbnQ2NA1yZXNlcnZlZF9tYXNzBnVpbnQ2NARyb3dzDXN0b3JhZ2Vfcm93W10KZGVwb3RzdG9yZQADB3NoaXBfaWQGdWludDY0CGRlcG90X2lkBnVpbnQ2NAVpdGVtcwxjYXJnb19pdGVtW10JZGVwb3R0YWtlAAMHc2hpcF9pZAZ1aW50NjQIZGVwb3RfaWQGdWludDY0BWl0ZW1zDGNhcmdvX2l0ZW1bXQpkZXNjZW50aXR5AAQHaXRlbV9pZAZ1aW50MTYKaHVsbF9zdGF0cwZ1aW50NjQMbW9kdWxlX2l0ZW1zCHVpbnQxNltdDG1vZHVsZV9zdGF0cwh1aW50NjRbXQZlbmFibGUAAQdlbmFibGVkBGJvb2wMZW5lcmd5X3N0YXRzAAIIY2FwYWNpdHkGdWludDMyCHJlY2hhcmdlBnVpbnQzMhRlbnRpdHlfY3VycmVudF9zdGF0ZQACC2Nvb3JkaW5hdGVzC2Nvb3JkaW5hdGVzBmVuZXJneQZ1aW50MzIPZW50aXR5X2RlZmF1bHRzAAILd2FyZWhvdXNlX3oGdWludDE2C2NvbnRhaW5lcl96BnVpbnQxNgtlbnRpdHlfaW5mbwAYBHR5cGUEbmFtZQJpZAZ1aW50NjQFb3duZXIEbmFtZQtlbnRpdHlfbmFtZQZzdHJpbmcLY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMHaXRlbV9pZAZ1aW50MTYJY2FyZ29tYXNzBnVpbnQzMgVjYXJnbwxjYXJnb192aWV3W10HbW9kdWxlcw5tb2R1bGVfZW50cnlbXQZlbmVyZ3kHdWludDMyPwhodWxsbWFzcwd1aW50MzI/CGNhcGFjaXR5B3VpbnQzMj8HZW5naW5lcw9tb3ZlbWVudF9zdGF0cz8Ed2FycAt3YXJwX3N0YXRzPwlnZW5lcmF0b3INZW5lcmd5X3N0YXRzPwZoYXVsZXINaGF1bGVyX3N0YXRzPw5nYXRoZXJlcl9sYW5lcw9nYXRoZXJlcl9sYW5lW10NY3JhZnRlcl9sYW5lcw5jcmFmdGVyX2xhbmVbXQ1idWlsZGVyX2xhbmVzDmJ1aWxkZXJfbGFuZVtdDGxvYWRlcl9sYW5lcw1sb2FkZXJfbGFuZVtdCGxhdW5jaGVyD2xhdW5jaGVyX3N0YXRzPwVsYW5lcwZsYW5lW10FaG9sZHMGaG9sZFtdDHByb2plY3RlZF9hdAp0aW1lX3BvaW50DWVudGl0eV9sYXlvdXQAAw5lbnRpdHlfaXRlbV9pZAZ1aW50MTYFc2xvdHMKc2xvdF9kZWZbXQ1iYXNlX2h1bGxtYXNzBnVpbnQzMhVlbnRpdHlfbGF5b3V0c19yZXN1bHQAAQhlbnRpdGllcw9lbnRpdHlfbGF5b3V0W10KZW50aXR5X3JlZgACC2VudGl0eV90eXBlBG5hbWUJZW50aXR5X2lkBnVpbnQ2NAplbnRpdHlfcm93AAwCaWQGdWludDY0BW93bmVyBG5hbWUEa2luZARuYW1lB2l0ZW1faWQGdWludDE2BG5hbWUGc3RyaW5nBXN0YXRzBnVpbnQ2NAtjb29yZGluYXRlcwtjb29yZGluYXRlcwZlbmVyZ3kHdWludDMyPwljYXJnb21hc3MGdWludDMyB21vZHVsZXMObW9kdWxlX2VudHJ5W10FbGFuZXMGbGFuZVtdBWhvbGRzBmhvbGRbXQ5lbnRpdHlfc2VxX3JvdwABB25leHRfaWQGdWludDY0DmVudGl0eV9zdW1tYXJ5AAgEdHlwZQRuYW1lAmlkBnVpbnQ2NAVvd25lcgRuYW1lC2VudGl0eV9uYW1lBnN0cmluZwtjb29yZGluYXRlcwtjb29yZGluYXRlcwdpc19pZGxlBGJvb2wOcmVzb2x2ZWRfY291bnQGdWludDMyDXBlbmRpbmdfY291bnQGdWludDMyEGVudGl0eV90YXNrX2luZm8ABAllbnRpdHlfaWQGdWludDY0C2VudGl0eV90eXBlBG5hbWUKdGFza19jb3VudAZ1aW50MzIQc2NoZWR1bGVfc3RhcnRlZAp0aW1lX3BvaW50D2VudGl0eWdyb3VwX3JvdwACAmlkBnVpbnQ2NAxwYXJ0aWNpcGFudHMMZW50aXR5X3JlZltdC2VudW1fbWVtYmVyAAIFdmFsdWUFdWludDgEbmFtZQZzdHJpbmcLZW51bV9yZXN1bHQAAQdtZW1iZXJzDWVudW1fbWVtYmVyW10JZXBvY2hfcm93AAQFZXBvY2gGdWludDY0Cm9yYWNsZV9pZHMGbmFtZVtdCXRocmVzaG9sZAV1aW50OARzZWVkC2NoZWNrc3VtMjU2DGZpeGNhcmdvbWFzcwABCWVudGl0eV9pZAZ1aW50NjQKZml4aXRlbWlkcwAAEGZvb3RwcmludF9yZXN1bHQAAQVjZWxscwtncmlkX2NlbGxbXQtmb3JjZXJldmVhbAABBWVwb2NoBnVpbnQ2NAVmb3VuZAAEBnBsYXllcgRuYW1lCWVudGl0eV9pZAZ1aW50NjQBeAVpbnQ2NAF5BWludDY0C2dhbWVfY29uZmlnAAMHdmVyc2lvbgZ1aW50MzIIZGVmYXVsdHMPZW50aXR5X2RlZmF1bHRzBWl0ZW1zCml0ZW1fZGVmW10GZ2F0aGVyAAUJc291cmNlX2lkBnVpbnQ2NA5kZXN0aW5hdGlvbl9pZAZ1aW50NjQHc3RyYXR1bQZ1aW50MTYIcXVhbnRpdHkGdWludDMyBHNsb3QGdWludDg/DWdhdGhlcmVyX2xhbmUABQpzbG90X2luZGV4BXVpbnQ4BXlpZWxkBnVpbnQxNgVkcmFpbgZ1aW50MzIFZGVwdGgGdWludDE2Cm91dHB1dF9wY3QGdWludDE2CmdhdGhlcnBsYW4ABglzb3VyY2VfaWQGdWludDY0DmRlc3RpbmF0aW9uX2lkBnVpbnQ2NAdzdHJhdHVtBnVpbnQxNghxdWFudGl0eQZ1aW50MzIIcmVjaGFyZ2UEYm9vbAVzbG90cwVieXRlcwxnZW5lc2lzZmxlZXQAAQhlbnRpdGllcwxlbnRpdHlfcm93W10MZ2VuZXNpc3dvcmxkAAQHZm91bmRlcgRuYW1lAXgFaW50NjQBeQVpbnQ2NAhub2RlX2lkcwh1aW50MzJbXQxnZXRidWlsZGpvYnMAAQtidWlsZGluZ19pZAZ1aW50NjQKZ2V0Y2hhcnRlcgACAXgFaW50NjQBeQVpbnQ2NAxnZXRjaGFydHRyZWUAAAxnZXRjaHJ0cmVhZHkAAApnZXRjbHVzdGVyAAEGaHViX2lkBnVpbnQ2NAlnZXRjb25maWcAAAxnZXRjcmFmdGpvYnMAAQtidWlsZGluZ19pZAZ1aW50NjQJZ2V0ZGVjb21wAAEHaXRlbV9pZAZ1aW50MTYJZ2V0ZGVtYW5kAAIBeAVpbnQ2NAF5BWludDY0CmdldGRlcG9zaXQAAgVvd25lcgRuYW1lCGFzc2V0X2lkBnVpbnQ2NAhnZXRkZXBvdAACCGRlcG90X2lkBnVpbnQ2NAVvd25lcgRuYW1lC2dldGRpc3RhbmNlAAQCYXgFaW50NjQCYXkFaW50NjQCYngFaW50NjQCYnkFaW50NjQLZ2V0ZWxpZ2libGUAAgZjb29yZHMLY29vcmRpbmF0ZXMHc3RyYXR1bQZ1aW50MTYJZ2V0ZW50Y2xzAAALZ2V0ZW50aXRpZXMAAgVvd25lcgRuYW1lC2VudGl0eV90eXBlBW5hbWU/CWdldGVudGl0eQABCWVudGl0eV9pZAZ1aW50NjQMZ2V0Zm9vdHByaW50AAEHaXRlbV9pZAZ1aW50MTYLZ2V0aW5mZGVjYXkAAgZhY3RpdmUGdWludDY0BmVwb2NocwZ1aW50MzIMZ2V0aW5mbHVlbmNlAAMFb3duZXIEbmFtZQF4BWludDY0AXkFaW50NjQLZ2V0aW5mdmFsdWUAAwVpdGVtcwxjYXJnb19pdGVtW10BeAVpbnQ2NAF5BWludDY0C2dldGl0ZW1kYXRhAAAKZ2V0aXRlbWlkcwAACGdldGl0ZW1zAAALZ2V0aXRlbXR5cGUAAQdpdGVtX2lkBnVpbnQxNgxnZXRpdGVtdHlwZXMAAAtnZXRraW5kbWV0YQAAC2dldGxvY2F0aW9uAAIBeAVpbnQ2NAF5BWludDY0CmdldGxvY2RhdGEAAgF4BWludDY0AXkFaW50NjQKZ2V0bWludGNmZwAADGdldG1pbnRyZWFkeQAAC2dldG1vZHR5cGVzAAAKZ2V0bW9kdWxlcwAACWdldG5lYXJieQACCWVudGl0eV9pZAZ1aW50NjQIcmVjaGFyZ2UEYm9vbApnZXRuZnRiYXNlAAAKZ2V0bmZ0aW5mbwAACWdldHBsYXllcgABB2FjY291bnQEbmFtZQdnZXRwb29sAAIIY2F0ZWdvcnkFdWludDgEdGllcgV1aW50OAhnZXRwb29scwAADGdldHByb2pzdGF0ZQACCWVudGl0eV9pZAZ1aW50NjQKdGFza19jb3VudAZ1aW50OD8JZ2V0cmVjaXBlAAEOb3V0cHV0X2l0ZW1faWQGdWludDE2CmdldHJlY2lwZXMAAgtsb3dlcl9ib3VuZAZ1aW50MTYFbGltaXQFdWludDgKZ2V0cmVzY2F0cwAAC2dldHJlc2VydmVzAAIBeAVpbnQ2NAF5BWludDY0DGdldHJlc291cmNlcwAACGdldHNsb3RzAAAKZ2V0c3RyYXR1bQADAXgFaW50NjQBeQVpbnQ2NAdzdHJhdHVtBnVpbnQxNgxnZXRzdW1tYXJpZXMAAgVvd25lcgRuYW1lC2VudGl0eV90eXBlBW5hbWU/DGdldHZvdGVyZWFkeQAACGdldHZvdGVzAAMBeAVpbnQ2NAF5BWludDY0BnBsYXllcgRuYW1lC2dldHdvcm1ob2xlAAIBeAVpbnQ2NAF5BWludDY0CWdyaWRfY2VsbAACAmd4BGludDgCZ3kEaW50OAxncm91cHRyYW5zaXQABQhlbnRpdGllcwxlbnRpdHlfcmVmW10CYXgFaW50NjQCYXkFaW50NjQCYngFaW50NjQCYnkFaW50NjQLZ3JvdXB0cmF2ZWwABAhlbnRpdGllcwxlbnRpdHlfcmVmW10BeAVpbnQ2NAF5BWludDY0CHJlY2hhcmdlBGJvb2wEaGFzaAABBXZhbHVlBnN0cmluZwdoYXNoNTEyAAEFdmFsdWUGc3RyaW5nDGhhdWxlcl9zdGF0cwAECGNhcGFjaXR5BXVpbnQ4CmVmZmljaWVuY3kGdWludDE2BWRyYWluBnVpbnQzMhBjYXBhY2l0eV9ieV90aWVyEWhhdWxlcl90aWVyX2NhcFtdD2hhdWxlcl90aWVyX2NhcAACBHRpZXIFdWludDgIY2FwYWNpdHkFdWludDgEaG9sZAAFAmlkBnVpbnQ2NARraW5kBXVpbnQ4C2NvdW50ZXJwYXJ0CmVudGl0eV9yZWYFdW50aWwKdGltZV9wb2ludA1pbmNvbWluZ19tYXNzBnVpbnQzMgtpbXBvcnRjYXJnbwABA3JvdwljYXJnb19yb3cKaW1wb3J0Y2VsbAAEBHJvb3QGdWludDY0Amd4BGludDgCZ3kEaW50OAllbnRpdHlfaWQGdWludDY0DGltcG9ydGVudGl0eQABA3JvdwplbnRpdHlfcm93C2ltcG9ydGVwb2NoAAEDcm93CWVwb2NoX3JvdwtpbXBvcnRncm91cAABA3Jvdw9lbnRpdHlncm91cF9yb3cMaW1wb3J0bmZ0Y2ZnAAEDcm93DW5mdGNvbmZpZ19yb3cMaW1wb3J0cGxheWVyAAEFb3duZXIEbmFtZQ1pbXBvcnRyZXNlcnZlAAILZXBvY2hfc2NvcGUGdWludDMyA3JvdwtyZXNlcnZlX3JvdwtpbXBvcnRzdGF0ZQABA3JvdwlzdGF0ZV9yb3cLaW5mYnVybl9yb3cAAQNicHMGdWludDE2DWluZmRlbWFuZF9yb3cAAwRwZWFrBnVpbnQ2NARiYXNlBnVpbnQ2NAVmbG9vcgZ1aW50NjQQaW5mbHVlbmNlX3RvdGFscwALEXN0YW5kaW5nX2xpZmV0aW1lBnVpbnQ2NA9zdGFuZGluZ19hY3RpdmUGdWludDY0FGNpdGl6ZW5zaGlwX2xpZmV0aW1lBnVpbnQ2NBJjaXRpemVuc2hpcF9hY3RpdmUGdWludDY0EWxvY2F0aW9uX2xpZmV0aW1lBnVpbnQ2NA9sb2NhdGlvbl9hY3RpdmUGdWludDY0BXNwZW50BnVpbnQ2NAdtYW5kYXRlBnVpbnQzMgdmb3VuZGVyBG5hbWUHZm91bmRlZAZ1aW50MzIFZXBvY2gGdWludDMyC2luZm1pbnRfcm93AAMIY2F0ZWdvcnkFdWludDgEdGllcgV1aW50OAl0aHJlc2hvbGQGdWludDY0C2luZnBvb2xfcm93AAYIY2F0ZWdvcnkFdWludDgEdGllcgV1aW50OAVncmFkZQV1aW50OAhxdWFudGl0eQZ1aW50NjQFc3RhdHMGdWludDY0A2JhcgZ1aW50NjQOaW5mcXVhbGl0eV9yb3cAAQJkMQZ1aW50MzIPaW5mdmFsdWVfcmVzdWx0AAIMdG90YWxfYXRvbWljBnVpbnQ2NA9wZXJfaXRlbV9hdG9taWMIdWludDY0W10NaW5md2VpZ2h0X3JvdwADCGNhdGVnb3J5BXVpbnQ4BHRpZXIFdWludDgJd2VpZ2h0X2ZwBnVpbnQ2NAhpdGVtX2RlZgAFAmlkBnVpbnQxNgRtYXNzBnVpbnQzMgR0eXBlBXVpbnQ4B3N1YnR5cGUFdWludDgEdGllcgV1aW50OAxpdGVtX2lkX3BhaXIAAgJpZAZ1aW50MTYEbmFtZQZzdHJpbmcPaXRlbV9pZHNfcmVzdWx0AAEFaXRlbXMOaXRlbV9pZF9wYWlyW10PaXRlbWRhdGFfcmVzdWx0AAIFaXRlbXMKaXRlbV9kZWZbXQdyZWNpcGVzDnJlY2lwZXNfcmVzdWx0Cml0ZW1zX2luZm8AAQVpdGVtcwppdGVtX2RlZltdBGpvaW4AAQdhY2NvdW50BG5hbWUQa2luZF9tZXRhX3Jlc3VsdAACBWtpbmRzD2tpbmRfbWV0YV9yb3dbXQl0ZW1wbGF0ZXMTdGVtcGxhdGVfbWV0YV9yb3dbXQ1raW5kX21ldGFfcm93AAUEa2luZARuYW1lDmNsYXNzaWZpY2F0aW9uBXVpbnQ4EGNhcGFiaWxpdHlfZmxhZ3MFdWludDgHel9jb29yZAZ1aW50MzINZGVmYXVsdF9sYWJlbAZzdHJpbmcEbGFuZQACCGxhbmVfa2V5BXVpbnQ4CHNjaGVkdWxlCHNjaGVkdWxlBmxhdW5jaAADC2xhdW5jaGVyX2lkBnVpbnQ2NApjYXRjaGVyX2lkBnVpbnQ2NAVpdGVtcwxjYXJnb19pdGVtW10ObGF1bmNoZXJfc3RhdHMAAwtjaGFyZ2VfcmF0ZQZ1aW50MTYIdmVsb2NpdHkGdWludDE2BWRyYWluBnVpbnQxNgRsb2FkAAMCaWQGdWludDY0B2Zyb21faWQGdWludDY0BWl0ZW1zDGNhcmdvX2l0ZW1bXQtsb2FkZXJfbGFuZQAECnNsb3RfaW5kZXgFdWludDgEbWFzcwZ1aW50MzIGdGhydXN0BnVpbnQxNgpvdXRwdXRfcGN0BnVpbnQxNhBsb2NhdGlvbl9kZXJpdmVkAAIMc3RhdGljX3Byb3BzD2xvY2F0aW9uX3N0YXRpYwRzaXplBnVpbnQxNg1sb2NhdGlvbl9pbmZvAAMGY29vcmRzC2Nvb3JkaW5hdGVzCWlzX3N5c3RlbQRib29sC2lzX3dvcm1ob2xlBGJvb2wPbG9jYXRpb25fc3RhdGljAAUGY29vcmRzC2Nvb3JkaW5hdGVzBHR5cGUNbG9jYXRpb25fdHlwZQdzdWJ0eXBlBXVpbnQ4BXNlZWQwBXVpbnQ4BXNlZWQxBXVpbnQ4CmxvY2tlcl9yb3cAAwhkZXBvdF9pZAZ1aW50NjQLc3RvcmVkX21hc3MGdWludDY0DXJlc2VydmVkX21hc3MGdWludDY0DG1hbmRhdGVzX3JvdwACB25vZGVfaWQGdWludDMyB3JlcGVhdHMGdWludDE2E21pbnRfdGhyZXNob2xkX3ZpZXcAAwhjYXRlZ29yeQV1aW50OAR0aWVyBXVpbnQ4CXRocmVzaG9sZAZ1aW50NjQObWludGNmZ19yZXN1bHQAAgp0aHJlc2hvbGRzFW1pbnRfdGhyZXNob2xkX3ZpZXdbXQhidXJuX2JwcwZ1aW50MTYJbWludHFfcm93AAICaWQGdWludDY0BWdyYWRlBXVpbnQ4CW1pbnRyZWFkeQABCW1heF9taW50cwd1aW50MzI/DG1vZHVsZV9lbnRyeQACBHR5cGUFdWludDgJaW5zdGFsbGVkDnBhY2tlZF9tb2R1bGU/C21vZHVsZV9pbmZvAAQCaWQGdWludDE2BG1hc3MGdWludDMyC21vZHVsZV90eXBlBXVpbnQ4BHRpZXIFdWludDgObW9kdWxlc19yZXN1bHQAAQdtb2R1bGVzDW1vZHVsZV9pbmZvW10ObW92ZW1lbnRfc3RhdHMAAgZ0aHJ1c3QGdWludDMyBWRyYWluBnVpbnQzMghtb3ZldGlsZQAFBmh1Yl9pZAZ1aW50NjQHZnJvbV9neARpbnQ4B2Zyb21fZ3kEaW50OAV0b19neARpbnQ4BXRvX2d5BGludDgKbmF0dXJhbGl6ZQADBnBsYXllcgRuYW1lAXgFaW50NjQBeQVpbnQ2NAtuZWFyYnlfaW5mbwAFCmNhbl90cmF2ZWwEYm9vbAdjdXJyZW50FGVudGl0eV9jdXJyZW50X3N0YXRlCXByb2plY3RlZBRlbnRpdHlfY3VycmVudF9zdGF0ZQptYXhfZW5lcmd5BnVpbnQzMgdzeXN0ZW1zD25lYXJieV9zeXN0ZW1bXQ1uZWFyYnlfc3lzdGVtAAQIZGlzdGFuY2UGdWludDY0C2VuZXJneV9jb3N0BnVpbnQ2NAtmbGlnaHRfdGltZQZ1aW50MzIIbG9jYXRpb24NbG9jYXRpb25faW5mbw5uZnRfY2FyZ29faXRlbQAEB2l0ZW1faWQGdWludDE2BXN0YXRzBnVpbnQ2NAdtb2R1bGVzDm1vZHVsZV9lbnRyeVtdCHF1YW50aXR5BnVpbnQzMhBuZnRfaXRlbV9wYXlsb2FkAAIEaXRlbQ5uZnRfY2FyZ29faXRlbQhsb2NhdGlvbgxjb29yZGluYXRlcz8ObmZ0X3NjaGVtYV9kZWYAAgtzY2hlbWFfbmFtZQRuYW1lBmZpZWxkcw5zY2hlbWFfZmllbGRbXRBuZnRfdGVtcGxhdGVfZGVmAAMHaXRlbV9pZAZ1aW50MTYLc2NoZW1hX25hbWUEbmFtZQt0ZW1wbGF0ZV9pZAVpbnQzMg1uZnRjb25maWdfcm93AAMHaXRlbV9pZAZ1aW50MTYLdGVtcGxhdGVfaWQFaW50MzILc2NoZW1hX25hbWUEbmFtZQluZnRpbWd1cmwAAgRpdGVtCmNhcmdvX2l0ZW0IbG9jYXRpb24MY29vcmRpbmF0ZXM/Dm5mdGluZm9fcmVzdWx0AAIHc2NoZW1hcxBuZnRfc2NoZW1hX2RlZltdCXRlbXBsYXRlcxJuZnRfdGVtcGxhdGVfZGVmW10Gbm90aWZ5AAEFZXZlbnQKdGFza19ldmVudBFvcmFjbGVfY29uZmlnX3JvdwACCXRocmVzaG9sZAV1aW50OAhkZWFkbGluZQZ1aW50MzIKb3JhY2xlX3JvdwABAmlkBG5hbWUNcGFja2VkX21vZHVsZQACB2l0ZW1faWQGdWludDE2BXN0YXRzBnVpbnQ2NApwbGFjZWNhcmdvAAMFb3duZXIEbmFtZQdob3N0X2lkBnVpbnQ2NAhhc3NldF9pZAZ1aW50NjQLcGxhY2VlbnRpdHkAAwVvd25lcgRuYW1lCGFzc2V0X2lkBnVpbnQ2NA90YXJnZXRfbmV4dXNfaWQGdWludDY0C3BsYXllcl9pbmZvAAMFb3duZXIEbmFtZQlpc19wbGF5ZXIEYm9vbAxjb21wYW55X25hbWUGc3RyaW5nCnBsYXllcl9yb3cAAQVvd25lcgRuYW1lEHBvb2xfcGFpcl9yZXN1bHQACQhjYXRlZ29yeQV1aW50OAR0aWVyBXVpbnQ4B2l0ZW1faWQGdWludDE2EXN0YW5kYXJkX3F1YW50aXR5BnVpbnQ2NA5zdGFuZGFyZF9zdGF0cwZ1aW50NjQQcHJlbWl1bV9xdWFudGl0eQZ1aW50NjQNcHJlbWl1bV9zdGF0cwZ1aW50NjQDYmFyBnVpbnQ2NAl0aHJlc2hvbGQGdWludDY0CXBvb2xfdmlldwAHCGNhdGVnb3J5BXVpbnQ4BHRpZXIFdWludDgFZ3JhZGUFdWludDgHaXRlbV9pZAZ1aW50MTYIcXVhbnRpdHkGdWludDY0BXN0YXRzBnVpbnQ2NANiYXIGdWludDY0DHBvb2xzX3Jlc3VsdAABBXBvb2xzC3Bvb2xfdmlld1tdDHByb2dyZXNzX3JvdwACB25vZGVfaWQGdWludDMyBmFtb3VudAZ1aW50NjQNcHJvZ3Jlc3NfdmlldwACB25vZGVfaWQGdWludDMyBmFtb3VudAZ1aW50NjQPcHJvamVjdGVkX3N0YXRlABEFb3duZXIEbmFtZQtjb29yZGluYXRlcwtjb29yZGluYXRlcwZlbmVyZ3kHdWludDMyPwljYXJnb21hc3MGdWludDMyBWNhcmdvDGNhcmdvX3ZpZXdbXQhodWxsbWFzcwd1aW50MzI/CGNhcGFjaXR5B3VpbnQzMj8HZW5naW5lcw9tb3ZlbWVudF9zdGF0cz8Ed2FycAt3YXJwX3N0YXRzPwlnZW5lcmF0b3INZW5lcmd5X3N0YXRzPwZoYXVsZXINaGF1bGVyX3N0YXRzPw5nYXRoZXJlcl9sYW5lcw9nYXRoZXJlcl9sYW5lW10NY3JhZnRlcl9sYW5lcw5jcmFmdGVyX2xhbmVbXQ1idWlsZGVyX2xhbmVzDmJ1aWxkZXJfbGFuZVtdDGxvYWRlcl9sYW5lcw1sb2FkZXJfbGFuZVtdCGxhdW5jaGVyD2xhdW5jaGVyX3N0YXRzPwR0aWVyBXVpbnQ4CHJlY2hhcmdlAAECaWQGdWludDY0DHJlY2lwZV9pbnB1dAACB2l0ZW1faWQGdWludDE2CHF1YW50aXR5BnVpbnQzMhByZWNpcGVfaXRlbV9pbmZvAAICaWQGdWludDE2BG1hc3MGdWludDMyD3JlY2lwZV9yZXNwb25zZQAIDm91dHB1dF9pdGVtX2lkBnVpbnQxNgtvdXRwdXRfbWFzcwZ1aW50MzIGaW5wdXRzDnJlY2lwZV9pbnB1dFtdCnN0YXRfc2xvdHMUc3RhdF9zbG90X3Jlc3BvbnNlW10NYmxlbmRfd2VpZ2h0cwVieXRlcwtvdXRwdXRfaXRlbRByZWNpcGVfaXRlbV9pbmZvC2lucHV0X2l0ZW1zEnJlY2lwZV9pdGVtX2luZm9bXQ9zb3VyY2Vfc3ViY2xhc3MHdWludDE2Pw5yZWNpcGVzX3Jlc3VsdAABB3JlY2lwZXMRcmVjaXBlX3Jlc3BvbnNlW10IcmVmaXRfb3AAAgJvcAV1aW50OARzbG90BXVpbnQ4DHJlZnJzaGVudGl0eQABCWVudGl0eV9pZAZ1aW50NjQMcmVtb3Zlb3JhY2xlAAEJb3JhY2xlX2lkBG5hbWUGcmVuYW1lAAICaWQGdWludDY0BG5hbWUGc3RyaW5nDXJlcGFja19yZXN1bHQAAQd3aW5kb3dzEXJlc2VydmVkX3dpbmRvd1tdC3Jlc2VydmVfcm93AAUCaWQGdWludDY0CGNvb3JkX2lkBnVpbnQ2NAdzdHJhdHVtBnVpbnQxNglyZW1haW5pbmcGdWludDMyCmxhc3RfYmxvY2sUYmxvY2tfdGltZXN0YW1wX3R5cGUPcmVzZXJ2ZWRfd2luZG93AAQCaWQGdWludDY0B2Fycml2YWwKdGltZV9wb2ludAlzdGFydHNfYXQKdGltZV9wb2ludAxjb21wbGV0ZXNfYXQKdGltZV9wb2ludAdyZXNvbHZlAAICaWQGdWludDY0BWNvdW50B3VpbnQ2ND8PcmVzb2x2ZV9yZXN1bHRzAAYJZW50aXR5X2lkBnVpbnQ2NAtlbnRpdHlfdHlwZQRuYW1lDnJlc29sdmVkX2NvdW50BnVpbnQzMhRuZXdfc2NoZWR1bGVfc3RhcnRlZAt0aW1lX3BvaW50PwtlbnRpdHlncm91cAd1aW50NjQ/DWdyb3VwX21lbWJlcnMWQl92ZWN0b3JfZW50aXR5X3JlZl9FPwpyZXNvbHZlYWxsAAEFb3duZXIEbmFtZRJyZXNvbHZlYWxsX3Jlc3VsdHMAAgdzY2FubmVkBnVpbnQzMghyZXNvbHZlZAZ1aW50MzIMcmVzb2x2ZWVhcmx5AAICaWQGdWludDY0BWNvdW50B3VpbnQ2ND8NcmVzb3VyY2VfaW5mbwAEAmlkBnVpbnQxNgRtYXNzBnVpbnQzMghjYXRlZ29yeQV1aW50OAR0aWVyBXVpbnQ4DnJlc291cmNlX3N0YXRzAAMFc3RhdDEGdWludDE2BXN0YXQyBnVpbnQxNgVzdGF0MwZ1aW50MTYQcmVzb3VyY2VzX3Jlc3VsdAABCXJlc291cmNlcw9yZXNvdXJjZV9pbmZvW10GcmV2ZWFsAAMJb3JhY2xlX2lkBG5hbWUFZXBvY2gGdWludDY0BnJldmVhbAtjaGVja3N1bTI1NgpyZXZlYWxfcm93AAQCaWQGdWludDY0BWVwb2NoBnVpbnQ2NAlvcmFjbGVfaWQEbmFtZQZyZXZlYWwLY2hlY2tzdW0yNTYIcm1tb2R1bGUAAwllbnRpdHlfaWQGdWludDY0DG1vZHVsZV9pbmRleAV1aW50OAp0YXJnZXRfcmVmCmNhcmdvX3JlZj8Icm1uZnRjZmcAAQdpdGVtX2lkBnVpbnQxNg5yb3V0ZV93YXlwb2ludAACAXgFaW50NjQBeQVpbnQ2NAhzY2hlZHVsZQACB3N0YXJ0ZWQKdGltZV9wb2ludAV0YXNrcwZ0YXNrW10Mc2NoZW1hX2ZpZWxkAAIEbmFtZQZzdHJpbmcKZmllbGRfdHlwZQZzdHJpbmcJc2VhdF92aWV3AAQHbm9kZV9pZAZ1aW50MzIEY29zdAZ1aW50NjQIcHJvZ3Jlc3MGdWludDY0A2dhcAZ1aW50NjQIc2V0Y2l2aWMAAQdhY2NvdW50BG5hbWUKc2V0Y2x1c3RlcgABA3JvdwtjbHVzdGVyX3JvdwlzZXRjb29yZHMAAwllbnRpdHlfaWQGdWludDY0AXgFaW50NjQBeQVpbnQ2NAtzZXRkZWFkbGluZQABCGRlYWRsaW5lBnVpbnQzMgpzZXRpbmZidXJuAAEDYnBzBnVpbnQxNghzZXRpbmZkMQABAmQxBnVpbnQzMgxzZXRpbmZkZW1hbmQAAwRwZWFrBnVpbnQ2NARiYXNlBnVpbnQ2NAVmbG9vcgZ1aW50NjQKc2V0aW5mbWludAADCGNhdGVnb3J5BXVpbnQ4BHRpZXIFdWludDgJdGhyZXNob2xkBnVpbnQ2NAxzZXRpbmZ3ZWlnaHQAAwhjYXRlZ29yeQV1aW50OAR0aWVyBXVpbnQ4CXdlaWdodF9mcAZ1aW50NjQJc2V0bmV4dGlkAAEHbmV4dF9pZAZ1aW50NjQJc2V0bmZ0Y2ZnAAMHaXRlbV9pZAZ1aW50MTYLdGVtcGxhdGVfaWQFaW50MzILc2NoZW1hX25hbWUEbmFtZQxzZXR0aHJlc2hvbGQAAQl0aHJlc2hvbGQFdWludDgMc2V0dGxlYmFsbG90AAIJYmFsbG90X2lkBnVpbnQ2NAltYXhfcGFnZXMGdWludDMyDHNldHVud3JhcG1pbgABCGFzc2V0X2lkBnVpbnQ2NAtzZXR3cmFwY29zdAADCWl0ZW1fdHlwZQV1aW50OAR0aWVyBXVpbnQ4BmFtb3VudAZ1aW50NjQKc2V0d3JhcGZlZQACB2ZlZV9wY3QGdWludDE2C2ZlZV9hY2NvdW50BG5hbWUHc2h1dHRsZQAEB2NhcnJpZXIGdWludDY0B2Zyb21faWQGdWludDY0BXRvX2lkBnVpbnQ2NAVpdGVtcwxjYXJnb19pdGVtW10Ic2xvdF9kZWYAAwR0eXBlBXVpbnQ4Cm91dHB1dF9wY3QGdWludDE2CG1heF90aWVyBXVpbnQ4EHNvY2tldF9jYW5kaWRhdGUAAwd3aW5kb3dzEXJlc2VydmVkX3dpbmRvd1tdCGR1cmF0aW9uBnVpbnQzMgZhY3RpdmUGdWludDE2C3NvY2tldF9waWNrAAMFZm91bmQEYm9vbAZzb2NrZXQFdWludDgGd2luZG93D3Jlc2VydmVkX3dpbmRvdwxzdGFuZGluZ19yb3cABAdhY2NvdW50BG5hbWUIbGlmZXRpbWUGdWludDY0BmFjdGl2ZQZ1aW50NjQMYWN0aXZlX2Vwb2NoBnVpbnQzMhJzdGF0X3Nsb3RfcmVzcG9uc2UAAQdzb3VyY2VzDXN0YXRfc291cmNlW10Lc3RhdF9zb3VyY2UAAgtpbnB1dF9pbmRleAV1aW50OBBpbnB1dF9zdGF0X2luZGV4BXVpbnQ4CXN0YXRlX3JvdwADB2VuYWJsZWQEYm9vbAVlcG9jaAZ1aW50MzIEc2VlZAtjaGVja3N1bTI1NgtzdG9yYWdlX3JvdwAHAmlkBnVpbnQ2NAVvd25lcgRuYW1lB2l0ZW1faWQGdWludDY0CHF1YW50aXR5BnVpbnQ2NAVzdGF0cwZ1aW50NjQHbW9kdWxlcw5tb2R1bGVfZW50cnlbXQtzZXF1ZW5jZV9pZAd1aW50NjQ/CXN0b3djYXJnbwAFBW93bmVyBG5hbWUJZW50aXR5X2lkBnVpbnQ2NAhuZXh1c19pZAZ1aW50NjQIY2FyZ29faWQGdWludDY0CHF1YW50aXR5BnVpbnQ2NApzdG93ZW50aXR5AAMFb3duZXIEbmFtZQllbnRpdHlfaWQGdWludDY0CG5leHVzX2lkBnVpbnQ2NAxzdHJhdHVtX2RhdGEAAgdzdHJhdHVtDHN0cmF0dW1faW5mbwVzdGF0cw5yZXNvdXJjZV9zdGF0cwxzdHJhdHVtX2luZm8ABQdpdGVtX2lkBnVpbnQxNgRzZWVkBnVpbnQ2NAhyaWNobmVzcwZ1aW50MTYHcmVzZXJ2ZQZ1aW50MzILcmVzZXJ2ZV9tYXgGdWludDMyEXN0cmF0dW1fcmVtYWluaW5nAAMHc3RyYXR1bQZ1aW50MTYJcmVtYWluaW5nBnVpbnQzMgpsYXN0X2Jsb2NrFGJsb2NrX3RpbWVzdGFtcF90eXBlCnN3YXBtb2R1bGUAAwllbnRpdHlfaWQGdWludDY0DG1vZHVsZV9pbmRleAV1aW50OAptb2R1bGVfcmVmCWNhcmdvX3JlZghzd2FwdGlsZQAFBmh1Yl9pZAZ1aW50NjQEYV9neARpbnQ4BGFfZ3kEaW50OARiX2d4BGludDgEYl9neQRpbnQ4BHRhc2sADAR0eXBlBXVpbnQ4CGR1cmF0aW9uBnVpbnQzMgpjYW5jZWxhYmxlBXVpbnQ4C2Nvb3JkaW5hdGVzDGNvb3JkaW5hdGVzPwVjYXJnbwxjYXJnb19pdGVtW10JY291cGxpbmdzCmNvdXBsaW5nW10Hc3ViamVjdAtlbnRpdHlfcmVmPwtlbnRpdHlncm91cAd1aW50NjQ/C2VuZXJneV9jb3N0B3VpbnQzMj8OdGFyZ2V0X2l0ZW1faWQHdWludDE2PwVyZWZpdAlyZWZpdF9vcD8MY2hhcnRlcl9ub2RlB3VpbnQzMj8KdGFza19ldmVudAAKCmV2ZW50X3R5cGUFdWludDgFb3duZXIEbmFtZQtlbnRpdHlfdHlwZQRuYW1lCWVudGl0eV9pZAZ1aW50NjQKdGFza19pbmRleAZ1aW50MzIEdGFzawR0YXNrCXN0YXJ0c19hdAp0aW1lX3BvaW50DGNvbXBsZXRlc19hdAp0aW1lX3BvaW50Cm5ld19lbmVyZ3kHdWludDMyPwhsYW5lX2tleQV1aW50OAx0YXNrX3Jlc3VsdHMAAQhlbnRpdGllcxJlbnRpdHlfdGFza19pbmZvW10RdGVtcGxhdGVfbWV0YV9yb3cABAdpdGVtX2lkBnVpbnQxNgRraW5kBG5hbWUNZGlzcGxheV9sYWJlbAZzdHJpbmcQYmFzZV9jYXBhY2l0eV9mbgZzdHJpbmcHdHJhbnNpdAAFAmlkBnVpbnQ2NAJheAVpbnQ2NAJheQVpbnQ2NAJieAVpbnQ2NAJieQVpbnQ2NAZ0cmF2ZWwABAJpZAZ1aW50NjQBeAVpbnQ2NAF5BWludDY0CHJlY2hhcmdlBGJvb2wKdHJhdmVscGxhbgADCGVudGl0aWVzDGVudGl0eV9yZWZbXQl3YXlwb2ludHMQcm91dGVfd2F5cG9pbnRbXQhyZWNoYXJnZQRib29sCXR5cGVzX3JvdwAQAmlkBnVpbnQ2NBNlbnRpdHlfc3VtbWFyeV90eXBlDmVudGl0eV9zdW1tYXJ5EGdhbWVfY29uZmlnX3R5cGULZ2FtZV9jb25maWcWc3RyYXR1bV9yZW1haW5pbmdfdHlwZRFzdHJhdHVtX3JlbWFpbmluZxVuZnRfaXRlbV9wYXlsb2FkX3R5cGUQbmZ0X2l0ZW1fcGF5bG9hZBJkZWNvbXBfcmVzdWx0X3R5cGUNZGVjb21wX3Jlc3VsdBJkZW1hbmRfcmVzdWx0X3R5cGUNZGVtYW5kX3Jlc3VsdBRpbmZ2YWx1ZV9yZXN1bHRfdHlwZQ9pbmZ2YWx1ZV9yZXN1bHQVaW5mbHVlbmNlX3RvdGFsc190eXBlEGluZmx1ZW5jZV90b3RhbHMRcG9vbHNfcmVzdWx0X3R5cGUMcG9vbHNfcmVzdWx0FXBvb2xfcGFpcl9yZXN1bHRfdHlwZRBwb29sX3BhaXJfcmVzdWx0E21pbnRjZmdfcmVzdWx0X3R5cGUObWludGNmZ19yZXN1bHQTY2hhcnRlcl9yZXN1bHRfdHlwZQ5jaGFydGVyX3Jlc3VsdBhjaGFydGVycmVhZHlfcmVzdWx0X3R5cGUTY2hhcnRlcnJlYWR5X3Jlc3VsdBB2b3RlX3Jlc3VsdF90eXBlC3ZvdGVfcmVzdWx0D2RlcG90X3ZpZXdfdHlwZQpkZXBvdF92aWV3CHVuZGVwbG95AAIHaG9zdF9pZAZ1aW50NjQJdGFyZ2V0X2lkBnVpbnQ2NAZ1bmxvYWQAAwJpZAZ1aW50NjQFdG9faWQGdWludDY0BWl0ZW1zDGNhcmdvX2l0ZW1bXQd1cGdyYWRlAAUKYnVpbGRlcl9pZAZ1aW50NjQJdGFyZ2V0X2lkBnVpbnQ2NA50YXJnZXRfaXRlbV9pZAZ1aW50MTYGaW5wdXRzDGNhcmdvX2l0ZW1bXQRzbG90BnVpbnQ4Pwt2b3RlX29wdGlvbgAFB25vZGVfaWQGdWludDMyBGNvc3QGdWludDY0BHNlYXQGdWludDMyBndlaWdodAZ1aW50NjQEcmFuawZ1aW50MzILdm90ZV9yZXN1bHQACQtsb2NhdGlvbl9pZAZ1aW50NjQJYmFsbG90X2lkBnVpbnQ2NAVlcG9jaAZ1aW50MzINc2V0dGxlZF9lcG9jaAZ1aW50MzIFc2VhdHMGdWludDMyCHNldHRsaW5nBGJvb2wFcXVldWUIdWludDMyW10Hb3B0aW9ucw12b3RlX29wdGlvbltdBXBpY2tzCHVpbnQzMltdCXZvdGVyZWFkeQABCW1heF9wYWdlcwZ1aW50MzIEd2FycAADAmlkBnVpbnQ2NAF4BWludDY0AXkFaW50NjQKd2FycF9zdGF0cwABBXJhbmdlBnVpbnQzMg53aW5kb3dfcmVjZWlwdAADBmpvYl9pZAZ1aW50NjQJc3RhcnRzX2F0CnRpbWVfcG9pbnQMY29tcGxldGVzX2F0CnRpbWVfcG9pbnQEd2lwZQAACndvcmxkc19yb3cACQtsb2NhdGlvbl9pZAZ1aW50NjQIbGlmZXRpbWUGdWludDY0BmFjdGl2ZQZ1aW50NjQMYWN0aXZlX2Vwb2NoBnVpbnQzMgVzcGVudAZ1aW50NjQKdW5hc3NpZ25lZAZ1aW50NjQJYmFsbG90X2lkBnVpbnQ2NAdmb3VuZGVyBG5hbWUHZm91bmRlZAZ1aW50MzINd29ybWhvbGVfaW5mbwADBmNvb3Jkcwtjb29yZGluYXRlcwtpc193b3JtaG9sZQRib29sC2Rlc3RpbmF0aW9uC2Nvb3JkaW5hdGVzDndyYXBjb25maWdfcm93AAMHZmVlX3BjdAZ1aW50MTYLZmVlX2FjY291bnQEbmFtZQxtaW5fYXNzZXRfaWQGdWludDY0DHdyYXBjb3N0X3JvdwADCWl0ZW1fdHlwZQV1aW50OAR0aWVyBXVpbnQ4BmFtb3VudAZ1aW50NjSkAQAyjXXSNM0xC2FiYW5kb25wbG90AADAcTdPilIyCmFkZGNvbnRyaWIAAABQUScqUzIJYWRkbW9kdWxlxwMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogYWRkbW9kdWxlCnN1bW1hcnk6ICdJbnN0YWxsIGEgbW9kdWxlIGludG8gYSBzbG90JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbnN0YWxsIGEgbW9kdWxlIGZyb20gY2FyZ28gaW50byBhIG1vZHVsZSBzbG90IG9uIGEgbGl2ZSBlbnRpdHkgb3IgYSBwYWNrZWQgZW50aXR5IGluIGNhcmdvLiBUaGUgZW50aXR5IG11c3QgYmUgaWRsZSB3aXRoIG5vIHNjaGVkdWxlZCB0YXNrcy4gVGhlIG1vZHVsZSB0eXBlIG11c3QgYmUgY29tcGF0aWJsZSB3aXRoIHRoZSB0YXJnZXQgc2xvdCB0eXBlLiBUaGUgbW9kdWxlIGl0ZW0gaXMgcmVtb3ZlZCBmcm9tIGNhcmdvIHVwb24gaW5zdGFsbGF0aW9uLgAAAFh3NVMyCGFkZG5leHVzpwMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogYWRkbmV4dXMKc3VtbWFyeTogJ0FkZCBhIG5leHVzIGxvY2F0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDcmVhdGUgYSBuZXcgbmV4dXMgZW50aXR5IGF0IHRoZSBnaXZlbiBjb29yZGluYXRlcy4gTmV4dXNlcyBhcmUgb3duZWQgYnkgdGhlIGNvbnRyYWN0IGFuZCBzZXJ2ZSBhcyBmaXhlZCBnYXRoZXJpbmcgcG9pbnRzIHdoZXJlIHBsYXllcnMgY2FuIHdyYXAsIHVud3JhcCwgZGVwbG95LCBhbmQgb3RoZXJ3aXNlIGludGVyYWN0IHdpdGggTkZULWJhY2tlZCBhc3NldHMuIFJlcXVpcmVzIGNvbnRyYWN0IGF1dGhvcml0eS4AAFARmUtTMglhZGRvcmFjbGUAAAAAAIA0VTwFYmxlbmT8Ai0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBibGVuZApzdW1tYXJ5OiAnQmxlbmQgY2FyZ28gc3RhY2tzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDb21iaW5lIG11bHRpcGxlIGNhcmdvIHN0YWNrcyBvZiB0aGUgc2FtZSBpdGVtIHR5cGUgaW50byBhIHNpbmdsZSBzdGFjayB3aXRoIG5ldyBibGVuZGVkIHN0YXRzLiBBbGwgaW5wdXQgc3RhY2tzIG11c3Qgc2hhcmUgdGhlIHNhbWUgaXRlbSBpZC4gVGhlIG91dHB1dCBzdGFjayBoYXMgdGhlIGNvbWJpbmVkIHF1YW50aXR5IG9mIGFsbCBpbnB1dHMuAAAAh74UnT4IYnVpbGRqb2IAAADINNYUnT4JYnVpbGRwbG90AAAAAABEhaZBBmNhbmNlbMICLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNhbmNlbApzdW1tYXJ5OiAnQ2FuY2VsIHNjaGVkdWxlZCB0YXNrcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQ2FuY2VsIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHRhc2tzIGZyb20gdGhlIGVuZCBvZiBhbiBlbnRpdHkncyBzY2hlZHVsZS4gVGFza3MgdGhhdCBhcmUgaW1tdXRhYmxlIGFuZCBpbiBwcm9ncmVzcyBjYW5ub3QgYmUgY2FuY2VsbGVkLgBSdPpEhaZBC2NhbmNlbGJ1aWxkAACQ2w5FhaZBC2NhbmNlbGNpdmljAADyMhdFhaZBC2NhbmNlbGNyYWZ0AABApjGak7FBCmNhc3RiYWxsb3QA4JNR96p8TUMMY2hhcnRlcnJlYWR5AKBizrph5LZDDGNpdmljc2h1dHRsZQAAQIpOH+lMRApjbGFpbWJ1aWxkAABAXuYi6UxECmNsYWltY3JhZnQAAADINFbpTEQJY2xhaW1wbG90AHBVviZj6UxEDGNsYWltc3RhcnRlcgAAAKgb32lURAljbGVhbnJzdnDsAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjbGVhbnJzdnAKc3VtbWFyeTogJ0NsZWFuIHVwIHBhc3QgZXBvY2ggcmVzZXJ2ZXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkVyYXNlIHJlc2VydmUgdGFibGUgcm93cyBmcm9tIGEgcGFzdCBlcG9jaC4gQ2Fubm90IGNsZWFuIHRoZSBjdXJyZW50IG9yIGZ1dHVyZSBlcG9jaHMuIFRoZSBtYXhfcm93cyBwYXJhbWV0ZXIgY2FwcyB0aGUgbnVtYmVyIG9mIHJvd3MgZXJhc2VkIHBlciBjYWxsIHRvIGxpbWl0IENQVSB1c2FnZS4AgIrH5GtURApjbGVhcnRhYmxlvgEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY2xlYXJ0YWJsZQpzdW1tYXJ5OiAnREVCVUc6IGNsZWFydGFibGUgYWN0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tAEBDtCqFaUQKY2xvc2VlcG9jaACQl7noqox1RAxjbHVzdGVyY3JhZnQAAAAAAGQnJUUGY29tbWl07AEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY29tbWl0CnN1bW1hcnk6ICdTZXQgY29tbWl0IHZhbHVlJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpTZXQgdGhlIGluaXRpYWwgY29tbWl0IHZhbHVlIGR1cmluZyBnYW1lIGluaXRpYWxpemF0aW9uLgAAYDQytyZFCWNvbmZpZ2xvZ90CLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNvbmZpZ2xvZwpzdW1tYXJ5OiAnTG9nIGdhbWUgY29uZmlndXJhdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW50ZXJuYWwgYWN0aW9uIHRoYXQgbG9ncyB0aGUgY3VycmVudCBnYW1lIGNvbmZpZ3VyYXRpb24uIENhbGxlZCBpbmxpbmUgYWZ0ZXIgaW5pdGlhbGl6YXRpb24gdG8gYnJvYWRjYXN0IGNvbmZpZyB2aWEgYWN0aW9uIHRyYWNlcy4gUmVxdWlyZXMgY29udHJhY3QgYXV0aG9yaXR5LgAAAACAvMxFBWNyYWZ0yAMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY3JhZnQKc3VtbWFyeTogJ0NyYWZ0IGl0ZW1zIGZyb20gYSByZWNpcGUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRyYW5zZm9ybSBjYXJnbyBpdGVtcyBpbnRvIGEgbmV3IGl0ZW0gdXNpbmcgYSByZWNpcGUuIFRoZSBlbnRpdHkgbXVzdCBoYXZlIGEgY3JhZnRlciBtb2R1bGUgaW5zdGFsbGVkLiBDb25zdW1lcyBlbmVyZ3kgYW5kIHNjaGVkdWxlcyBhIGNyYWZ0aW5nIHRhc2sgd2l0aCBkdXJhdGlvbiBiYXNlZCBvbiB0b3RhbCBpbnB1dCBtYXNzIGFuZCBjcmFmdGVyIHNwZWVkLiBJbnB1dCBxdWFudGl0aWVzIG11c3QgZXhhY3RseSBtYXRjaCB0aGUgcmVjaXBlIHJlcXVpcmVtZW50cy4AAACHvrzMRQhjcmFmdGpvYgAAAMguqYvYSQlkYmdjcmVkaXQAAAAAAB/62EkHZGJnam9icwAAgMomTSPZSQpkYmdtYW5kYXRlAAAwp1cxU9lJC2RiZ3BhZ2Vyb3dzAAAAAAAiV9lJB2RiZ3BpY2sAAAAACplY2UkIZGJncGxhY2UAAAAAil1d2UkIZGJncHVyZ2UAAACAyFR12UkJZGJncmVwYWNrAAAAADgbhdlJCGRiZ3NlYXRzAAAA8NnlqaJKCWRlbGVudGl0eQAAAAANu0ilSghkZW1vbGlzaPEDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGRlbW9saXNoCnN1bW1hcnk6ICdEZW1vbGlzaCBhIHN0YXRpb25hcnkgZW50aXR5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpEZWNvbW1pc3Npb24gYW4gZW50aXR5LCBlcmFzaW5nIGl0IGZyb20gdGhlIGdhbWUuIFRoZSBlbnRpdHkgbXVzdCBiZSBpZGxlLCBoYXZlIGVtcHR5IGNhcmdvLCBhbmQgaGF2ZSBubyBpbnN0YWxsZWQgbW9kdWxlcyAocmVtb3ZlIGVhY2ggdmlhIHJtbW9kdWxlIGZpcnN0KS4gU2NoZWR1bGVzIGEgZGVtb2xpc2ggdGFzayB0aGF0IGVyYXNlcyB0aGUgZW50aXR5IG9uIHJlc29sdXRpb24uIE9ubHkgdmFsaWQgZm9yIGVudGl0aWVzIHRoYXQgY2Fubm90IG1vdmU7IHVzZSB1bmRlcGxveSBvciB3cmFwZW50aXR5IGZvciB0aGUgcmVzdC4AAAAAeBqrSgZkZXBsb3nsAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBkZXBsb3kKc3VtbWFyeTogJ0RlcGxveSBhIHBhY2tlZCBlbnRpdHknCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClVucGFjayBhIHBhY2tlZCBlbnRpdHkgaXRlbSAocGFja2VkIHNoaXAgb3IgcGFja2VkIGNvbnRhaW5lcikgZnJvbSBjYXJnbywgc2NoZWR1bGluZyBhIGRlcGxveSB0YXNrIHRoYXQgY3JlYXRlcyB0aGUgbmV3IGVudGl0eSBhdCB0aGUgZGVwbG95aW5nIGVudGl0eSdzIGxvY2F0aW9uIHVwb24gcmVzb2x1dGlvbi4AgLo040yrSgpkZXBvdHN0b3JlAAAAUNDkTKtKCWRlcG90dGFrZQAAgM8uT4WwSgpkZXNjZW50aXR5yQMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZGVzY2VudGl0eQpzdW1tYXJ5OiAnRGVzY3JpYmUgYSBwYWNrZWQgZW50aXR5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyBhIGh1bWFuLXJlYWRhYmxlIGRlc2NyaXB0aW9uIHN0cmluZyBmb3IgYSBwYWNrZWQgZW50aXR5LCBkZXJpdmVkIGZyb20gdGhlIGVudGl0eSBpdGVtIGlkLCBodWxsIHN0YXRzLCBhbmQgdGhlIGxpc3Qgb2YgaW5zdGFsbGVkIG1vZHVsZSBpdGVtIGlkcyBhbmQgc3RhdHMuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgYW5kIE5GVCByZW5kZXJlcnMgdG8gZGlzcGxheSBwYWNrZWQgZW50aXRpZXMuAAAAAKh4zFQGZW5hYmxl3QEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZW5hYmxlCnN1bW1hcnk6ICdTZXQgZW5hYmxlZCBzdGF0ZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKRW5hYmxlIG9yIGRpc2FibGUgdGhpcyBnYW1lIG9mIFNoaXBsb2FkLoCxkZRdg7pbDGZpeGNhcmdvbWFzc5ADLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGZpeGNhcmdvbWFzcwpzdW1tYXJ5OiAnREVCVUc6IHJlY29tcHV0ZSBlbnRpdHkgY2FyZ28gbWFzcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUmVjb21wdXRlIGFuZCByZXdyaXRlIGFuIGVudGl0eSdzIGNhcmdvIG1hc3MgZnJvbSBpdHMgY3VycmVudCBjYXJnby4gUmVxdWlyZXMgY29udHJhY3QgYXV0aG9yaXR5LiBBdmFpbGFibGUgZm9yIHJlcGFpcmluZyBkcmlmdCBiZXR3ZWVuIGNhY2hlZCBjYXJnbyBtYXNzIGFuZCB0aGUgdHJ1ZSBtYXNzIGRlcml2ZWQgZnJvbSBjYXJnbyByb3dzLgAATk6q7LpbCmZpeGl0ZW1pZHMAAKJRW12FLl0LZm9yY2VyZXZlYWy+BC0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBmb3JjZXJldmVhbApzdW1tYXJ5OiAnREVCVUc6IGZvcmNlLWZpbmFsaXplIGFuIGVwb2NoIGZyb20gZXhpc3RpbmcgcmV2ZWFscycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKRmluYWxpemUgYSBzdHVjayBlcG9jaCBieSBjb21wdXRpbmcgaXRzIHNlZWQgZnJvbSB0aGUgcmV2ZWFscyBhbHJlYWR5IHN1Ym1pdHRlZCwgd2l0aG91dCB3YWl0aW5nIGZvciB0aGUgY29uZmlndXJlZCB0aHJlc2hvbGQuIFJlcXVpcmVzIGNvbnRyYWN0IGF1dGhvcml0eS4gVGhlIHNlZWQgaXMgZGVyaXZlZCBzb2xlbHkgZnJvbSB0aGUgcHJlLWltYWdlLWxvY2tlZCByZXZlYWxzIGFscmVhZHkgb24gY2hhaW47IG5vIGFkbWluLXN1cHBsaWVkIGVudHJvcHkgaXMgaW50cm9kdWNlZC4gVXNlZCB0byB1bmJsb2NrIGVwb2NoIHByb2dyZXNzaW9uIHdoZW4gdGhlIHRocmVzaG9sZCBjYW5ub3Qgb3RoZXJ3aXNlIGJlIG1ldC4AAAAAgDQ1XQVmb3VuZAAAAAAAXNWyYQZnYXRoZXKXAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnYXRoZXIKc3VtbWFyeTogJ0dhdGhlciByZXNvdXJjZXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkdhdGhlciByZXNvdXJjZXMgYXQgdGhlIHNoaXAncyBjdXJyZW50IGxvY2F0aW9uLiBPbmx5IHdvcmtzIGF0IGdhdGhlcmFibGUgbG9jYXRpb24gdHlwZXMuIFNjaGVkdWxlcyBhIGdhdGhlciB0YXNrIHRoYXQgY29uc3VtZXMgZW5lcmd5IGFuZCB5aWVsZHMgY2FyZ28gYmFzZWQgb24gdGhlIHNoaXAncyBnYXRoZXJlciBzdGF0cyBhbmQgdGhlIGxvY2F0aW9uJ3MgcmVzb3VyY2UgY29tcG9zaXRpb24uAMA0sV7VsmEKZ2F0aGVycGxhbgCQlYoLO6ymYgxnZW5lc2lzZmxlZXSpBC0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZW5lc2lzZmxlZXQKc3VtbWFyeTogJ01pbnQgdGhlIG9uZS10aW1lIGdlbmVzaXMgZmxlZXQnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkVtcGxhY2UgdGhlIG9uZS10aW1lIGdlbmVzaXMgZmxlZXQ6IGEgY2FsbGVyLXN1cHBsaWVkIHNldCBvZiBlbnRpdGllcyAoc2hpcHMsIHN0cnVjdHVyZXMsIGFuZCBjb250YWluZXJzKSB3cml0dGVuIHRvIHRoZSB3b3JsZCBhcy1pcy4gVmFsaWQgb25seSBkdXJpbmcgdGhlIHByZS1nZW5lc2lzIHdpbmRvdywgYmVmb3JlIGVwb2NoIDEgaXMgZmluYWxpemVkLiBUaGUgc3VwcGxpZWQgZW50aXR5IGlkcyBhcmUgaG9ub3JlZCBhbmQgdGhlIGlkIHNlcXVlbmNlIGlzIGFkdmFuY2VkIHBhc3QgdGhlbTsgaWQgMCBpcyByZXNlcnZlZCBmb3IgdGhlIEdlbmVzaXMgTmV4dXMuIFJlcXVpcmVzIGNvbnRyYWN0IGF1dGhvcml0eS6Q4qUcO6ymYgxnZW5lc2lzd29ybGTnBy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZW5lc2lzd29ybGQKc3VtbWFyeTogJ0ZvdW5kIGEgd29ybGQgYXQgZ2FtZSBsYXVuY2ggd2l0aCBpdHMgY2l2aWMgY2hhcnRlcnMgYWxyZWFkeSBjb21wbGV0ZWQnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkZvdW5kIGEgcGxhbmV0IGFzIGEgd29ybGQgZHVyaW5nIHRoZSBwcmUtZ2VuZXNpcyB3aW5kb3csIGJlZm9yZSBlcG9jaCAxIGlzIGZpbmFsaXplZCwgd2l0aCB0aGUgbGlzdGVkIGNoYXJ0ZXIgbm9kZXMgY29tcGxldGVkIGluIG9yZGVyLiBUaGUgZm91bmRlciBtdXN0IGhvbGQgYSBjb21wYW55IG9uIHRoZSBwbGF0Zm9ybTsgdGhlIGZvdW5kZXIgaXMgY3JlZGl0ZWQgd2l0aCBsaWZldGltZSBpbmZsdWVuY2UgZXF1YWwgdG8gdGhlIHN1bW1lZCBjb3N0IG9mIHRoZSBsaXN0ZWQgbm9kZXMsIGFuZCBlYWNoIG5vZGUgaXMgdGhlbiBjb21wbGV0ZWQgdGhyb3VnaCB0aGUgc2FtZSBydWxlcyBhIGNoYXJ0ZXIgY3JhbmsgYXBwbGllczogcHJlcmVxdWlzaXRlcyBtdXN0IGJlIHNhdGlzZmllZCBieSBlYXJsaWVyIG5vZGVzIGluIHRoZSBsaXN0LCBhIHNwYXduIG5vZGUgYWRvcHRzIGEgY2l2aWMgZW50aXR5IG9mIGl0cyBraW5kIGFscmVhZHkgc3RhbmRpbmcgYXQgdGhlIGxvY2F0aW9uIG9yIHNwYXducyBvbmUsIGFuZCBhIHJlZml0IG5vZGUgcmVmaXRzIHRoZSBlbnRpdHkgcmVjb3JkZWQgZm9yIGl0cyB0YXJnZXQuIFNwZW50IGFkdmFuY2VzIGJ5IGV2ZXJ5IG5vZGUncyBjb3N0LCBzbyB0aGUgcmVzdWx0aW5nIHdvcmxkIGlzIG9uZSBhIHNpbmdsZSBmb3VuZGVyIGNvdWxkIGhhdmUgYWR2YW5jZWQgYWxvbmUuIEVhY2ggbG9jYXRpb24gY2FuIGJlIGZvdW5kZWQgdGhpcyB3YXkgb25jZS4gUmVxdWlyZXMgY29udHJhY3QgYXV0aG9yaXR5LoAPfSk6fbJiDGdldGJ1aWxkam9icwAAwFX5moayYgpnZXRjaGFydGVyAKDUzfmahrJiDGdldGNoYXJ0dHJlZQDgk1E334ayYgxnZXRjaHJ0cmVhZHkAAMBVGeuIsmIKZ2V0Y2x1c3RlcgAAAGBuTYqyYglnZXRjb25maWfKAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRjb25maWcKc3VtbWFyeTogJ0dldCBnYW1lIGNvbmZpZ3VyYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIHJldHVybnMgdGhlIGdhbWUgY29uZmlndXJhdGlvbiBpbmNsdWRpbmcgZGVmYXVsdCBlbnRpdHkgc3RhdHMgZm9yIHdhcmVob3VzZXMgYW5kIGNvbnRhaW5lcnMsIGFuZCB0aGUgZnVsbCBpdGVtIGRlZmluaXRpb25zIHRhYmxlLoAPfXmZi7JiDGdldGNyYWZ0am9icwAAAKiSIpWyYglnZXRkZWNvbXAAAABI00iVsmIJZ2V0ZGVtYW5kAABAdphWlbJiCmdldGRlcG9zaXQAAAAAmVaVsmIIZ2V0ZGVwb3QAABSaJmOXsmILZ2V0ZGlzdGFuY2UAAFQ8jrmosmILZ2V0ZWxpZ2libGXIAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRlbGlnaWJsZQpzdW1tYXJ5OiAnR2V0IGVsaWdpYmxlIHJlc291cmNlIGl0ZW0gSURzIGF0IGEgbG9jYXRpb24gYW5kIHN0cmF0dW0nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBsaXN0IG9mIHJlc291cmNlIGl0ZW0gSURzIGVsaWdpYmxlIHRvIGJlIGdhdGhlcmVkIGF0IHRoZSBnaXZlbiBjb29yZGluYXRlcyBhbmQgc3RyYXR1bSBkZXB0aC4gSXRlbXMgYXJlIGdhdGVkIGJ5IGJvdGggdGhlIGxvY2F0aW9uJ3MgcmVzb3VyY2UgcHJvZmlsZSBhbmQgdGhlIGRlcHRoIHRocmVzaG9sZCBmb3IgZWFjaCB0aWVyLgAAwBHlqbJiCWdldGVudGNsc4wDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGVudGNscwpzdW1tYXJ5OiAnR2V0IGVudGl0eSBjbGFzcyBlbnVtIHZhbHVlcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgdGhlIGZ1bGwgc2V0IG9mIGVudGl0eSBjbGFzcyBlbnVtIHZhbHVlcyBhbmQgdGhlaXIgc3RyaW5nIG5hbWVzIChPcmJpdGFsVmVzc2VsLCBQbGFuZXRhcnlTdHJ1Y3R1cmUpLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIGRlY29kZSBlbnRpdHkgY2xhc3MgaWRlbnRpZmllcnMuALBy2eWpsmILZ2V0ZW50aXRpZXOkAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRlbnRpdGllcwpzdW1tYXJ5OiAnR2V0IGFsbCBlbnRpdGllcyBmb3IgYSBwbGF5ZXInCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJldHVybnMgZnVsbCBlbnRpdHkgaW5mbyBmb3IgYWxsIGVudGl0aWVzIG93bmVkIGJ5IGEgcGxheWVyLiBPcHRpb25hbGx5IGZpbHRlciBieSBlbnRpdHkgdHlwZS4AAPDZ5amyYglnZXRlbnRpdHmiAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRlbnRpdHkKc3VtbWFyeTogJ0dldCBlbnRpdHkgc3RhdGUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJldHVybnMgdGhlIGN1cnJlbnQgc3RhdGUgb2YgYW4gZW50aXR5IGluY2x1ZGluZyBpZGVudGl0eSwgY2FyZ28sIHNjaGVkdWxlIHN0YXRlLCBhbmQgdHlwZS1zcGVjaWZpYyBmaWVsZHMukKe7NVO6smIMZ2V0Zm9vdHByaW50AAC8QSqt6bJiC2dldGluZmRlY2F5AKDQVDqu6bJiDGdldGluZmx1ZW5jZQAAlI5mr+myYgtnZXRpbmZ2YWx1ZQAATDZJquyyYgtnZXRpdGVtZGF0YagDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGl0ZW1kYXRhCnN1bW1hcnk6ICdHZXQgZnVsbCBpdGVtIGNhdGFsb2cnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBjb21wbGV0ZSBpdGVtIGNhdGFsb2cgYXMgdGhlIGNvbnRyYWN0IHNlZXMgaXQsIGluY2x1ZGluZyB0eXBlLCBzdWJ0eXBlLCB0aWVyLCBtYXNzLCBhbmQgb3RoZXIgc3RhdGljIG1ldGFkYXRhLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIGFuZCBjbGllbnRzIHRvIG1pcnJvciB0aGUgY29udHJhY3QncyBpdGVtIGRlZmluaXRpb25zLgAATk6q7LJiCmdldGl0ZW1pZHOGAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRpdGVtaWRzCnN1bW1hcnk6ICdHZXQgaXRlbSBpZCB0byBuYW1lIG1hcHBpbmdzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgZnVsbCBtYXBwaW5nIG9mIGl0ZW0gaWQgY29uc3RhbnRzIHRvIHRoZWlyIGNhbm9uaWNhbCBzdHJpbmcgbmFtZXMuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gcmVzb2x2ZSBudW1lcmljIGl0ZW0gaWRzIHRvIGh1bWFuLXJlYWRhYmxlIGlkZW50aWZpZXJzLgAAAFiq7LJiCGdldGl0ZW1zmgItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0aXRlbXMKc3VtbWFyeTogJ0dldCBhbGwgYXZhaWxhYmxlIGl0ZW1zJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIGEgbGlzdCBvZiBhbGwgaXRlbXMgaW4gdGhlIGdhbWUgaW5jbHVkaW5nIHRoZWlyIGlkLCBiYXNlIHByaWNlLCBhbmQgbWFzcy4AVPVZquyyYgtnZXRpdGVtdHlwZQCAVfVZquyyYgxnZXRpdGVtdHlwZXOIAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRpdGVtdHlwZXMKc3VtbWFyeTogJ0dldCBpdGVtIHR5cGUgZW51bSB2YWx1ZXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBmdWxsIHNldCBvZiBpdGVtIHR5cGUgZW51bSB2YWx1ZXMgYW5kIHRoZWlyIHN0cmluZyBuYW1lcyAocmVzb3VyY2UsIGNvbXBvbmVudCwgbW9kdWxlLCBlbnRpdHkpLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIGRlY29kZSBpdGVtIHR5cGUgaWRlbnRpZmllcnMuAExWMk0Hs2ILZ2V0a2luZG1ldGH4Ay0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRraW5kbWV0YQpzdW1tYXJ5OiAnR2V0IGVudGl0eSBraW5kIG1ldGFkYXRhJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgZW50aXR5IGtpbmQgcmVnaXN0cnkgYW5kIHRlbXBsYXRlIHJlZ2lzdHJ5LCBpbmNsdWRpbmcgZWFjaCBraW5kJ3MgY2xhc3NpZmljYXRpb24sIGNhcGFiaWxpdHkgZmxhZ3MsIFotY29vcmRpbmF0ZSwgYW5kIGRlZmF1bHQgbGFiZWwsIHBsdXMgdGhlIG1hcHBpbmcgb2YgZW50aXR5IGl0ZW0gaWRzIHRvIGtpbmRzIHdpdGggZGlzcGxheSBsYWJlbHMuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gaW50ZXJwcmV0IGVudGl0eSBraW5kcyBhbmQgY2FwYWJpbGl0aWVzLgAmddkgGrNiC2dldGxvY2F0aW9u4gItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0bG9jYXRpb24Kc3VtbWFyeTogJ0dldCBsb2NhdGlvbiBpbmZvcm1hdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gcmV0dXJucyBpbmZvcm1hdGlvbiBhYm91dCBhIGxvY2F0aW9uIGluY2x1ZGluZyB3aGV0aGVyIGEgc3lzdGVtIGV4aXN0cywgYW5kIGZvciBlYWNoIGl0ZW06IHByaWNlLCBzdXBwbHksIHJhcml0eSBtdWx0aXBsaWVyLCBhbmQgbG9jYXRpb24gbXVsdGlwbGllci4AgMkmIRqzYgpnZXRsb2NkYXRh/gItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0bG9jZGF0YQpzdW1tYXJ5OiAnR2V0IGRlcml2ZWQgbG9jYXRpb24gZGF0YScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gcmV0dXJucyBkZXJpdmVkIGxvY2F0aW9uIGRhdGEgaW5jbHVkaW5nIHN0YXRpYyBwcm9wZXJ0aWVzICh0eXBlLCBkaWZmaWN1bHR5LCBzZWVkcykgZnJvbSB0aGUgZ2FtZSBzZWVkIGFuZCBlcG9jaC1zcGVjaWZpYyBwcm9wZXJ0aWVzIChhY3RpdmUsIHNlZWRzKSBmcm9tIHRoZSBjdXJyZW50IGVwb2NoIHNlZWQuAABbKE8ns2IKZ2V0bWludGNmZwDgk1E3TyezYgxnZXRtaW50cmVhZHkAALCqPicqs2ILZ2V0bW9kdHlwZXPWAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRtb2R0eXBlcwpzdW1tYXJ5OiAnR2V0IG1vZHVsZSB0eXBlIGVudW0gdmFsdWVzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgZnVsbCBzZXQgb2YgbW9kdWxlIHR5cGUgZW51bSB2YWx1ZXMgYW5kIHRoZWlyIHN0cmluZyBuYW1lcyAoYW55LCBlbmdpbmUsIGdlbmVyYXRvciwgZ2F0aGVyZXIsIGxvYWRlciwgd2FycCwgY3JhZnRlciwgbGF1bmNoZXIsIHN0b3JhZ2UsIGhhdWxlcikuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gZGVjb2RlIG1vZHVsZSBzdWJ0eXBlIGlkZW50aWZpZXJzIGFuZCBzbG90IGNvbXBhdGliaWxpdHkuAABWUScqs2IKZ2V0bW9kdWxlc4ADLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldG1vZHVsZXMKc3VtbWFyeTogJ0dldCBhbGwgbW9kdWxlIGl0ZW1zJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgc3Vic2V0IG9mIGl0ZW1zIGNsYXNzaWZpZWQgYXMgbW9kdWxlcywgaW5jbHVkaW5nIGVhY2ggbW9kdWxlJ3MgaWQsIG1hc3MsIHN1YnR5cGUsIGFuZCB0aWVyLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIGVudW1lcmF0ZSBpbnN0YWxsYWJsZSBlcXVpcG1lbnQuAADw5xo1s2IJZ2V0bmVhcmJ5ygMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0bmVhcmJ5CnN1bW1hcnk6ICdHZXQgbmVhcmJ5IHJlYWNoYWJsZSBzeXN0ZW1zJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIG5lYXJieSBzeXN0ZW1zIHJlYWNoYWJsZSBieSBhbiBlbnRpdHkgZnJvbSBpdHMgcHJvamVjdGVkIGxvY2F0aW9uLiBSZXR1cm5zIGN1cnJlbnQgc3RhdGUgKHdpdGggY29tcGxldGVkIHRhc2tzIHJlc29sdmVkKSwgcHJvamVjdGVkIHN0YXRlIChhZnRlciBhbGwgc2NoZWR1bGVkIHRhc2tzKSwgYW5kIGEgbGlzdCBvZiByZWFjaGFibGUgc3lzdGVtcyB3aXRoIGRpc3RhbmNlLCBlbmVyZ3kgY29zdCwgYW5kIGZsaWdodCB0aW1lLgCAwubkNbNiCmdldG5mdGJhc2UAAABd0+U1s2IKZ2V0bmZ0aW5mb/ADLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldG5mdGluZm8Kc3VtbWFyeTogJ0dldCBORlQgc2NoZW1hIGFuZCB0ZW1wbGF0ZSBjb25maWd1cmF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgZnVsbCBzZXQgb2YgQXRvbWljQXNzZXRzIHNjaGVtYXMgYW5kIHRlbXBsYXRlcyB0aGUgZ2FtZSBjb250cmFjdCBleHBlY3RzLCBwbHVzIHRoZSBjdXJyZW50IGBpdGVtX2lkIOKGkiAodGVtcGxhdGVfaWQsIHNjaGVtYV9uYW1lKWAgbWFwcGluZyBzdG9yZWQgaW4gdGhlIGBuZnRjb25maWdgIHRhYmxlLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIHN5bmMgYXRvbWljYXNzZXRzIHN0YXRlIHdpdGggdGhlIGNvbnRyYWN0LgAAuMqbWLNiCWdldHBsYXllcv0CLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHBsYXllcgpzdW1tYXJ5OiAnR2V0IHBsYXllciBpbmZvcm1hdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gcmV0dXJucyBpbmZvcm1hdGlvbiBhYm91dCBhIHBsYXllciBpbmNsdWRpbmcgYmFsYW5jZSwgZGVidCwgbmV0d29ydGgsIGVudGl0eSBjb3VudHMsIGFuZCBwcmljaW5nIGZvciBuZXh0IHB1cmNoYXNlcy4gUmV0dXJucyBpc19wbGF5ZXI9ZmFsc2UgaWYgdGhlIGFjY291bnQgaGFzIG5vdCBqb2luZWQgdGhlIGdhbWUuAAAAIFJas2IHZ2V0cG9vbAAAAAA4UlqzYghnZXRwb29scwCgssn40VuzYgxnZXRwcm9qc3RhdGXLAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRwcm9qc3RhdGUKc3VtbWFyeTogJ0dldCBwcm9qZWN0ZWQgZW50aXR5IHN0YXRlJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgcHJvamVjdGVkIHN0YXRlIG9mIGFuIGVudGl0eSBhZnRlciBhcHBseWluZyB0aGUgbmV4dCB0YXNrX2NvdW50IHNjaGVkdWxlZCB0YXNrcyAob3IgYWxsIHRhc2tzIGlmIHRhc2tfY291bnQgaXMgb21pdHRlZCkuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gcHJldmlldyB0aGUgcmVzdWx0IG9mIGFuIGVudGl0eSdzIHNjaGVkdWxlIHdpdGhvdXQgcmVzb2x2aW5nIG9uLWNoYWluLgAAUNUhdbNiCWdldHJlY2lwZaYDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHJlY2lwZQpzdW1tYXJ5OiAnR2V0IGEgc2luZ2xlIGNyYWZ0aW5nIHJlY2lwZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgdGhlIHJlY2lwZSB3aG9zZSBvdXRwdXQgbWF0Y2hlcyB0aGUgZ2l2ZW4gaXRlbSBpZCwgaW5jbHVkaW5nIGl0cyBpbnB1dHMsIGJsZW5kIHdlaWdodHMsIHN0YXQgc2xvdHMsIGFuZCByZXNvbHZlZCBpdGVtIG1hc3MgaW5mby4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyB0byBkaXNwbGF5IGNyYWZ0aW5nIHJlcXVpcmVtZW50cy4AAFbVIXWzYgpnZXRyZWNpcGVzrAMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0cmVjaXBlcwpzdW1tYXJ5OiAnTGlzdCBjcmFmdGluZyByZWNpcGVzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyBhIHBhZ2luYXRlZCBsaXN0IG9mIGNyYWZ0aW5nIHJlY2lwZXMgc3RhcnRpbmcgYXQgdGhlIHByb3ZpZGVkIGxvd2VyIGJvdW5kIG91dHB1dCBpdGVtIGlkLCB1cCB0byB0aGUgc3BlY2lmaWVkIGxpbWl0LiBFYWNoIGVudHJ5IGluY2x1ZGVzIGlucHV0cywgYmxlbmQgd2VpZ2h0cywgc3RhdCBzbG90cywgYW5kIHJlc29sdmVkIGl0ZW0gbWFzcyBpbmZvLgAAzgZhdbNiCmdldHJlc2NhdHOeAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRyZXNjYXRzCnN1bW1hcnk6ICdHZXQgcmVzb3VyY2UgY2F0ZWdvcnkgZW51bSB2YWx1ZXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBmdWxsIHNldCBvZiByZXNvdXJjZSBjYXRlZ29yeSBlbnVtIHZhbHVlcyBhbmQgdGhlaXIgc3RyaW5nIG5hbWVzIChvcmUsIGdhcywgcmVnb2xpdGgsIGJpb21hc3MsIGNyeXN0YWwpLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIGRlY29kZSByZXNvdXJjZSBzdWJ0eXBlIGlkZW50aWZpZXJzLgCw2ldhdbNiC2dldHJlc2VydmVz/AMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0cmVzZXJ2ZXMKc3VtbWFyeTogJ0dldCBjdXJyZW50IHJlc2VydmUgbW9kaWZpY2F0aW9ucyBhdCBhIGxvY2F0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIHRoZSBjaGFpbidzIG1vZGlmaWNhdGlvbnMgdG8gZGVyaXZlZCByZXNlcnZlcyBhdCB0aGUgZ2l2ZW4gY29vcmRpbmF0ZSBmb3IgdGhlIGN1cnJlbnQgZXBvY2ggYXMgYSBsaXN0IG9mIHtzdHJhdHVtLCByZW1haW5pbmd9IHBhaXJzLiBTdHJhdGEgbm90IHByZXNlbnQgaW4gdGhlIHJlc3BvbnNlIHVzZSB0aGVpciBkZXJpdmVkIGluaXRpYWwgcmVzZXJ2ZS4gQ29tcG9zZSB3aXRoIFNESyBkZXJpdmF0aW9uIHRvIGdldCB0aGUgZnVsbCBwZXItbG9jYXRpb24gc3RyYXRhIHZpZXcugBW6mmJ1s2IMZ2V0cmVzb3VyY2VzhwMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0cmVzb3VyY2VzCnN1bW1hcnk6ICdHZXQgYWxsIHJlc291cmNlIGl0ZW1zJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgc3Vic2V0IG9mIGl0ZW1zIGNsYXNzaWZpZWQgYXMgcmVzb3VyY2VzLCBpbmNsdWRpbmcgZWFjaCByZXNvdXJjZSdzIGlkLCBtYXNzLCBzdWJ0eXBlLCBhbmQgdGllci4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyB0byBlbnVtZXJhdGUgZ2F0aGVyYWJsZSBtYXRlcmlhbHMuAAAAONOIs2IIZ2V0c2xvdHO7Ay0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRzbG90cwpzdW1tYXJ5OiAnR2V0IGVudGl0eSBzbG90IGxheW91dHMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBtb2R1bGUgc2xvdCBsYXlvdXQgZm9yIGV2ZXJ5IGVudGl0eSBpdGVtIHR5cGUsIGxpc3RpbmcgdGhlIG9yZGVyZWQgc2xvdCB0eXBlcyBhdmFpbGFibGUgZm9yIG1vZHVsZSBpbnN0YWxsYXRpb24uIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gZGV0ZXJtaW5lIHdoaWNoIG1vZHVsZSB0eXBlcyBhcmUgY29tcGF0aWJsZSB3aXRoIGEgZ2l2ZW4gZW50aXR5IGh1bGwuAIDU2dyMs2IKZ2V0c3RyYXR1bdICLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHN0cmF0dW0Kc3VtbWFyeTogJ0dldCByZXNvdXJjZSBzdHJhdHVtIGRhdGEnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIHJldHVybnMgcmVzb3VyY2Ugc3RyYXR1bSBkYXRhIGZvciBhIHNwZWNpZmljIGRlcHRoIGxheWVyIGF0IGEgY29vcmRpbmF0ZSwgaW5jbHVkaW5nIHRoZSBzdHJhdHVtIHNlZWQgaW5mbyBhbmQgZGVyaXZlZCByZXNvdXJjZSBzdGF0cy6AlbtGSo2zYgxnZXRzdW1tYXJpZXPoAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRzdW1tYXJpZXMKc3VtbWFyeTogJ0dldCBlbnRpdHkgc3VtbWFyaWVzIGZvciBhIHBsYXllcicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUmV0dXJucyBsaWdodHdlaWdodCBzdW1tYXJpZXMgb2YgYWxsIGVudGl0aWVzIG93bmVkIGJ5IGEgcGxheWVyIGluY2x1ZGluZyB0eXBlLCBpZCwgb3duZXIsIG5hbWUsIGxvY2F0aW9uLCBhbmQgaWRsZSBzdGF0dXMuIE9wdGlvbmFsbHkgZmlsdGVyIGJ5IGVudGl0eSB0eXBlLuCTUVdlurNiDGdldHZvdGVyZWFkeQAAAABYZbqzYghnZXR2b3RlcwAAVKRNXsqzYgtnZXR3b3JtaG9sZQCQHZ7m5qrpZQxncm91cHRyYW5zaXQAAKLa5uaq6WULZ3JvdXB0cmF2ZWyaBC0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBncm91cHRyYXZlbApzdW1tYXJ5OiAnTW92ZSBtdWx0aXBsZSBlbnRpdGllcyB0b2dldGhlcicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW5pdGlhdGUgZ3JvdXAgdHJhdmVsIGZvciBtdWx0aXBsZSBlbnRpdGllcyB0byBhIGRlc3RpbmF0aW9uLiBBbGwgZW50aXRpZXMgbXVzdCBiZSBhdCB0aGUgc2FtZSBsb2NhdGlvbiBhbmQgb3duZWQgYnkgdGhlIGNhbGxlci4gQXQgbGVhc3Qgb25lIGVudGl0eSB3aXRoIGVuZ2luZXMgaXMgcmVxdWlyZWQgdG8gcHJvdmlkZSB0aHJ1c3QuIEZsaWdodCBkdXJhdGlvbiBpcyBjYWxjdWxhdGVkIGZyb20gY29tYmluZWQgdGhydXN0IGFuZCB0b3RhbCBtYXNzIG9mIGFsbCBlbnRpdGllcy4gQ3JlYXRlcyBhbiBlbnRpdHlncm91cCBmb3IgYXRvbWljIHJlc29sdXRpb24gYW5kIGNhbmNlbGxhdGlvbi4AAAAAANCwaQRoYXNo+AEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogaGFzaApzdW1tYXJ5OiAnQ2FsY3VsYXRlIHNoYTI1NiBoYXNoJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDYWxjdWxhdGVzIHRoZSBzaGEyNTYgaGFzaCBvZiBhIHN0cmluZyBiYXNlZCB1c2luZyB0aGUgZ2FtZSBzZWVkLgAAAECE0rBpB2hhc2g1MTL7AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBoYXNoNTEyCnN1bW1hcnk6ICdDYWxjdWxhdGUgc2hhNTEyIGhhc2gnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkNhbGN1bGF0ZXMgdGhlIHNoYTUxMiBoYXNoIG9mIGEgc3RyaW5nIGJhc2VkIHVzaW5nIHRoZSBnYW1lIHNlZWQuACi7BuVLq3QLaW1wb3J0Y2FyZ28AAECMCuVLq3QKaW1wb3J0Y2VsbADgs8tT5UurdAxpbXBvcnRlbnRpdHkAABqiVeVLq3QLaW1wb3J0ZXBvY2gAAKqml+VLq3QLaW1wb3J0Z3JvdXAAwBbKa+ZLq3QMaW1wb3J0bmZ0Y2ZnAHCVN7HmS6t0DGltcG9ydHBsYXllcgC6r8Lq5kurdA1pbXBvcnRyZXNlcnZlAABUNhnnS6t0C2ltcG9ydHN0YXRlAAAAAAAAMB19BGpvaW7EAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBqb2luCnN1bW1hcnk6ICdKb2luIGEgZ2FtZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSm9pbiBhIGdhbWUgb2YgU2hpcGxvYWQAAAAANDS1iQZsYXVuY2gAAAAAAACQDI0EbG9hZAAAAPDJqJunkwltaW50cmVhZHkAAAAAKrqsNpUIbW92ZXRpbGUAAID6Lpqrs5kKbmF0dXJhbGl6ZQAAAIhXM+nymgluZnRpbWd1cmyyAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBuZnRpbWd1cmwKc3VtbWFyeTogJ0dldCBORlQgaW1hZ2UgVVJMIGZvciBhIGNhcmdvIGl0ZW0nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBpbWFnZSBVUkwgdGhlIGNvbnRyYWN0IGVtaXRzIGZvciBhIGdpdmVuIGNhcmdvIGl0ZW0sIG9wdGlvbmFsbHkgc2NvcGVkIHRvIGEgbG9jYXRpb24uIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgYW5kIE5GVCByZW5kZXJlcnMgdG8gZmV0Y2ggdGhlIGNhbm9uaWNhbCBhcnR3b3JrIGZvciBhbiBpdGVtIG9yIHBhY2tlZCBlbnRpdHkuAAAAAPjlMp0Gbm90aWZ5igMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogbm90aWZ5CnN1bW1hcnk6ICdUYXNrIGxpZmVjeWNsZSBub3RpZmljYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkludGVybmFsIGFjdGlvbiB0aGF0IG5vdGlmaWVzIGVudGl0eSBvd25lcnMgb2YgdGFzayBsaWZlY3ljbGUgZXZlbnRzIChyZXNvbHZlZCwgY2FuY2VsbGVkKS4gQ2FsbGVkIGlubGluZSB3aGVuIHRhc2tzIGNoYW5nZSBzdGF0ZS4gVXNlcyByZXF1aXJlX3JlY2lwaWVudCB0byBlbmFibGUgb2ZmLWNoYWluIG1vbml0b3JpbmcgdmlhIGFjdGlvbiB0cmFjZXMuAABl1yCFTKwKcGxhY2VjYXJnb8kELS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHBsYWNlY2FyZ28Kc3VtbWFyeTogJ1Jlc3RvcmUgTkZUIGNhcmdvIG9udG8gYSBob3N0IGVudGl0eScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW50ZXJuYWwgYWN0aW9uIGNhbGxlZCBpbmxpbmUgYnkgdGhlIHBsYXRmb3JtIGNvbnRyYWN0IG9ubHkuIFJlc3RvcmVzIHRoZSBjYXJnbyByZWNvcmRlZCBpbiBhbiB1bndyYXBwZWQgTkZUIG9udG8gYSBob3N0IGVudGl0eS4gVmFsaWRhdGVzIGhvc3Qgb3duZXJzaGlwLCBsb2FkZXJzLCBhbmQgcmVtYWluaW5nIGNhcGFjaXR5LCBkZXNlcmlhbGl6ZXMgdGhlIE5GVCdzIGl0ZW0gZGF0YSwgYW5kIGFwcGVuZHMgYW4gdW53cmFwIHRhc2sgdG8gZGVsaXZlciB0aGUgY2FyZ28gdG8gdGhlIGhvc3QuIFRoZSBwbGF0Zm9ybSBjb250cmFjdCBjcmVkaXRzIHRoZSBkZXBvc2l0IHJlZnVuZCBhbmQgYnVybnMgdGhlIGFzc2V0LiBSZXF1aXJlcyBjb250cmFjdCBhdXRob3JpdHkuAHx2eSqFTKwLcGxhY2VlbnRpdHnABC0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBwbGFjZWVudGl0eQpzdW1tYXJ5OiAnTWF0ZXJpYWxpemUgYSBwYWNrZWQtZW50aXR5IE5GVCBhcyBhIGxpdmUgZW50aXR5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbnRlcm5hbCBhY3Rpb24gY2FsbGVkIGlubGluZSBieSB0aGUgcGxhdGZvcm0gY29udHJhY3Qgb25seS4gRW1wbGFjZXMgYSBsaXZlIG9yYml0YWwgdmVzc2VsIChzaGlwIG9yIGNvbnRhaW5lcikgZnJvbSBpdHMgcGFja2VkLWVudGl0eSBORlQgZGF0YSBhdCB0aGUgcmVjb3JkZWQgd3JhcCBvcmlnaW4sIHRoZW4gcXVldWVzIHRyYXZlbCBhbmQgcmVjaGFyZ2UgdGFza3MgdG8gZGVsaXZlciBpdCB0byB0aGUgdGFyZ2V0IG5leHVzIGF0IGZ1bGwgZW5lcmd5LiBUaGUgcGxhdGZvcm0gY29udHJhY3QgY3JlZGl0cyB0aGUgZGVwb3NpdCByZWZ1bmQgYW5kIGJ1cm5zIHRoZSBhc3NldC4gUmVxdWlyZXMgY29udHJhY3QgYXV0aG9yaXR5LgAAAIpd05C6CHJlY2hhcmdlzQItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogcmVjaGFyZ2UKc3VtbWFyeTogJ1JlY2hhcmdlIHNoaXAgZW5lcmd5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpTY2hlZHVsZSBhIHJlY2hhcmdlIHRhc2sgZm9yIGFuIGVudGl0eSB0byByZXN0b3JlIGVuZXJneSB0byBmdWxsIGNhcGFjaXR5LiBUaGUgcmVjaGFyZ2UgZHVyYXRpb24gZGVwZW5kcyBvbiBjdXJyZW50IGVuZXJneSBsZXZlbCBhbmQgcmVjaGFyZ2UgcmF0ZS7gs8tTNXyXugxyZWZyc2hlbnRpdHm4Ay0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiByZWZyc2hlbnRpdHkKc3VtbWFyeTogJ1JlZnJlc2ggZGVyaXZlZCBlbnRpdHkgc3RhdGUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJlY29tcHV0ZSBkZXJpdmVkIGZpZWxkcyBvbiBhbiBlbnRpdHkgZnJvbSBpdHMgY3VycmVudCBjYXJnbyBhbmQgbW9kdWxlcywgcmVmcmVzaGluZyBjYXBhYmlsaXR5IHN0YXRzIGFuZCBjYXJnbyBtYXNzLiBUaGUgZW50aXR5IG11c3QgYmUgaWRsZSB3aXRoIG5vIHNjaGVkdWxlZCB0YXNrcy4gVXNlZCB0byByZWNvbmNpbGUgZGVyaXZlZCBzdGF0ZSBhZnRlciBkYXRhIG1pZ3JhdGlvbnMgb3IgY29udHJhY3QgdXBncmFkZXMuoCIyl6pNpboMcmVtb3Zlb3JhY2xlAAAAAAAoaaa6BnJlbmFtZQAAAABA7UixugdyZXNvbHZl0AMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogcmVzb2x2ZQpzdW1tYXJ5OiAnQ29tcGxldGUgc2NoZWR1bGVkIHRhc2tzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpSZXNvbHZlIGNvbXBsZXRlZCB0YXNrcyBpbiBhbiBlbnRpdHkncyBzY2hlZHVsZSwgYXBwbHlpbmcgdGhlaXIgZWZmZWN0cyAocmVjaGFyZ2UgZW5lcmd5LCB1cGRhdGUgbG9jYXRpb24sIGxvYWQvdW5sb2FkIGNhcmdvKS4gSWYgY291bnQgaXMgc3BlY2lmaWVkLCByZXNvbHZlIGV4YWN0bHkgdGhhdCBtYW55IHRhc2tzOyBvdGhlcndpc2UgcmVzb2x2ZSBhbGwgY29tcGxldGVkIHRhc2tzLiBGYWlscyBpZiBjb3VudCBleGNlZWRzIHRoZSBudW1iZXIgb2YgY29tcGxldGVkIHRhc2tzLgBAjEbtSLG6CnJlc29sdmVhbGwA4OM1Su1IsboMcmVzb2x2ZWVhcmx5AAAAAABEo7a6BnJldmVhbAAAAAAq6kSlvAhybW1vZHVsZbwDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHJtbW9kdWxlCnN1bW1hcnk6ICdSZW1vdmUgYSBtb2R1bGUgZnJvbSBhIHNsb3QnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJlbW92ZSBhbiBpbnN0YWxsZWQgbW9kdWxlIGZyb20gYSBzbG90IG9uIGEgbGl2ZSBlbnRpdHkgb3IgYSBwYWNrZWQgZW50aXR5IGluIGNhcmdvLiBUaGUgZW50aXR5IG11c3QgYmUgaWRsZSB3aXRoIG5vIHNjaGVkdWxlZCB0YXNrcy4gVGhlIG1vZHVsZSBpcyByZXR1cm5lZCB0byBjYXJnby4gRmFpbHMgaWYgdGhlIGVudGl0eSBkb2VzIG5vdCBoYXZlIGVub3VnaCBjYXJnbyBjYXBhY2l0eSB0byBob2xkIHRoZSByZXR1cm5lZCBtb2R1bGUuAAAAbKG8prwIcm1uZnRjZmehAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBybW5mdGNmZwpzdW1tYXJ5OiAnUmVtb3ZlIE5GVCB0ZW1wbGF0ZSBtYXBwaW5nIGZvciBhbiBpdGVtJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpSZW1vdmUgdGhlIEF0b21pY0Fzc2V0cyB0ZW1wbGF0ZSBtYXBwaW5nIGZvciB0aGUgc3BlY2lmaWVkIGl0ZW0gaWQgZnJvbSB0aGUgYG5mdGNvbmZpZ2AgdGFibGUuIEFmdGVyIHJlbW92YWwgdGhlIGl0ZW0gY2FuIG5vIGxvbmdlciBiZSB3cmFwcGVkIG9yIHVud3JhcHBlZCB1bnRpbCBhIG5ldyBtYXBwaW5nIGlzIHNldC4gUmVxdWlyZXMgY29udHJhY3QgYXV0aG9yaXR5LgAAAMhth7LCCHNldGNpdmljAADAVRnriLLCCnNldGNsdXN0ZXIAAADA6VKKssIJc2V0Y29vcmRzAADUdDEZlbLCC3NldGRlYWRsaW5lAADAvPqs6bLCCnNldGluZmJ1cm4AAAAAIa3pssIIc2V0aW5mZDEAkKaRKq3pssIMc2V0aW5mZGVtYW5kAABAnk6u6bLCCnNldGluZm1pbnQAkBtziq/pssIMc2V0aW5md2VpZ2h0AAAASC53NbPCCXNldG5leHRpZAAAAGAL5TWzwglzZXRuZnRjZmfEAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBzZXRuZnRjZmcKc3VtbWFyeTogJ1NldCBORlQgdGVtcGxhdGUgbWFwcGluZyBmb3IgYW4gaXRlbScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQmluZCBhbiBpdGVtIGlkIHRvIGFuIEF0b21pY0Fzc2V0cyB0ZW1wbGF0ZSBpZCBhbmQgc2NoZW1hIG5hbWUuIFVzZWQgdG8gY29uZmlndXJlIGhvdyB0aGUgY29udHJhY3QgbWludHMgYW5kIHJlY29nbml6ZXMgTkZUcyBmb3IgYSBnaXZlbiBpdGVtLiBJbnNlcnRzIGEgbmV3IG1hcHBpbmcgaWYgb25lIGRvZXMgbm90IGV4aXN0LCBvciB1cGRhdGVzIHRoZSBleGlzdGluZyBtYXBwaW5nLiBSZXF1aXJlcyBjb250cmFjdCBhdXRob3JpdHkukCJtWN2Ws8IMc2V0dGhyZXNob2xkAJBpjOaomLPCDHNldHRsZWJhbGxvdAAwnazm8qmzwgxzZXR1bndyYXBtaW4AADKmqJrLs8ILc2V0d3JhcGNvc3QAAIBSq5rLs8IKc2V0d3JhcGZlZQAAAABAxZx1wwdzaHV0dGxlAAAAoOwaxGnGCXN0b3djYXJnb9UFLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHN0b3djYXJnbwpzdW1tYXJ5OiAnUmVzZXJ2ZSBhIGNhcmdvIHN0YWNrIGZvciB3cmFwcGluZyBpbnRvIGFuIE5GVCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW50ZXJuYWwgYWN0aW9uIGNhbGxlZCBpbmxpbmUgYnkgdGhlIHBsYXRmb3JtIGNvbnRyYWN0IG9ubHkuIFJlc2VydmVzIGFuZCBjb25zdW1lcyBhIGNhcmdvIHN0YWNrIG9uIGEgbGl2ZSBlbnRpdHkgZm9yIHdyYXBwaW5nIGludG8gYW4gTkZULiBWYWxpZGF0ZXMgZW50aXR5IG93bmVyc2hpcCwgbG9hZGVycywgYW5kIHByZXNlbmNlIGF0IHRoZSBuZXh1cywgYW5kIGNvbmZpcm1zIHRoZSB0YXJnZXQgY2FyZ28gc3RhY2sgaXMgYXZhaWxhYmxlIGFuZCBub3QgcmVzZXJ2ZWQgYnkgYSBwZW5kaW5nIHRhc2suIENvbXB1dGVzIHRoZSB3cmFwIGNvc3QgYW5kIGZlZSwgZGViaXRzIHRoZW0gZnJvbSB0aGUgb3duZXIncyBwbGF0Zm9ybSBkZXBvc2l0IGJhbGFuY2UsIGRlcml2ZXMgdGhlIE5GVCdzIGltbXV0YWJsZSBkYXRhLCBhbmQgbWludHMgdGhlIE5GVCBpbmxpbmUgYXMgdGhlIGdhbWUgY29udHJhY3QgYmVmb3JlIGNvbnN1bWluZyB0aGUgY2FyZ28uIFJlcXVpcmVzIGNvbnRyYWN0IGF1dGhvcml0eS4AgM8uT8VpxgpzdG93ZW50aXR5mQUtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogc3Rvd2VudGl0eQpzdW1tYXJ5OiAnUmVzZXJ2ZSBhbiBlbnRpdHkgZm9yIHdyYXBwaW5nIGludG8gYW4gTkZUJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbnRlcm5hbCBhY3Rpb24gY2FsbGVkIGlubGluZSBieSB0aGUgcGxhdGZvcm0gY29udHJhY3Qgb25seS4gUmVzZXJ2ZXMgYSB3aG9sZSBlbnRpdHkgKHNoaXAsIGNvbnRhaW5lciwgb3IgcGxhbmV0YXJ5IHN0cnVjdHVyZSkgZm9yIHdyYXBwaW5nIGludG8gYW4gTkZULiBUaGUgZW50aXR5IG11c3QgYmUgaWRsZSB3aXRoIGVtcHR5IGNhcmdvIGFuZCBubyBzY2hlZHVsZWQgdGFza3MuIENvbXB1dGVzIHRoZSB3cmFwIGNvc3QgYW5kIGZlZSwgZGViaXRzIHRoZW0gZnJvbSB0aGUgb3duZXIncyBwbGF0Zm9ybSBkZXBvc2l0IGJhbGFuY2UsIGRlcml2ZXMgdGhlIGVudGl0eSBORlQncyBpbW11dGFibGUgZGF0YSwgbWludHMgdGhlIE5GVCBpbmxpbmUgYXMgdGhlIGdhbWUgY29udHJhY3QsIGFuZCBlcmFzZXMgdGhlIGVudGl0eSBmcm9tIHRoZSB3b3JsZC4gUmVxdWlyZXMgY29udHJhY3QgYXV0aG9yaXR5LgCAijpRWQ3HCnN3YXBtb2R1bGUAAAAAKrpcDccIc3dhcHRpbGUAAAAAIDs8zc0HdHJhbnNpdAAAAAAARLXNzQZ0cmF2ZWz7AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB0cmF2ZWwKc3VtbWFyeTogJ01vdmUgYSBzaGlwJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbml0aWF0ZSB0cmF2ZWwgb2YgYW4gZW50aXR5IGZyb20gaXRzIGN1cnJlbnQgbG9jYXRpb24gdG8gYSBuZXcgZGVzdGluYXRpb24uAMA0sUa1zc0KdHJhdmVscGxhbgAAAACexqrS1Ah1bmRlcGxveecELS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHVuZGVwbG95CnN1bW1hcnk6ICdQYWNrIGEgZGVwbG95ZWQgZW50aXR5IGludG8gYSBob3N0JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpQYWNrIGFuIGVudGl0eSBpbnRvIGEgaG9zdCBlbnRpdHkncyBjYXJnbyBhcyBhIHBhY2tlZC1lbnRpdHkgaXRlbS4gSG9zdCBhbmQgdGFyZ2V0IG11c3Qgc2hhcmUgdGhlIHNhbWUgb3duZXIgYW5kIGNvb3JkaW5hdGVzLCB0aGUgaG9zdCBtdXN0IGhhdmUgbG9hZGVycyBhbmQgZW5vdWdoIGNhcGFjaXR5IGZvciB0aGUgcGFja2VkIG1hc3MsIGFuZCB0aGUgdGFyZ2V0IG11c3QgYmUgaWRsZSB3aXRoIGVtcHR5IGNhcmdvLiBDcmVhdGVzIGFuIGVudGl0eWdyb3VwIGFuZCBzY2hlZHVsZXMgdW5kZXBsb3kgdGFza3Mgb24gYm90aCBlbnRpdGllczsgb24gcmVzb2x1dGlvbiB0aGUgdGFyZ2V0IGlzIGVyYXNlZCBhbmQgdGhlIHBhY2tlZCBlbnRpdHkgaXMgYWRkZWQgdG8gdGhlIGhvc3QncyBjYXJnby4gSW52ZXJzZSBvZiBkZXBsb3kuAAAAACRD49QGdW5sb2FkAAAAAEAlc1nVB3VwZ3JhZGUAAADwyairMt0Jdm90ZXJlYWR5AAAAAAAAUK/hBHdhcnCfAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB3YXJwCnN1bW1hcnk6ICdXYXJwIHRvIGEgZGVzdGluYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkluc3RhbnRseSB0ZWxlcG9ydCBhbiBlbnRpdHkgdG8gYSBkZXN0aW5hdGlvbiBzeXN0ZW0uIFJlcXVpcmVzIHdhcnAgY2FwYWJpbGl0eSwgZnVsbCBlbmVyZ3ksIGVtcHR5IGNhcmdvLCBhbmQgYW4gZW1wdHkgc2NoZWR1bGUuIFRoZSBkZXN0aW5hdGlvbiBtdXN0IGJlIGEgdmFsaWQgc3lzdGVtIHdpdGhpbiB3YXJwIHJhbmdlLiBSZXNvbHZlcyBpbW1lZGlhdGVseSBhcyBhIHplcm8tZHVyYXRpb24gdGFzay4AAAAAAKCq4wR3aXBlsgEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogd2lwZQpzdW1tYXJ5OiAnREVCVUc6IHdpcGUgYWN0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tKAAAAABkGqM5A2k2NAAACmJhbGxvdF9yb3cAMESuZhqjOQNpNjQAAA9iYWxsb3RwaWNrc19yb3cAALAKZxqjOQNpNjQAAA5iYWxsb3Rfc2VxX3Jvd6BizgpnGqM5A2k2NAAAEGJhbGxvdHNldHRsZV9yb3cAAMBsuhSdPgNpNjQAAA1idWlsZGluZ3Nfcm93AADAh74UnT4DaTY0AAAMYnVpbGRqb2Jfcm93AAAAAADKrkEDaTY0AAAJY2FyZ29fcm93AKpreKrvskMDaTY0AAAPY2l0aXplbnNoaXBfcm93AJhbkyLktkMDaTY0AAAPY2l2aWNjb25maWdfcm93AAAAAGDpTEQDaTY0AAAJY2xhaW1fcm93AAAA4KqMdUQDaTY0AAALY2x1c3Rlcl9yb3cAAAAAZCclRQNpNjQAAApjb21taXRfcm93AADAh768zEUDaTY0AAAMY3JhZnRqb2Jfcm93AAAAAPjs8lQDaTY0AAAKZW50aXR5X3JvdwCqppf57PJUA2k2NAAAD2VudGl0eWdyb3VwX3JvdwAAsAr77PJUA2k2NAAADmVudGl0eV9zZXFfcm93AAAAAICGaFUDaTY0AAAJZXBvY2hfcm93AAAAYF591nQDaTY0AAALaW5mYnVybl9yb3cAAEjTSJXWdANpNjQAAA1pbmZkZW1hbmRfcm93AAAAIE8n13QDaTY0AAALaW5mbWludF9yb3cAAAAgUlrXdANpNjQAAAtpbmZwb29sX3JvdwCAzy4abdd0A2k2NAAADmluZnF1YWxpdHlfcm93AADIjTnF13QDaTY0AAANaW5md2VpZ2h0X3JvdwAAAABfBRGNA2k2NAAACmxvY2tlcl9yb3cAAABYZZOmkQNpNjQAAAxtYW5kYXRlc19yb3cAAAAAAJunkwNpNjQAAAltaW50cV9yb3cAAGBuTYrymgNpNjQAAA1uZnRjb25maWdfcm93AABgC6mIzKUDaTY0AAARb3JhY2xlX2NvbmZpZ19yb3cAAAAAq4jMpQNpNjQAAApvcmFjbGVfcm93AAAAAFzlTawDaTY0AAAKcGxheWVyX3JvdwAAABiry+itA2k2NAAADHByb2dyZXNzX3JvdwAAAEDtq7C6A2k2NAAAC3Jlc2VydmVfcm93AAAAAESjtroDaTY0AAAKcmV2ZWFsX3JvdwAAAGy6NE3GA2k2NAAADHN0YW5kaW5nX3JvdwAAAAAAlU3GA2k2NAAACXN0YXRlX3JvdwAAAEAxc2nGA2k2NAAAC3N0b3JhZ2Vfcm93AAAAAACsqs8DaTY0AAAJdHlwZXNfcm93AAAAAOAUL+UDaTY0AAAKd29ybGRzX3JvdwAAc2tSVM3lA2k2NAAADndyYXBjb25maWdfcm93AAAAGVNUzeUDaTY0AAAMd3JhcGNvc3Rfcm93ARFTaGlwbG9hZCAoU2VydmVyKRFTaGlwbG9hZCAoU2VydmVyKQAAAGIAMo110jTNMQx0YXNrX3Jlc3VsdHMAwHE3T4pSMgx0YXNrX3Jlc3VsdHMAAACHvhSdPg53aW5kb3dfcmVjZWlwdAAAyDTWFJ0+DHRhc2tfcmVzdWx0cwAAAABEhaZBDmNhbmNlbF9yZXN1bHRzAFJ0+kSFpkEMdGFza19yZXN1bHRzAJDbDkWFpkEOY2FuY2VsX3Jlc3VsdHOgYs66YeS2Qwx0YXNrX3Jlc3VsdHMAQF7mIulMRAx0YXNrX3Jlc3VsdHMAAMg0VulMRAx0YXNrX3Jlc3VsdHOQl7noqox1RAx0YXNrX3Jlc3VsdHMAAAAAgLzMRQx0YXNrX3Jlc3VsdHMAAACHvrzMRQ53aW5kb3dfcmVjZWlwdAAAAAAiV9lJC3NvY2tldF9waWNrAAAACplY2UkPcmVzZXJ2ZWRfd2luZG93AACAyFR12UkNcmVwYWNrX3Jlc3VsdAAAAA27SKVKDHRhc2tfcmVzdWx0cwAAAAB4GqtKDHRhc2tfcmVzdWx0cwCAujTjTKtKDHRhc2tfcmVzdWx0cwAAUNDkTKtKDHRhc2tfcmVzdWx0cwCAzy5PhbBKBnN0cmluZwAAAABc1bJhDHRhc2tfcmVzdWx0cwDANLFe1bJhDHRhc2tfcmVzdWx0c4APfSk6fbJiEGJ1aWxkam9ic19yZXN1bHQAwFX5moayYg5jaGFydGVyX3Jlc3VsdKDUzfmahrJiE2NoYXJ0ZXJfdHJlZV9yZXN1bHTgk1E334ayYhNjaGFydGVycmVhZHlfcmVzdWx0AMBVGeuIsmILY2x1c3Rlcl9yb3cAAGBuTYqyYgtnYW1lX2NvbmZpZ4APfXmZi7JiEGNyYWZ0am9ic19yZXN1bHQAAKiSIpWyYg1kZWNvbXBfcmVzdWx0AABI00iVsmINZGVtYW5kX3Jlc3VsdABAdphWlbJiDmV4dGVuZGVkX2Fzc2V0AAAAmVaVsmIKZGVwb3RfdmlldwAUmiZjl7JiBnVpbnQ2NABUPI65qLJiCHVpbnQxNltdAADAEeWpsmILZW51bV9yZXN1bHQAsHLZ5amyYg1lbnRpdHlfaW5mb1tdAADw2eWpsmILZW50aXR5X2luZm+Qp7s1U7qyYhBmb290cHJpbnRfcmVzdWx0ALxBKq3psmIGdWludDY0oNBUOq7psmIQaW5mbHVlbmNlX3RvdGFscwCUjmav6bJiD2luZnZhbHVlX3Jlc3VsdABMNkmq7LJiD2l0ZW1kYXRhX3Jlc3VsdAAATk6q7LJiD2l0ZW1faWRzX3Jlc3VsdAAAAFiq7LJiCml0ZW1zX2luZm8AVPVZquyyYgV1aW50OIBV9Vmq7LJiC2VudW1fcmVzdWx0AExWMk0Hs2IQa2luZF9tZXRhX3Jlc3VsdAAmddkgGrNiDWxvY2F0aW9uX2luZm8AgMkmIRqzYhBsb2NhdGlvbl9kZXJpdmVkAABbKE8ns2IObWludGNmZ19yZXN1bHTgk1E3TyezYgZ1aW50MzIAsKo+JyqzYgtlbnVtX3Jlc3VsdAAAVlEnKrNiDm1vZHVsZXNfcmVzdWx0AADw5xo1s2ILbmVhcmJ5X2luZm8AgMLm5DWzYghzdHJpbmdbXQAAXdPlNbNiDm5mdGluZm9fcmVzdWx0AAC4yptYs2ILcGxheWVyX2luZm8AAAAgUlqzYhBwb29sX3BhaXJfcmVzdWx0AAAAOFJas2IMcG9vbHNfcmVzdWx0oLLJ+NFbs2IPcHJvamVjdGVkX3N0YXRlAABQ1SF1s2IOcmVjaXBlc19yZXN1bHQAAFbVIXWzYg5yZWNpcGVzX3Jlc3VsdAAAzgZhdbNiC2VudW1fcmVzdWx0ALDaV2F1s2ITc3RyYXR1bV9yZW1haW5pbmdbXYAVuppidbNiEHJlc291cmNlc19yZXN1bHQAAAA404izYhVlbnRpdHlfbGF5b3V0c19yZXN1bHQAgNTZ3IyzYgxzdHJhdHVtX2RhdGGAlbtGSo2zYhBlbnRpdHlfc3VtbWFyeVtd4JNRV2W6s2IGdWludDMyAAAAWGW6s2ILdm90ZV9yZXN1bHQAVKRNXsqzYg13b3JtaG9sZV9pbmZvkB2e5uaq6WUMdGFza19yZXN1bHRzAKLa5uaq6WUMdGFza19yZXN1bHRzAAAAAADQsGkLY2hlY2tzdW0yNTYAAABAhNKwaQtjaGVja3N1bTUxMgAAAAA0NLWJDHRhc2tfcmVzdWx0cwAAAAAAkAyNDHRhc2tfcmVzdWx0cwAAACq6rDaVDHRhc2tfcmVzdWx0cwAAiFcz6fKaBnN0cmluZwAAZdcghUysDHRhc2tfcmVzdWx0cwB8dnkqhUysDHRhc2tfcmVzdWx0cwAAAIpd05C6DHRhc2tfcmVzdWx0cwAAAEDtSLG6D3Jlc29sdmVfcmVzdWx0cwBAjEbtSLG6EnJlc29sdmVhbGxfcmVzdWx0c+DjNUrtSLG6D3Jlc29sdmVfcmVzdWx0cwAAAEDFnHXDDHRhc2tfcmVzdWx0cwAAoOwaxGnGDHRhc2tfcmVzdWx0cwCAzy5PxWnGDHRhc2tfcmVzdWx0cwAAACq6XA3HDHRhc2tfcmVzdWx0cwAAACA7PM3NDHRhc2tfcmVzdWx0cwAAAABEtc3NDHRhc2tfcmVzdWx0cwDANLFGtc3NDHRhc2tfcmVzdWx0cwAAAJ7GqtLUDHRhc2tfcmVzdWx0cwAAAAAkQ+PUDHRhc2tfcmVzdWx0cwAAAEAlc1nVDHRhc2tfcmVzdWx0cwAAAAAAUK/hDHRhc2tfcmVzdWx0cw==');
|
|
854
|
+
const abiBlob$1 = Blob.from('DmVvc2lvOjphYmkvMS4yAhVCX3ZlY3Rvcl9lbnRpdHlfcmVmX0UMZW50aXR5X3JlZltdDWxvY2F0aW9uX3R5cGUFdWludDjAAgthYmFuZG9ucGxvdAABB3Bsb3RfaWQGdWludDY0CmFkZGNvbnRyaWIABQZwbGF5ZXIEbmFtZQllbnRpdHlfaWQGdWludDY0AXgFaW50NjQBeQVpbnQ2NAZidW5kbGUMY2FyZ29faXRlbVtdCWFkZG1vZHVsZQAECWVudGl0eV9pZAZ1aW50NjQMbW9kdWxlX2luZGV4BXVpbnQ4Cm1vZHVsZV9yZWYJY2FyZ29fcmVmCnRhcmdldF9yZWYKY2FyZ29fcmVmPwhhZGRuZXh1cwADCm5leHVzX25hbWUGc3RyaW5nAXgFaW50NjQBeQVpbnQ2NAlhZGRvcmFjbGUAAQlvcmFjbGVfaWQEbmFtZQ1iYWxsb3RfY3JlZGl0AAIHYWNjb3VudARuYW1lBmFtb3VudAZ1aW50NjQKYmFsbG90X3JvdwAHCWJhbGxvdF9pZAZ1aW50NjQEa2luZAV1aW50OAdzdWJqZWN0BnVpbnQ2NAVzZWF0cwZ1aW50MzINc2V0dGxlZF9lcG9jaAZ1aW50MzIFcXVldWUIdWludDMyW10GcGFya2VkD2JhbGxvdF9jcmVkaXRbXQ5iYWxsb3Rfc2VxX3JvdwADB25leHRfaWQGdWludDY0BmN1cnNvcgZ1aW50NjQJcGFnZV9yb3dzBnVpbnQzMgxiYWxsb3RfdGFsbHkAAgZvcHRpb24GdWludDMyBndlaWdodAZ1aW50NjQPYmFsbG90cGlja3Nfcm93AAIHYWNjb3VudARuYW1lBXBpY2tzCHVpbnQzMltdEGJhbGxvdHNldHRsZV9yb3cABgliYWxsb3RfaWQGdWludDY0BXJvdW5kBnVpbnQzMgZjdXJzb3IGdWludDY0DHRhcmdldF9lcG9jaAZ1aW50MzIHdGFsbGllcw5iYWxsb3RfdGFsbHlbXQZzZWF0ZWQIdWludDMyW10FYmxlbmQAAgJpZAZ1aW50NjQGaW5wdXRzDGNhcmdvX2l0ZW1bXQpibGVuZGRlcG90AAMIZGVwb3RfaWQGdWludDY0BW93bmVyBG5hbWUGaW5wdXRzDGNhcmdvX2l0ZW1bXQxidWlsZGVyX2xhbmUABApzbG90X2luZGV4BXVpbnQ4BXNwZWVkBnVpbnQxNgVkcmFpbgZ1aW50MzIKb3V0cHV0X3BjdAZ1aW50MTYNYnVpbGRpbmdzX3JvdwACCWVudGl0eV9pZAZ1aW50NjQIYnVpbGRpbmcFdWludDgIYnVpbGRqb2IABAl0YXJnZXRfaWQGdWludDY0B2RvY2tfaWQGdWludDY0DnRhcmdldF9pdGVtX2lkBnVpbnQxNgZpbnB1dHMMY2FyZ29faXRlbVtdDGJ1aWxkam9iX3JvdwAMAmlkBnVpbnQ2NAhidWlsZGluZwZ1aW50NjQGc29ja2V0BXVpbnQ4BnRhcmdldAZ1aW50NjQFb3duZXIEbmFtZQZjb29yZHMLY29vcmRpbmF0ZXMJc3RhcnRzX2F0CnRpbWVfcG9pbnQMY29tcGxldGVzX2F0CnRpbWVfcG9pbnQOdGFyZ2V0X2l0ZW1faWQGdWludDE2BWNhcmdvDGNhcmdvX2l0ZW1bXQlkZXBvc2l0ZWQEYm9vbAphcnJpdmVzX2F0CnRpbWVfcG9pbnQQYnVpbGRqb2JzX3Jlc3VsdAABBGpvYnMOYnVpbGRqb2Jfcm93W10JYnVpbGRwbG90AAIKYnVpbGRlcl9pZAZ1aW50NjQHcGxvdF9pZAZ1aW50NjQGY2FuY2VsAAMCaWQGdWludDY0CGxhbmVfa2V5BXVpbnQ4BWNvdW50BnVpbnQ2NA5jYW5jZWxfcmVzdWx0cwAGCWVudGl0eV9pZAZ1aW50NjQLZW50aXR5X3R5cGUEbmFtZQ9jYW5jZWxsZWRfY291bnQFdWludDgQc2NoZWR1bGVfc3RhcnRlZAt0aW1lX3BvaW50PwtlbnRpdHlncm91cAd1aW50NjQ/DWdyb3VwX21lbWJlcnMWQl92ZWN0b3JfZW50aXR5X3JlZl9FPwtjYW5jZWxidWlsZAABBmpvYl9pZAZ1aW50NjQLY2FuY2VsY2l2aWMAAwhidWlsZGluZwZ1aW50NjQIbGFuZV9rZXkFdWludDgHZnJvbV9pZAZ1aW50NjQLY2FuY2VsY3JhZnQAAQZqb2JfaWQGdWludDY0CmNhcmdvX2l0ZW0ABQdpdGVtX2lkBnVpbnQxNgVzdGF0cwZ1aW50NjQHbW9kdWxlcw5tb2R1bGVfZW50cnlbXQhxdWFudGl0eQZ1aW50MzIJZW50aXR5X2lkB3VpbnQ2ND8JY2FyZ29fcmVmAAQHaXRlbV9pZAZ1aW50MTYFc3RhdHMGdWludDY0B21vZHVsZXMObW9kdWxlX2VudHJ5W10JZW50aXR5X2lkB3VpbnQ2ND8JY2FyZ29fcm93AAcCaWQGdWludDY0CWVudGl0eV9pZAZ1aW50NjQHaXRlbV9pZAZ1aW50NjQIcXVhbnRpdHkGdWludDY0BXN0YXRzBnVpbnQ2NAdtb2R1bGVzDm1vZHVsZV9lbnRyeVtdC3NlcXVlbmNlX2lkB3VpbnQ2ND8KY2FyZ29fdmlldwAGB2l0ZW1faWQGdWludDE2BXN0YXRzBnVpbnQ2NAdtb2R1bGVzDm1vZHVsZV9lbnRyeVtdCHF1YW50aXR5BnVpbnQzMgJpZAZ1aW50NjQJZW50aXR5X2lkB3VpbnQ2ND8KY2FzdGJhbGxvdAADBnBsYXllcgRuYW1lCWJhbGxvdF9pZAZ1aW50NjQFcGlja3MIdWludDMyW10QY2hhcnRlcl9ub2RlX2RlZgAGB25vZGVfaWQGdWludDMyBGNvc3QGdWludDY0B3ByZXJlcXMIdWludDMyW10GZ3JhbnRzDWNpdmljX2dyYW50W10PZXhjbHVzaW9uX2dyb3VwBnVpbnQxNgpyZXBlYXRfY2FwBXVpbnQ4EmNoYXJ0ZXJfcmVhZHlfdmlldwADAXgFaW50NjQBeQVpbnQ2NAdtYW5kYXRlBnVpbnQzMg5jaGFydGVyX3Jlc3VsdAAOC2xvY2F0aW9uX2lkBnVpbnQ2NAhsaWZldGltZQZ1aW50NjQFc3BlbnQGdWludDY0CnVuYXNzaWduZWQGdWludDY0B21hbmRhdGUGdWludDMyCW5leHRfY29zdAZ1aW50NjQLcHJlcmVxc19tZXQEYm9vbAlidWlsZGFibGUEYm9vbAVlcG9jaAZ1aW50MzIFYnVpbHQOY2hhcnRlcl92aWV3W10JYmFsbG90X2lkBnVpbnQ2NAhzZXR0bGluZwRib29sBXF1ZXVlC3NlYXRfdmlld1tdCHByb2dyZXNzD3Byb2dyZXNzX3ZpZXdbXRNjaGFydGVyX3RyZWVfcmVzdWx0AAEFbm9kZXMSY2hhcnRlcl9ub2RlX2RlZltdDGNoYXJ0ZXJfdmlldwACB25vZGVfaWQGdWludDMyB3JlcGVhdHMGdWludDE2DGNoYXJ0ZXJyZWFkeQACAXgFaW50NjQBeQVpbnQ2NBNjaGFydGVycmVhZHlfcmVzdWx0AAEGd29ybGRzFGNoYXJ0ZXJfcmVhZHlfdmlld1tdD2NpdGl6ZW5zaGlwX3JvdwAEC2xvY2F0aW9uX2lkBnVpbnQ2NAhsaWZldGltZQZ1aW50NjQGYWN0aXZlBnVpbnQ2NAxhY3RpdmVfZXBvY2gGdWludDMyC2NpdmljX2dyYW50AAQEa2luZAV1aW50OAhidWlsZGluZwV1aW50OARzdGF0BXVpbnQ4BXZhbHVlBnVpbnQxNg9jaXZpY2NvbmZpZ19yb3cAAQtjaXZpY19vd25lcgRuYW1lDGNpdmljc2h1dHRsZQAECGJ1aWxkaW5nBnVpbnQ2NAdmcm9tX2lkBnVpbnQ2NAV0b19pZAZ1aW50NjQFaXRlbXMMY2FyZ29faXRlbVtdCWNsYWltX3JvdwABBW93bmVyBG5hbWUKY2xhaW1idWlsZAABBmpvYl9pZAZ1aW50NjQKY2xhaW1jcmFmdAACBmpvYl9pZAZ1aW50NjQHc2hpcF9pZAZ1aW50NjQJY2xhaW1wbG90AAMKYnVpbGRlcl9pZAZ1aW50NjQOdGFyZ2V0X2l0ZW1faWQGdWludDE2BHNsb3QMY2x1c3Rlcl9zbG90DGNsYWltc3RhcnRlcgABBW93bmVyBG5hbWUJY2xlYW5yc3ZwAAIFZXBvY2gGdWludDY0CG1heF9yb3dzBnVpbnQ2NApjbGVhcnRhYmxlAAMKdGFibGVfbmFtZQRuYW1lBXNjb3BlBW5hbWU/CG1heF9yb3dzB3VpbnQ2ND8KY2xvc2VlcG9jaAABBWVwb2NoBnVpbnQ2NAxjbHVzdGVyX2NlbGwAAwJneARpbnQ4Amd5BGludDgGZW50aXR5BnVpbnQ2NAtjbHVzdGVyX3JvdwACBHJvb3QGdWludDY0BWNlbGxzDmNsdXN0ZXJfY2VsbFtdDGNsdXN0ZXJfc2xvdAADA2h1YgZ1aW50NjQCZ3gEaW50OAJneQRpbnQ4DmNsdXN0ZXJfc291cmNlAAIJc291cmNlX2lkBnVpbnQ2NAVpdGVtcwxjYXJnb19pdGVtW10MY2x1c3RlcmNyYWZ0AAYCaWQGdWludDY0CXJlY2lwZV9pZAZ1aW50MTYIcXVhbnRpdHkGdWludDMyB3NvdXJjZXMQY2x1c3Rlcl9zb3VyY2VbXQZ0YXJnZXQHdWludDY0PwRzbG90BnVpbnQ4PwZjb21taXQAAwlvcmFjbGVfaWQEbmFtZQVlcG9jaAZ1aW50NjQGY29tbWl0C2NoZWNrc3VtMjU2CmNvbW1pdF9yb3cABAJpZAZ1aW50NjQFZXBvY2gGdWludDY0CW9yYWNsZV9pZARuYW1lBmNvbW1pdAtjaGVja3N1bTI1Ngljb25maWdsb2cAAQZjb25maWcLZ2FtZV9jb25maWcLY29vcmRpbmF0ZXMAAwF4BWludDY0AXkFaW50NjQBegd1aW50MTY/CGNvdXBsaW5nAAMLY291bnRlcnBhcnQKZW50aXR5X3JlZgRob2xkBnVpbnQ2NARraW5kBXVpbnQ4BWNyYWZ0AAYCaWQGdWludDY0CXJlY2lwZV9pZAZ1aW50MTYIcXVhbnRpdHkGdWludDMyBmlucHV0cwxjYXJnb19pdGVtW10GdGFyZ2V0B3VpbnQ2ND8Ec2xvdAZ1aW50OD8MY3JhZnRlcl9sYW5lAAQKc2xvdF9pbmRleAV1aW50OAVzcGVlZAZ1aW50MTYFZHJhaW4GdWludDMyCm91dHB1dF9wY3QGdWludDE2CGNyYWZ0am9iAAUHc2hpcF9pZAZ1aW50NjQLd29ya3Nob3BfaWQGdWludDY0CXJlY2lwZV9pZAZ1aW50MTYIcXVhbnRpdHkGdWludDMyBmlucHV0cwxjYXJnb19pdGVtW10MY3JhZnRqb2Jfcm93AA4CaWQGdWludDY0CGJ1aWxkaW5nBnVpbnQ2NAZzb2NrZXQFdWludDgFb3duZXIEbmFtZQdzaGlwX2lkBnVpbnQ2NAZjb29yZHMLY29vcmRpbmF0ZXMJc3RhcnRzX2F0CnRpbWVfcG9pbnQMY29tcGxldGVzX2F0CnRpbWVfcG9pbnQJcmVjaXBlX2lkBnVpbnQxNghxdWFudGl0eQZ1aW50MzILZW5lcmd5X3BhaWQGdWludDMyBWNhcmdvDGNhcmdvX2l0ZW1bXQlkZXBvc2l0ZWQEYm9vbAphcnJpdmVzX2F0CnRpbWVfcG9pbnQQY3JhZnRqb2JzX3Jlc3VsdAABBGpvYnMOY3JhZnRqb2Jfcm93W10JZGJnY3JlZGl0AAUFb3duZXIEbmFtZQF4BWludDY0AXkFaW50NjQNYW1vdW50X2F0b21pYwZ1aW50NjQEbm9kZQd1aW50MzI/B2RiZ2pvYnMAAgZjcmFmdHMOY3JhZnRqb2Jfcm93W10GYnVpbGRzDmJ1aWxkam9iX3Jvd1tdCmRiZ21hbmRhdGUAAwF4BWludDY0AXkFaW50NjQHbm9kZV9pZAZ1aW50MzILZGJncGFnZXJvd3MAAQRyb3dzBnVpbnQzMgdkYmdwaWNrAAQHc29ja2V0cxJzb2NrZXRfY2FuZGlkYXRlW10CaWQGdWludDY0B2Fycml2YWwKdGltZV9wb2ludANjYXAGdWludDE2CGRiZ3BsYWNlAAQHd2luZG93cxFyZXNlcnZlZF93aW5kb3dbXQJpZAZ1aW50NjQHYXJyaXZhbAp0aW1lX3BvaW50CGR1cmF0aW9uBnVpbnQzMghkYmdwdXJnZQACCnRhYmxlX25hbWUEbmFtZQVzY29wZQVuYW1lPwlkYmdyZXBhY2sAAwd3aW5kb3dzEXJlc2VydmVkX3dpbmRvd1tdDGNhbmNlbGxlZF9pZAZ1aW50NjQDbm93CnRpbWVfcG9pbnQIZGJnc2VhdHMAAwF4BWludDY0AXkFaW50NjQFc2VhdHMGdWludDMyDWRlY29tcF9idWNrZXQAAwhjYXRlZ29yeQV1aW50OAR0aWVyBXVpbnQ4CHJhd19tYXNzBnVpbnQzMg1kZWNvbXBfcmVzdWx0AAMHaXRlbV9pZAZ1aW50MTYOcHJvY2Vzc2VkX21hc3MGdWludDY0B2J1Y2tldHMPZGVjb21wX2J1Y2tldFtdCWRlbGVudGl0eQABCWVudGl0eV9pZAZ1aW50NjQNZGVtYW5kX3Jlc3VsdAAFDWFidW5kYW50X21hc2sFdWludDgMbGFja2luZ19tYXNrBXVpbnQ4BWFjdXRlBXVpbnQ4B25lZWRfZnAIdWludDY0W10FZXBvY2gGdWludDMyCGRlbW9saXNoAAEJZW50aXR5X2lkBnVpbnQ2NAZkZXBsb3kAAwJpZAZ1aW50NjQDcmVmCWNhcmdvX3JlZgRzbG90DWNsdXN0ZXJfc2xvdD8KZGVwb3RfdmlldwAECnBsYXllcl9jYXAGdWludDY0C3N0b3JlZF9tYXNzBnVpbnQ2NA1yZXNlcnZlZF9tYXNzBnVpbnQ2NARyb3dzDXN0b3JhZ2Vfcm93W10KZGVwb3RzdG9yZQADB3NoaXBfaWQGdWludDY0CGRlcG90X2lkBnVpbnQ2NAVpdGVtcwxjYXJnb19pdGVtW10JZGVwb3R0YWtlAAMHc2hpcF9pZAZ1aW50NjQIZGVwb3RfaWQGdWludDY0BWl0ZW1zDGNhcmdvX2l0ZW1bXQpkZXNjZW50aXR5AAQHaXRlbV9pZAZ1aW50MTYKaHVsbF9zdGF0cwZ1aW50NjQMbW9kdWxlX2l0ZW1zCHVpbnQxNltdDG1vZHVsZV9zdGF0cwh1aW50NjRbXQZlbmFibGUAAQdlbmFibGVkBGJvb2wMZW5lcmd5X3N0YXRzAAIIY2FwYWNpdHkGdWludDMyCHJlY2hhcmdlBnVpbnQzMhRlbnRpdHlfY3VycmVudF9zdGF0ZQACC2Nvb3JkaW5hdGVzC2Nvb3JkaW5hdGVzBmVuZXJneQZ1aW50MzIPZW50aXR5X2RlZmF1bHRzAAILd2FyZWhvdXNlX3oGdWludDE2C2NvbnRhaW5lcl96BnVpbnQxNgtlbnRpdHlfaW5mbwAYBHR5cGUEbmFtZQJpZAZ1aW50NjQFb3duZXIEbmFtZQtlbnRpdHlfbmFtZQZzdHJpbmcLY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMHaXRlbV9pZAZ1aW50MTYJY2FyZ29tYXNzBnVpbnQzMgVjYXJnbwxjYXJnb192aWV3W10HbW9kdWxlcw5tb2R1bGVfZW50cnlbXQZlbmVyZ3kHdWludDMyPwhodWxsbWFzcwd1aW50MzI/CGNhcGFjaXR5B3VpbnQzMj8HZW5naW5lcw9tb3ZlbWVudF9zdGF0cz8Ed2FycAt3YXJwX3N0YXRzPwlnZW5lcmF0b3INZW5lcmd5X3N0YXRzPwZoYXVsZXINaGF1bGVyX3N0YXRzPw5nYXRoZXJlcl9sYW5lcw9nYXRoZXJlcl9sYW5lW10NY3JhZnRlcl9sYW5lcw5jcmFmdGVyX2xhbmVbXQ1idWlsZGVyX2xhbmVzDmJ1aWxkZXJfbGFuZVtdDGxvYWRlcl9sYW5lcw1sb2FkZXJfbGFuZVtdCGxhdW5jaGVyD2xhdW5jaGVyX3N0YXRzPwVsYW5lcwZsYW5lW10FaG9sZHMGaG9sZFtdDHByb2plY3RlZF9hdAp0aW1lX3BvaW50DWVudGl0eV9sYXlvdXQAAw5lbnRpdHlfaXRlbV9pZAZ1aW50MTYFc2xvdHMKc2xvdF9kZWZbXQ1iYXNlX2h1bGxtYXNzBnVpbnQzMhVlbnRpdHlfbGF5b3V0c19yZXN1bHQAAQhlbnRpdGllcw9lbnRpdHlfbGF5b3V0W10KZW50aXR5X3JlZgACC2VudGl0eV90eXBlBG5hbWUJZW50aXR5X2lkBnVpbnQ2NAplbnRpdHlfcm93AAwCaWQGdWludDY0BW93bmVyBG5hbWUEa2luZARuYW1lB2l0ZW1faWQGdWludDE2BG5hbWUGc3RyaW5nBXN0YXRzBnVpbnQ2NAtjb29yZGluYXRlcwtjb29yZGluYXRlcwZlbmVyZ3kHdWludDMyPwljYXJnb21hc3MGdWludDMyB21vZHVsZXMObW9kdWxlX2VudHJ5W10FbGFuZXMGbGFuZVtdBWhvbGRzBmhvbGRbXQ5lbnRpdHlfc2VxX3JvdwABB25leHRfaWQGdWludDY0DmVudGl0eV9zdW1tYXJ5AAgEdHlwZQRuYW1lAmlkBnVpbnQ2NAVvd25lcgRuYW1lC2VudGl0eV9uYW1lBnN0cmluZwtjb29yZGluYXRlcwtjb29yZGluYXRlcwdpc19pZGxlBGJvb2wOcmVzb2x2ZWRfY291bnQGdWludDMyDXBlbmRpbmdfY291bnQGdWludDMyEGVudGl0eV90YXNrX2luZm8ABAllbnRpdHlfaWQGdWludDY0C2VudGl0eV90eXBlBG5hbWUKdGFza19jb3VudAZ1aW50MzIQc2NoZWR1bGVfc3RhcnRlZAp0aW1lX3BvaW50D2VudGl0eWdyb3VwX3JvdwACAmlkBnVpbnQ2NAxwYXJ0aWNpcGFudHMMZW50aXR5X3JlZltdC2VudW1fbWVtYmVyAAIFdmFsdWUFdWludDgEbmFtZQZzdHJpbmcLZW51bV9yZXN1bHQAAQdtZW1iZXJzDWVudW1fbWVtYmVyW10JZXBvY2hfcm93AAQFZXBvY2gGdWludDY0Cm9yYWNsZV9pZHMGbmFtZVtdCXRocmVzaG9sZAV1aW50OARzZWVkC2NoZWNrc3VtMjU2DGZpeGNhcmdvbWFzcwABCWVudGl0eV9pZAZ1aW50NjQIZml4aHViaWQAAApmaXhpdGVtaWRzAAAQZm9vdHByaW50X3Jlc3VsdAABBWNlbGxzC2dyaWRfY2VsbFtdC2ZvcmNlcmV2ZWFsAAEFZXBvY2gGdWludDY0BWZvdW5kAAQGcGxheWVyBG5hbWUJZW50aXR5X2lkBnVpbnQ2NAF4BWludDY0AXkFaW50NjQLZ2FtZV9jb25maWcAAwd2ZXJzaW9uBnVpbnQzMghkZWZhdWx0cw9lbnRpdHlfZGVmYXVsdHMFaXRlbXMKaXRlbV9kZWZbXQZnYXRoZXIABQlzb3VyY2VfaWQGdWludDY0DmRlc3RpbmF0aW9uX2lkBnVpbnQ2NAdzdHJhdHVtBnVpbnQxNghxdWFudGl0eQZ1aW50MzIEc2xvdAZ1aW50OD8NZ2F0aGVyZXJfbGFuZQAFCnNsb3RfaW5kZXgFdWludDgFeWllbGQGdWludDE2BWRyYWluBnVpbnQzMgVkZXB0aAZ1aW50MTYKb3V0cHV0X3BjdAZ1aW50MTYKZ2F0aGVycGxhbgAGCXNvdXJjZV9pZAZ1aW50NjQOZGVzdGluYXRpb25faWQGdWludDY0B3N0cmF0dW0GdWludDE2CHF1YW50aXR5BnVpbnQzMghyZWNoYXJnZQRib29sBXNsb3RzBWJ5dGVzDGdlbmVzaXNmbGVldAABCGVudGl0aWVzDGVudGl0eV9yb3dbXQxnZW5lc2lzd29ybGQABAdmb3VuZGVyBG5hbWUBeAVpbnQ2NAF5BWludDY0CG5vZGVfaWRzCHVpbnQzMltdDGdldGJ1aWxkam9icwABC2J1aWxkaW5nX2lkBnVpbnQ2NApnZXRjaGFydGVyAAIBeAVpbnQ2NAF5BWludDY0DGdldGNoYXJ0dHJlZQAADGdldGNocnRyZWFkeQAACmdldGNsdXN0ZXIAAQZodWJfaWQGdWludDY0CWdldGNvbmZpZwAADGdldGNyYWZ0am9icwABC2J1aWxkaW5nX2lkBnVpbnQ2NAlnZXRkZWNvbXAAAQdpdGVtX2lkBnVpbnQxNglnZXRkZW1hbmQAAgF4BWludDY0AXkFaW50NjQKZ2V0ZGVwb3NpdAACBW93bmVyBG5hbWUIYXNzZXRfaWQGdWludDY0CGdldGRlcG90AAIIZGVwb3RfaWQGdWludDY0BW93bmVyBG5hbWULZ2V0ZGlzdGFuY2UABAJheAVpbnQ2NAJheQVpbnQ2NAJieAVpbnQ2NAJieQVpbnQ2NAtnZXRlbGlnaWJsZQACBmNvb3Jkcwtjb29yZGluYXRlcwdzdHJhdHVtBnVpbnQxNglnZXRlbnRjbHMAAAtnZXRlbnRpdGllcwACBW93bmVyBG5hbWULZW50aXR5X3R5cGUFbmFtZT8JZ2V0ZW50aXR5AAEJZW50aXR5X2lkBnVpbnQ2NAxnZXRmb290cHJpbnQAAQdpdGVtX2lkBnVpbnQxNgtnZXRpbmZkZWNheQACBmFjdGl2ZQZ1aW50NjQGZXBvY2hzBnVpbnQzMgxnZXRpbmZsdWVuY2UAAwVvd25lcgRuYW1lAXgFaW50NjQBeQVpbnQ2NAtnZXRpbmZ2YWx1ZQADBWl0ZW1zDGNhcmdvX2l0ZW1bXQF4BWludDY0AXkFaW50NjQLZ2V0aXRlbWRhdGEAAApnZXRpdGVtaWRzAAAIZ2V0aXRlbXMAAAtnZXRpdGVtdHlwZQABB2l0ZW1faWQGdWludDE2DGdldGl0ZW10eXBlcwAAC2dldGtpbmRtZXRhAAALZ2V0bG9jYXRpb24AAgF4BWludDY0AXkFaW50NjQKZ2V0bG9jZGF0YQACAXgFaW50NjQBeQVpbnQ2NApnZXRtaW50Y2ZnAAAMZ2V0bWludHJlYWR5AAALZ2V0bW9kdHlwZXMAAApnZXRtb2R1bGVzAAAJZ2V0bmVhcmJ5AAIJZW50aXR5X2lkBnVpbnQ2NAhyZWNoYXJnZQRib29sCmdldG5mdGJhc2UAAApnZXRuZnRpbmZvAAAJZ2V0cGxheWVyAAEHYWNjb3VudARuYW1lB2dldHBvb2wAAghjYXRlZ29yeQV1aW50OAR0aWVyBXVpbnQ4CGdldHBvb2xzAAAMZ2V0cHJvanN0YXRlAAIJZW50aXR5X2lkBnVpbnQ2NAp0YXNrX2NvdW50BnVpbnQ4PwlnZXRyZWNpcGUAAQ5vdXRwdXRfaXRlbV9pZAZ1aW50MTYKZ2V0cmVjaXBlcwACC2xvd2VyX2JvdW5kBnVpbnQxNgVsaW1pdAV1aW50OApnZXRyZXNjYXRzAAALZ2V0cmVzZXJ2ZXMAAgF4BWludDY0AXkFaW50NjQMZ2V0cmVzb3VyY2VzAAAIZ2V0c2xvdHMAAApnZXRzdHJhdHVtAAMBeAVpbnQ2NAF5BWludDY0B3N0cmF0dW0GdWludDE2DGdldHN1bW1hcmllcwACBW93bmVyBG5hbWULZW50aXR5X3R5cGUFbmFtZT8MZ2V0dm90ZXJlYWR5AAAIZ2V0dm90ZXMAAwF4BWludDY0AXkFaW50NjQGcGxheWVyBG5hbWULZ2V0d29ybWhvbGUAAgF4BWludDY0AXkFaW50NjQJZ3JpZF9jZWxsAAICZ3gEaW50OAJneQRpbnQ4DGdyb3VwdHJhbnNpdAAFCGVudGl0aWVzDGVudGl0eV9yZWZbXQJheAVpbnQ2NAJheQVpbnQ2NAJieAVpbnQ2NAJieQVpbnQ2NAtncm91cHRyYXZlbAAECGVudGl0aWVzDGVudGl0eV9yZWZbXQF4BWludDY0AXkFaW50NjQIcmVjaGFyZ2UEYm9vbARoYXNoAAEFdmFsdWUGc3RyaW5nB2hhc2g1MTIAAQV2YWx1ZQZzdHJpbmcMaGF1bGVyX3N0YXRzAAQIY2FwYWNpdHkFdWludDgKZWZmaWNpZW5jeQZ1aW50MTYFZHJhaW4GdWludDMyEGNhcGFjaXR5X2J5X3RpZXIRaGF1bGVyX3RpZXJfY2FwW10PaGF1bGVyX3RpZXJfY2FwAAIEdGllcgV1aW50OAhjYXBhY2l0eQV1aW50OARob2xkAAUCaWQGdWludDY0BGtpbmQFdWludDgLY291bnRlcnBhcnQKZW50aXR5X3JlZgV1bnRpbAp0aW1lX3BvaW50DWluY29taW5nX21hc3MGdWludDMyC2ltcG9ydGNhcmdvAAEDcm93CWNhcmdvX3JvdwppbXBvcnRjZWxsAAQEcm9vdAZ1aW50NjQCZ3gEaW50OAJneQRpbnQ4CWVudGl0eV9pZAZ1aW50NjQMaW1wb3J0ZW50aXR5AAEDcm93CmVudGl0eV9yb3cLaW1wb3J0ZXBvY2gAAQNyb3cJZXBvY2hfcm93C2ltcG9ydGdyb3VwAAEDcm93D2VudGl0eWdyb3VwX3JvdwxpbXBvcnRsb2NrZXIAAgVvd25lcgRuYW1lA3Jvdwpsb2NrZXJfcm93DGltcG9ydG5mdGNmZwABA3Jvdw1uZnRjb25maWdfcm93DGltcG9ydHBsYXllcgABBW93bmVyBG5hbWUNaW1wb3J0cmVzZXJ2ZQACC2Vwb2NoX3Njb3BlBnVpbnQzMgNyb3cLcmVzZXJ2ZV9yb3cLaW1wb3J0c3RhdGUAAQNyb3cJc3RhdGVfcm93DWltcG9ydHN0b3JhZ2UAAghkZXBvdF9pZAZ1aW50NjQDcm93C3N0b3JhZ2Vfcm93C2luZmJ1cm5fcm93AAEDYnBzBnVpbnQxNg1pbmZkZW1hbmRfcm93AAMEcGVhawZ1aW50NjQEYmFzZQZ1aW50NjQFZmxvb3IGdWludDY0EGluZmx1ZW5jZV90b3RhbHMACxFzdGFuZGluZ19saWZldGltZQZ1aW50NjQPc3RhbmRpbmdfYWN0aXZlBnVpbnQ2NBRjaXRpemVuc2hpcF9saWZldGltZQZ1aW50NjQSY2l0aXplbnNoaXBfYWN0aXZlBnVpbnQ2NBFsb2NhdGlvbl9saWZldGltZQZ1aW50NjQPbG9jYXRpb25fYWN0aXZlBnVpbnQ2NAVzcGVudAZ1aW50NjQHbWFuZGF0ZQZ1aW50MzIHZm91bmRlcgRuYW1lB2ZvdW5kZWQGdWludDMyBWVwb2NoBnVpbnQzMgtpbmZtaW50X3JvdwADCGNhdGVnb3J5BXVpbnQ4BHRpZXIFdWludDgJdGhyZXNob2xkBnVpbnQ2NAtpbmZwb29sX3JvdwAGCGNhdGVnb3J5BXVpbnQ4BHRpZXIFdWludDgFZ3JhZGUFdWludDgIcXVhbnRpdHkGdWludDY0BXN0YXRzBnVpbnQ2NANiYXIGdWludDY0DmluZnF1YWxpdHlfcm93AAECZDEGdWludDMyD2luZnZhbHVlX3Jlc3VsdAACDHRvdGFsX2F0b21pYwZ1aW50NjQPcGVyX2l0ZW1fYXRvbWljCHVpbnQ2NFtdDWluZndlaWdodF9yb3cAAwhjYXRlZ29yeQV1aW50OAR0aWVyBXVpbnQ4CXdlaWdodF9mcAZ1aW50NjQIaXRlbV9kZWYABQJpZAZ1aW50MTYEbWFzcwZ1aW50MzIEdHlwZQV1aW50OAdzdWJ0eXBlBXVpbnQ4BHRpZXIFdWludDgMaXRlbV9pZF9wYWlyAAICaWQGdWludDE2BG5hbWUGc3RyaW5nD2l0ZW1faWRzX3Jlc3VsdAABBWl0ZW1zDml0ZW1faWRfcGFpcltdD2l0ZW1kYXRhX3Jlc3VsdAACBWl0ZW1zCml0ZW1fZGVmW10HcmVjaXBlcw5yZWNpcGVzX3Jlc3VsdAppdGVtc19pbmZvAAEFaXRlbXMKaXRlbV9kZWZbXQRqb2luAAEHYWNjb3VudARuYW1lEGtpbmRfbWV0YV9yZXN1bHQAAgVraW5kcw9raW5kX21ldGFfcm93W10JdGVtcGxhdGVzE3RlbXBsYXRlX21ldGFfcm93W10Na2luZF9tZXRhX3JvdwAFBGtpbmQEbmFtZQ5jbGFzc2lmaWNhdGlvbgV1aW50OBBjYXBhYmlsaXR5X2ZsYWdzBXVpbnQ4B3pfY29vcmQGdWludDMyDWRlZmF1bHRfbGFiZWwGc3RyaW5nBGxhbmUAAghsYW5lX2tleQV1aW50OAhzY2hlZHVsZQhzY2hlZHVsZQZsYXVuY2gAAwtsYXVuY2hlcl9pZAZ1aW50NjQKY2F0Y2hlcl9pZAZ1aW50NjQFaXRlbXMMY2FyZ29faXRlbVtdDmxhdW5jaGVyX3N0YXRzAAMLY2hhcmdlX3JhdGUGdWludDE2CHZlbG9jaXR5BnVpbnQxNgVkcmFpbgZ1aW50MTYEbG9hZAADAmlkBnVpbnQ2NAdmcm9tX2lkBnVpbnQ2NAVpdGVtcwxjYXJnb19pdGVtW10LbG9hZGVyX2xhbmUABApzbG90X2luZGV4BXVpbnQ4BG1hc3MGdWludDMyBnRocnVzdAZ1aW50MTYKb3V0cHV0X3BjdAZ1aW50MTYQbG9jYXRpb25fZGVyaXZlZAACDHN0YXRpY19wcm9wcw9sb2NhdGlvbl9zdGF0aWMEc2l6ZQZ1aW50MTYNbG9jYXRpb25faW5mbwADBmNvb3Jkcwtjb29yZGluYXRlcwlpc19zeXN0ZW0EYm9vbAtpc193b3JtaG9sZQRib29sD2xvY2F0aW9uX3N0YXRpYwAFBmNvb3Jkcwtjb29yZGluYXRlcwR0eXBlDWxvY2F0aW9uX3R5cGUHc3VidHlwZQV1aW50OAVzZWVkMAV1aW50OAVzZWVkMQV1aW50OApsb2NrZXJfcm93AAMIZGVwb3RfaWQGdWludDY0C3N0b3JlZF9tYXNzBnVpbnQ2NA1yZXNlcnZlZF9tYXNzBnVpbnQ2NAxtYW5kYXRlc19yb3cAAgdub2RlX2lkBnVpbnQzMgdyZXBlYXRzBnVpbnQxNhNtaW50X3RocmVzaG9sZF92aWV3AAMIY2F0ZWdvcnkFdWludDgEdGllcgV1aW50OAl0aHJlc2hvbGQGdWludDY0Dm1pbnRjZmdfcmVzdWx0AAIKdGhyZXNob2xkcxVtaW50X3RocmVzaG9sZF92aWV3W10IYnVybl9icHMGdWludDE2CW1pbnRxX3JvdwACAmlkBnVpbnQ2NAVncmFkZQV1aW50OAltaW50cmVhZHkAAQltYXhfbWludHMHdWludDMyPwxtb2R1bGVfZW50cnkAAgR0eXBlBXVpbnQ4CWluc3RhbGxlZA5wYWNrZWRfbW9kdWxlPwttb2R1bGVfaW5mbwAEAmlkBnVpbnQxNgRtYXNzBnVpbnQzMgttb2R1bGVfdHlwZQV1aW50OAR0aWVyBXVpbnQ4Dm1vZHVsZXNfcmVzdWx0AAEHbW9kdWxlcw1tb2R1bGVfaW5mb1tdDm1vdmVtZW50X3N0YXRzAAIGdGhydXN0BnVpbnQzMgVkcmFpbgZ1aW50MzIIbW92ZXRpbGUABQZodWJfaWQGdWludDY0B2Zyb21fZ3gEaW50OAdmcm9tX2d5BGludDgFdG9fZ3gEaW50OAV0b19neQRpbnQ4Cm5hdHVyYWxpemUAAwZwbGF5ZXIEbmFtZQF4BWludDY0AXkFaW50NjQLbmVhcmJ5X2luZm8ABQpjYW5fdHJhdmVsBGJvb2wHY3VycmVudBRlbnRpdHlfY3VycmVudF9zdGF0ZQlwcm9qZWN0ZWQUZW50aXR5X2N1cnJlbnRfc3RhdGUKbWF4X2VuZXJneQZ1aW50MzIHc3lzdGVtcw9uZWFyYnlfc3lzdGVtW10NbmVhcmJ5X3N5c3RlbQAECGRpc3RhbmNlBnVpbnQ2NAtlbmVyZ3lfY29zdAZ1aW50NjQLZmxpZ2h0X3RpbWUGdWludDMyCGxvY2F0aW9uDWxvY2F0aW9uX2luZm8ObmZ0X2NhcmdvX2l0ZW0ABAdpdGVtX2lkBnVpbnQxNgVzdGF0cwZ1aW50NjQHbW9kdWxlcw5tb2R1bGVfZW50cnlbXQhxdWFudGl0eQZ1aW50MzIQbmZ0X2l0ZW1fcGF5bG9hZAACBGl0ZW0ObmZ0X2NhcmdvX2l0ZW0IbG9jYXRpb24MY29vcmRpbmF0ZXM/Dm5mdF9zY2hlbWFfZGVmAAILc2NoZW1hX25hbWUEbmFtZQZmaWVsZHMOc2NoZW1hX2ZpZWxkW10QbmZ0X3RlbXBsYXRlX2RlZgADB2l0ZW1faWQGdWludDE2C3NjaGVtYV9uYW1lBG5hbWULdGVtcGxhdGVfaWQFaW50MzINbmZ0Y29uZmlnX3JvdwADB2l0ZW1faWQGdWludDE2C3RlbXBsYXRlX2lkBWludDMyC3NjaGVtYV9uYW1lBG5hbWUJbmZ0aW1ndXJsAAIEaXRlbQpjYXJnb19pdGVtCGxvY2F0aW9uDGNvb3JkaW5hdGVzPw5uZnRpbmZvX3Jlc3VsdAACB3NjaGVtYXMQbmZ0X3NjaGVtYV9kZWZbXQl0ZW1wbGF0ZXMSbmZ0X3RlbXBsYXRlX2RlZltdBm5vdGlmeQABBWV2ZW50CnRhc2tfZXZlbnQRb3JhY2xlX2NvbmZpZ19yb3cAAgl0aHJlc2hvbGQFdWludDgIZGVhZGxpbmUGdWludDMyCm9yYWNsZV9yb3cAAQJpZARuYW1lDXBhY2tlZF9tb2R1bGUAAgdpdGVtX2lkBnVpbnQxNgVzdGF0cwZ1aW50NjQKcGxhY2VjYXJnbwADBW93bmVyBG5hbWUHaG9zdF9pZAZ1aW50NjQIYXNzZXRfaWQGdWludDY0C3BsYWNlZW50aXR5AAMFb3duZXIEbmFtZQhhc3NldF9pZAZ1aW50NjQPdGFyZ2V0X25leHVzX2lkBnVpbnQ2NAtwbGF5ZXJfaW5mbwADBW93bmVyBG5hbWUJaXNfcGxheWVyBGJvb2wMY29tcGFueV9uYW1lBnN0cmluZwpwbGF5ZXJfcm93AAEFb3duZXIEbmFtZRBwb29sX3BhaXJfcmVzdWx0AAkIY2F0ZWdvcnkFdWludDgEdGllcgV1aW50OAdpdGVtX2lkBnVpbnQxNhFzdGFuZGFyZF9xdWFudGl0eQZ1aW50NjQOc3RhbmRhcmRfc3RhdHMGdWludDY0EHByZW1pdW1fcXVhbnRpdHkGdWludDY0DXByZW1pdW1fc3RhdHMGdWludDY0A2JhcgZ1aW50NjQJdGhyZXNob2xkBnVpbnQ2NAlwb29sX3ZpZXcABwhjYXRlZ29yeQV1aW50OAR0aWVyBXVpbnQ4BWdyYWRlBXVpbnQ4B2l0ZW1faWQGdWludDE2CHF1YW50aXR5BnVpbnQ2NAVzdGF0cwZ1aW50NjQDYmFyBnVpbnQ2NAxwb29sc19yZXN1bHQAAQVwb29scwtwb29sX3ZpZXdbXQxwcm9ncmVzc19yb3cAAgdub2RlX2lkBnVpbnQzMgZhbW91bnQGdWludDY0DXByb2dyZXNzX3ZpZXcAAgdub2RlX2lkBnVpbnQzMgZhbW91bnQGdWludDY0D3Byb2plY3RlZF9zdGF0ZQARBW93bmVyBG5hbWULY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMGZW5lcmd5B3VpbnQzMj8JY2FyZ29tYXNzBnVpbnQzMgVjYXJnbwxjYXJnb192aWV3W10IaHVsbG1hc3MHdWludDMyPwhjYXBhY2l0eQd1aW50MzI/B2VuZ2luZXMPbW92ZW1lbnRfc3RhdHM/BHdhcnALd2FycF9zdGF0cz8JZ2VuZXJhdG9yDWVuZXJneV9zdGF0cz8GaGF1bGVyDWhhdWxlcl9zdGF0cz8OZ2F0aGVyZXJfbGFuZXMPZ2F0aGVyZXJfbGFuZVtdDWNyYWZ0ZXJfbGFuZXMOY3JhZnRlcl9sYW5lW10NYnVpbGRlcl9sYW5lcw5idWlsZGVyX2xhbmVbXQxsb2FkZXJfbGFuZXMNbG9hZGVyX2xhbmVbXQhsYXVuY2hlcg9sYXVuY2hlcl9zdGF0cz8EdGllcgV1aW50OAhyZWNoYXJnZQABAmlkBnVpbnQ2NAxyZWNpcGVfaW5wdXQAAgdpdGVtX2lkBnVpbnQxNghxdWFudGl0eQZ1aW50MzIQcmVjaXBlX2l0ZW1faW5mbwACAmlkBnVpbnQxNgRtYXNzBnVpbnQzMg9yZWNpcGVfcmVzcG9uc2UACA5vdXRwdXRfaXRlbV9pZAZ1aW50MTYLb3V0cHV0X21hc3MGdWludDMyBmlucHV0cw5yZWNpcGVfaW5wdXRbXQpzdGF0X3Nsb3RzFHN0YXRfc2xvdF9yZXNwb25zZVtdDWJsZW5kX3dlaWdodHMFYnl0ZXMLb3V0cHV0X2l0ZW0QcmVjaXBlX2l0ZW1faW5mbwtpbnB1dF9pdGVtcxJyZWNpcGVfaXRlbV9pbmZvW10Pc291cmNlX3N1YmNsYXNzB3VpbnQxNj8OcmVjaXBlc19yZXN1bHQAAQdyZWNpcGVzEXJlY2lwZV9yZXNwb25zZVtdCHJlZml0X29wAAICb3AFdWludDgEc2xvdAV1aW50OAxyZWZyc2hlbnRpdHkAAQllbnRpdHlfaWQGdWludDY0DHJlbW92ZW9yYWNsZQABCW9yYWNsZV9pZARuYW1lBnJlbmFtZQACAmlkBnVpbnQ2NARuYW1lBnN0cmluZw1yZXBhY2tfcmVzdWx0AAEHd2luZG93cxFyZXNlcnZlZF93aW5kb3dbXQtyZXNlcnZlX3JvdwAFAmlkBnVpbnQ2NAhjb29yZF9pZAZ1aW50NjQHc3RyYXR1bQZ1aW50MTYJcmVtYWluaW5nBnVpbnQzMgpsYXN0X2Jsb2NrFGJsb2NrX3RpbWVzdGFtcF90eXBlD3Jlc2VydmVkX3dpbmRvdwAEAmlkBnVpbnQ2NAdhcnJpdmFsCnRpbWVfcG9pbnQJc3RhcnRzX2F0CnRpbWVfcG9pbnQMY29tcGxldGVzX2F0CnRpbWVfcG9pbnQHcmVzb2x2ZQACAmlkBnVpbnQ2NAVjb3VudAd1aW50NjQ/D3Jlc29sdmVfcmVzdWx0cwAGCWVudGl0eV9pZAZ1aW50NjQLZW50aXR5X3R5cGUEbmFtZQ5yZXNvbHZlZF9jb3VudAZ1aW50MzIUbmV3X3NjaGVkdWxlX3N0YXJ0ZWQLdGltZV9wb2ludD8LZW50aXR5Z3JvdXAHdWludDY0Pw1ncm91cF9tZW1iZXJzFkJfdmVjdG9yX2VudGl0eV9yZWZfRT8KcmVzb2x2ZWFsbAABBW93bmVyBG5hbWUScmVzb2x2ZWFsbF9yZXN1bHRzAAIHc2Nhbm5lZAZ1aW50MzIIcmVzb2x2ZWQGdWludDMyDHJlc29sdmVlYXJseQACAmlkBnVpbnQ2NAVjb3VudAd1aW50NjQ/DXJlc291cmNlX2luZm8ABAJpZAZ1aW50MTYEbWFzcwZ1aW50MzIIY2F0ZWdvcnkFdWludDgEdGllcgV1aW50OA5yZXNvdXJjZV9zdGF0cwADBXN0YXQxBnVpbnQxNgVzdGF0MgZ1aW50MTYFc3RhdDMGdWludDE2EHJlc291cmNlc19yZXN1bHQAAQlyZXNvdXJjZXMPcmVzb3VyY2VfaW5mb1tdBnJldmVhbAADCW9yYWNsZV9pZARuYW1lBWVwb2NoBnVpbnQ2NAZyZXZlYWwLY2hlY2tzdW0yNTYKcmV2ZWFsX3JvdwAEAmlkBnVpbnQ2NAVlcG9jaAZ1aW50NjQJb3JhY2xlX2lkBG5hbWUGcmV2ZWFsC2NoZWNrc3VtMjU2CHJtbW9kdWxlAAMJZW50aXR5X2lkBnVpbnQ2NAxtb2R1bGVfaW5kZXgFdWludDgKdGFyZ2V0X3JlZgpjYXJnb19yZWY/CHJtbmZ0Y2ZnAAEHaXRlbV9pZAZ1aW50MTYOcm91dGVfd2F5cG9pbnQAAgF4BWludDY0AXkFaW50NjQIc2NoZWR1bGUAAgdzdGFydGVkCnRpbWVfcG9pbnQFdGFza3MGdGFza1tdDHNjaGVtYV9maWVsZAACBG5hbWUGc3RyaW5nCmZpZWxkX3R5cGUGc3RyaW5nCXNlYXRfdmlldwAEB25vZGVfaWQGdWludDMyBGNvc3QGdWludDY0CHByb2dyZXNzBnVpbnQ2NANnYXAGdWludDY0CHNldGNpdmljAAEHYWNjb3VudARuYW1lCnNldGNsdXN0ZXIAAQNyb3cLY2x1c3Rlcl9yb3cJc2V0Y29vcmRzAAMJZW50aXR5X2lkBnVpbnQ2NAF4BWludDY0AXkFaW50NjQLc2V0ZGVhZGxpbmUAAQhkZWFkbGluZQZ1aW50MzIKc2V0aW5mYnVybgABA2JwcwZ1aW50MTYIc2V0aW5mZDEAAQJkMQZ1aW50MzIMc2V0aW5mZGVtYW5kAAMEcGVhawZ1aW50NjQEYmFzZQZ1aW50NjQFZmxvb3IGdWludDY0CnNldGluZm1pbnQAAwhjYXRlZ29yeQV1aW50OAR0aWVyBXVpbnQ4CXRocmVzaG9sZAZ1aW50NjQMc2V0aW5md2VpZ2h0AAMIY2F0ZWdvcnkFdWludDgEdGllcgV1aW50OAl3ZWlnaHRfZnAGdWludDY0CXNldG5leHRpZAABB25leHRfaWQGdWludDY0CXNldG5mdGNmZwADB2l0ZW1faWQGdWludDE2C3RlbXBsYXRlX2lkBWludDMyC3NjaGVtYV9uYW1lBG5hbWUMc2V0dGhyZXNob2xkAAEJdGhyZXNob2xkBXVpbnQ4DHNldHRsZWJhbGxvdAACCWJhbGxvdF9pZAZ1aW50NjQJbWF4X3BhZ2VzBnVpbnQzMgxzZXR1bndyYXBtaW4AAQhhc3NldF9pZAZ1aW50NjQLc2V0d3JhcGNvc3QAAwlpdGVtX3R5cGUFdWludDgEdGllcgV1aW50OAZhbW91bnQGdWludDY0CnNldHdyYXBmZWUAAgdmZWVfcGN0BnVpbnQxNgtmZWVfYWNjb3VudARuYW1lB3NodXR0bGUABAdjYXJyaWVyBnVpbnQ2NAdmcm9tX2lkBnVpbnQ2NAV0b19pZAZ1aW50NjQFaXRlbXMMY2FyZ29faXRlbVtdCHNsb3RfZGVmAAMEdHlwZQV1aW50OApvdXRwdXRfcGN0BnVpbnQxNghtYXhfdGllcgV1aW50OBBzb2NrZXRfY2FuZGlkYXRlAAMHd2luZG93cxFyZXNlcnZlZF93aW5kb3dbXQhkdXJhdGlvbgZ1aW50MzIGYWN0aXZlBnVpbnQxNgtzb2NrZXRfcGljawADBWZvdW5kBGJvb2wGc29ja2V0BXVpbnQ4BndpbmRvdw9yZXNlcnZlZF93aW5kb3cMc3RhbmRpbmdfcm93AAQHYWNjb3VudARuYW1lCGxpZmV0aW1lBnVpbnQ2NAZhY3RpdmUGdWludDY0DGFjdGl2ZV9lcG9jaAZ1aW50MzISc3RhdF9zbG90X3Jlc3BvbnNlAAEHc291cmNlcw1zdGF0X3NvdXJjZVtdC3N0YXRfc291cmNlAAILaW5wdXRfaW5kZXgFdWludDgQaW5wdXRfc3RhdF9pbmRleAV1aW50OAlzdGF0ZV9yb3cAAwdlbmFibGVkBGJvb2wFZXBvY2gGdWludDMyBHNlZWQLY2hlY2tzdW0yNTYLc3RvcmFnZV9yb3cABwJpZAZ1aW50NjQFb3duZXIEbmFtZQdpdGVtX2lkBnVpbnQ2NAhxdWFudGl0eQZ1aW50NjQFc3RhdHMGdWludDY0B21vZHVsZXMObW9kdWxlX2VudHJ5W10Lc2VxdWVuY2VfaWQHdWludDY0PwlzdG93Y2FyZ28ABQVvd25lcgRuYW1lCWVudGl0eV9pZAZ1aW50NjQIbmV4dXNfaWQGdWludDY0CGNhcmdvX2lkBnVpbnQ2NAhxdWFudGl0eQZ1aW50NjQKc3Rvd2VudGl0eQADBW93bmVyBG5hbWUJZW50aXR5X2lkBnVpbnQ2NAhuZXh1c19pZAZ1aW50NjQMc3RyYXR1bV9kYXRhAAIHc3RyYXR1bQxzdHJhdHVtX2luZm8Fc3RhdHMOcmVzb3VyY2Vfc3RhdHMMc3RyYXR1bV9pbmZvAAUHaXRlbV9pZAZ1aW50MTYEc2VlZAZ1aW50NjQIcmljaG5lc3MGdWludDE2B3Jlc2VydmUGdWludDMyC3Jlc2VydmVfbWF4BnVpbnQzMhFzdHJhdHVtX3JlbWFpbmluZwADB3N0cmF0dW0GdWludDE2CXJlbWFpbmluZwZ1aW50MzIKbGFzdF9ibG9jaxRibG9ja190aW1lc3RhbXBfdHlwZQpzd2FwbW9kdWxlAAMJZW50aXR5X2lkBnVpbnQ2NAxtb2R1bGVfaW5kZXgFdWludDgKbW9kdWxlX3JlZgljYXJnb19yZWYIc3dhcHRpbGUABQZodWJfaWQGdWludDY0BGFfZ3gEaW50OARhX2d5BGludDgEYl9neARpbnQ4BGJfZ3kEaW50OAR0YXNrAAwEdHlwZQV1aW50OAhkdXJhdGlvbgZ1aW50MzIKY2FuY2VsYWJsZQV1aW50OAtjb29yZGluYXRlcwxjb29yZGluYXRlcz8FY2FyZ28MY2FyZ29faXRlbVtdCWNvdXBsaW5ncwpjb3VwbGluZ1tdB3N1YmplY3QLZW50aXR5X3JlZj8LZW50aXR5Z3JvdXAHdWludDY0PwtlbmVyZ3lfY29zdAd1aW50MzI/DnRhcmdldF9pdGVtX2lkB3VpbnQxNj8FcmVmaXQJcmVmaXRfb3A/DGNoYXJ0ZXJfbm9kZQd1aW50MzI/CnRhc2tfZXZlbnQACgpldmVudF90eXBlBXVpbnQ4BW93bmVyBG5hbWULZW50aXR5X3R5cGUEbmFtZQllbnRpdHlfaWQGdWludDY0CnRhc2tfaW5kZXgGdWludDMyBHRhc2sEdGFzawlzdGFydHNfYXQKdGltZV9wb2ludAxjb21wbGV0ZXNfYXQKdGltZV9wb2ludApuZXdfZW5lcmd5B3VpbnQzMj8IbGFuZV9rZXkFdWludDgMdGFza19yZXN1bHRzAAEIZW50aXRpZXMSZW50aXR5X3Rhc2tfaW5mb1tdEXRlbXBsYXRlX21ldGFfcm93AAQHaXRlbV9pZAZ1aW50MTYEa2luZARuYW1lDWRpc3BsYXlfbGFiZWwGc3RyaW5nEGJhc2VfY2FwYWNpdHlfZm4Gc3RyaW5nB3RyYW5zaXQABQJpZAZ1aW50NjQCYXgFaW50NjQCYXkFaW50NjQCYngFaW50NjQCYnkFaW50NjQGdHJhdmVsAAQCaWQGdWludDY0AXgFaW50NjQBeQVpbnQ2NAhyZWNoYXJnZQRib29sCnRyYXZlbHBsYW4AAwhlbnRpdGllcwxlbnRpdHlfcmVmW10Jd2F5cG9pbnRzEHJvdXRlX3dheXBvaW50W10IcmVjaGFyZ2UEYm9vbAl0eXBlc19yb3cAEAJpZAZ1aW50NjQTZW50aXR5X3N1bW1hcnlfdHlwZQ5lbnRpdHlfc3VtbWFyeRBnYW1lX2NvbmZpZ190eXBlC2dhbWVfY29uZmlnFnN0cmF0dW1fcmVtYWluaW5nX3R5cGURc3RyYXR1bV9yZW1haW5pbmcVbmZ0X2l0ZW1fcGF5bG9hZF90eXBlEG5mdF9pdGVtX3BheWxvYWQSZGVjb21wX3Jlc3VsdF90eXBlDWRlY29tcF9yZXN1bHQSZGVtYW5kX3Jlc3VsdF90eXBlDWRlbWFuZF9yZXN1bHQUaW5mdmFsdWVfcmVzdWx0X3R5cGUPaW5mdmFsdWVfcmVzdWx0FWluZmx1ZW5jZV90b3RhbHNfdHlwZRBpbmZsdWVuY2VfdG90YWxzEXBvb2xzX3Jlc3VsdF90eXBlDHBvb2xzX3Jlc3VsdBVwb29sX3BhaXJfcmVzdWx0X3R5cGUQcG9vbF9wYWlyX3Jlc3VsdBNtaW50Y2ZnX3Jlc3VsdF90eXBlDm1pbnRjZmdfcmVzdWx0E2NoYXJ0ZXJfcmVzdWx0X3R5cGUOY2hhcnRlcl9yZXN1bHQYY2hhcnRlcnJlYWR5X3Jlc3VsdF90eXBlE2NoYXJ0ZXJyZWFkeV9yZXN1bHQQdm90ZV9yZXN1bHRfdHlwZQt2b3RlX3Jlc3VsdA9kZXBvdF92aWV3X3R5cGUKZGVwb3Rfdmlldwh1bmRlcGxveQACB2hvc3RfaWQGdWludDY0CXRhcmdldF9pZAZ1aW50NjQGdW5sb2FkAAMCaWQGdWludDY0BXRvX2lkBnVpbnQ2NAVpdGVtcwxjYXJnb19pdGVtW10HdXBncmFkZQAFCmJ1aWxkZXJfaWQGdWludDY0CXRhcmdldF9pZAZ1aW50NjQOdGFyZ2V0X2l0ZW1faWQGdWludDE2BmlucHV0cwxjYXJnb19pdGVtW10Ec2xvdAZ1aW50OD8Ldm90ZV9vcHRpb24ABQdub2RlX2lkBnVpbnQzMgRjb3N0BnVpbnQ2NARzZWF0BnVpbnQzMgZ3ZWlnaHQGdWludDY0BHJhbmsGdWludDMyC3ZvdGVfcmVzdWx0AAkLbG9jYXRpb25faWQGdWludDY0CWJhbGxvdF9pZAZ1aW50NjQFZXBvY2gGdWludDMyDXNldHRsZWRfZXBvY2gGdWludDMyBXNlYXRzBnVpbnQzMghzZXR0bGluZwRib29sBXF1ZXVlCHVpbnQzMltdB29wdGlvbnMNdm90ZV9vcHRpb25bXQVwaWNrcwh1aW50MzJbXQl2b3RlcmVhZHkAAQltYXhfcGFnZXMGdWludDMyBHdhcnAAAwJpZAZ1aW50NjQBeAVpbnQ2NAF5BWludDY0CndhcnBfc3RhdHMAAQVyYW5nZQZ1aW50MzIOd2luZG93X3JlY2VpcHQAAwZqb2JfaWQGdWludDY0CXN0YXJ0c19hdAp0aW1lX3BvaW50DGNvbXBsZXRlc19hdAp0aW1lX3BvaW50BHdpcGUAAAp3b3JsZHNfcm93AAkLbG9jYXRpb25faWQGdWludDY0CGxpZmV0aW1lBnVpbnQ2NAZhY3RpdmUGdWludDY0DGFjdGl2ZV9lcG9jaAZ1aW50MzIFc3BlbnQGdWludDY0CnVuYXNzaWduZWQGdWludDY0CWJhbGxvdF9pZAZ1aW50NjQHZm91bmRlcgRuYW1lB2ZvdW5kZWQGdWludDMyDXdvcm1ob2xlX2luZm8AAwZjb29yZHMLY29vcmRpbmF0ZXMLaXNfd29ybWhvbGUEYm9vbAtkZXN0aW5hdGlvbgtjb29yZGluYXRlcw53cmFwY29uZmlnX3JvdwADB2ZlZV9wY3QGdWludDE2C2ZlZV9hY2NvdW50BG5hbWUMbWluX2Fzc2V0X2lkBnVpbnQ2NAx3cmFwY29zdF9yb3cAAwlpdGVtX3R5cGUFdWludDgEdGllcgV1aW50OAZhbW91bnQGdWludDY0qAEAMo110jTNMQthYmFuZG9ucGxvdAAAwHE3T4pSMgphZGRjb250cmliAAAAUFEnKlMyCWFkZG1vZHVsZccDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGFkZG1vZHVsZQpzdW1tYXJ5OiAnSW5zdGFsbCBhIG1vZHVsZSBpbnRvIGEgc2xvdCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW5zdGFsbCBhIG1vZHVsZSBmcm9tIGNhcmdvIGludG8gYSBtb2R1bGUgc2xvdCBvbiBhIGxpdmUgZW50aXR5IG9yIGEgcGFja2VkIGVudGl0eSBpbiBjYXJnby4gVGhlIGVudGl0eSBtdXN0IGJlIGlkbGUgd2l0aCBubyBzY2hlZHVsZWQgdGFza3MuIFRoZSBtb2R1bGUgdHlwZSBtdXN0IGJlIGNvbXBhdGlibGUgd2l0aCB0aGUgdGFyZ2V0IHNsb3QgdHlwZS4gVGhlIG1vZHVsZSBpdGVtIGlzIHJlbW92ZWQgZnJvbSBjYXJnbyB1cG9uIGluc3RhbGxhdGlvbi4AAABYdzVTMghhZGRuZXh1c6cDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGFkZG5leHVzCnN1bW1hcnk6ICdBZGQgYSBuZXh1cyBsb2NhdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQ3JlYXRlIGEgbmV3IG5leHVzIGVudGl0eSBhdCB0aGUgZ2l2ZW4gY29vcmRpbmF0ZXMuIE5leHVzZXMgYXJlIG93bmVkIGJ5IHRoZSBjb250cmFjdCBhbmQgc2VydmUgYXMgZml4ZWQgZ2F0aGVyaW5nIHBvaW50cyB3aGVyZSBwbGF5ZXJzIGNhbiB3cmFwLCB1bndyYXAsIGRlcGxveSwgYW5kIG90aGVyd2lzZSBpbnRlcmFjdCB3aXRoIE5GVC1iYWNrZWQgYXNzZXRzLiBSZXF1aXJlcyBjb250cmFjdCBhdXRob3JpdHkuAABQEZlLUzIJYWRkb3JhY2xlAAAAAACANFU8BWJsZW5k/AItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogYmxlbmQKc3VtbWFyeTogJ0JsZW5kIGNhcmdvIHN0YWNrcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQ29tYmluZSBtdWx0aXBsZSBjYXJnbyBzdGFja3Mgb2YgdGhlIHNhbWUgaXRlbSB0eXBlIGludG8gYSBzaW5nbGUgc3RhY2sgd2l0aCBuZXcgYmxlbmRlZCBzdGF0cy4gQWxsIGlucHV0IHN0YWNrcyBtdXN0IHNoYXJlIHRoZSBzYW1lIGl0ZW0gaWQuIFRoZSBvdXRwdXQgc3RhY2sgaGFzIHRoZSBjb21iaW5lZCBxdWFudGl0eSBvZiBhbGwgaW5wdXRzLgBAplWlNFU8CmJsZW5kZGVwb3TBAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBibGVuZGRlcG90CnN1bW1hcnk6ICdCbGVuZCBzdG9yZWQgY2FyZ28gc3RhY2tzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDb21iaW5lIG11bHRpcGxlIHN0YWNrcyBvZiB0aGUgc2FtZSBpdGVtIHRoYXQgdGhlIHNpZ25lciBrZWVwcyBpbiBhIGRlcG90IGludG8gYSBzaW5nbGUgc3RvcmVkIHN0YWNrIHdpdGggbmV3IGJsZW5kZWQgc3RhdHMuIEFsbCBpbnB1dCBzdGFja3MgbXVzdCBzaGFyZSB0aGUgc2FtZSBpdGVtIGlkLiBUaGUgb3V0cHV0IHN0YWNrIGhhcyB0aGUgY29tYmluZWQgcXVhbnRpdHkgb2YgYWxsIGlucHV0cyBhbmQgc3RheXMgaW4gdGhlIHNhbWUgZGVwb3QuAAAAh74UnT4IYnVpbGRqb2IAAADINNYUnT4JYnVpbGRwbG90AAAAAABEhaZBBmNhbmNlbMICLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNhbmNlbApzdW1tYXJ5OiAnQ2FuY2VsIHNjaGVkdWxlZCB0YXNrcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQ2FuY2VsIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHRhc2tzIGZyb20gdGhlIGVuZCBvZiBhbiBlbnRpdHkncyBzY2hlZHVsZS4gVGFza3MgdGhhdCBhcmUgaW1tdXRhYmxlIGFuZCBpbiBwcm9ncmVzcyBjYW5ub3QgYmUgY2FuY2VsbGVkLgBSdPpEhaZBC2NhbmNlbGJ1aWxkAACQ2w5FhaZBC2NhbmNlbGNpdmljAADyMhdFhaZBC2NhbmNlbGNyYWZ0AABApjGak7FBCmNhc3RiYWxsb3QA4JNR96p8TUMMY2hhcnRlcnJlYWR5AKBizrph5LZDDGNpdmljc2h1dHRsZQAAQIpOH+lMRApjbGFpbWJ1aWxkAABAXuYi6UxECmNsYWltY3JhZnQAAADINFbpTEQJY2xhaW1wbG90AHBVviZj6UxEDGNsYWltc3RhcnRlcgAAAKgb32lURAljbGVhbnJzdnDsAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjbGVhbnJzdnAKc3VtbWFyeTogJ0NsZWFuIHVwIHBhc3QgZXBvY2ggcmVzZXJ2ZXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkVyYXNlIHJlc2VydmUgdGFibGUgcm93cyBmcm9tIGEgcGFzdCBlcG9jaC4gQ2Fubm90IGNsZWFuIHRoZSBjdXJyZW50IG9yIGZ1dHVyZSBlcG9jaHMuIFRoZSBtYXhfcm93cyBwYXJhbWV0ZXIgY2FwcyB0aGUgbnVtYmVyIG9mIHJvd3MgZXJhc2VkIHBlciBjYWxsIHRvIGxpbWl0IENQVSB1c2FnZS4AgIrH5GtURApjbGVhcnRhYmxlvgEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY2xlYXJ0YWJsZQpzdW1tYXJ5OiAnREVCVUc6IGNsZWFydGFibGUgYWN0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tAEBDtCqFaUQKY2xvc2VlcG9jaACQl7noqox1RAxjbHVzdGVyY3JhZnQAAAAAAGQnJUUGY29tbWl07AEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY29tbWl0CnN1bW1hcnk6ICdTZXQgY29tbWl0IHZhbHVlJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpTZXQgdGhlIGluaXRpYWwgY29tbWl0IHZhbHVlIGR1cmluZyBnYW1lIGluaXRpYWxpemF0aW9uLgAAYDQytyZFCWNvbmZpZ2xvZ90CLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNvbmZpZ2xvZwpzdW1tYXJ5OiAnTG9nIGdhbWUgY29uZmlndXJhdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW50ZXJuYWwgYWN0aW9uIHRoYXQgbG9ncyB0aGUgY3VycmVudCBnYW1lIGNvbmZpZ3VyYXRpb24uIENhbGxlZCBpbmxpbmUgYWZ0ZXIgaW5pdGlhbGl6YXRpb24gdG8gYnJvYWRjYXN0IGNvbmZpZyB2aWEgYWN0aW9uIHRyYWNlcy4gUmVxdWlyZXMgY29udHJhY3QgYXV0aG9yaXR5LgAAAACAvMxFBWNyYWZ0yAMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY3JhZnQKc3VtbWFyeTogJ0NyYWZ0IGl0ZW1zIGZyb20gYSByZWNpcGUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRyYW5zZm9ybSBjYXJnbyBpdGVtcyBpbnRvIGEgbmV3IGl0ZW0gdXNpbmcgYSByZWNpcGUuIFRoZSBlbnRpdHkgbXVzdCBoYXZlIGEgY3JhZnRlciBtb2R1bGUgaW5zdGFsbGVkLiBDb25zdW1lcyBlbmVyZ3kgYW5kIHNjaGVkdWxlcyBhIGNyYWZ0aW5nIHRhc2sgd2l0aCBkdXJhdGlvbiBiYXNlZCBvbiB0b3RhbCBpbnB1dCBtYXNzIGFuZCBjcmFmdGVyIHNwZWVkLiBJbnB1dCBxdWFudGl0aWVzIG11c3QgZXhhY3RseSBtYXRjaCB0aGUgcmVjaXBlIHJlcXVpcmVtZW50cy4AAACHvrzMRQhjcmFmdGpvYgAAAMguqYvYSQlkYmdjcmVkaXQAAAAAAB/62EkHZGJnam9icwAAgMomTSPZSQpkYmdtYW5kYXRlAAAwp1cxU9lJC2RiZ3BhZ2Vyb3dzAAAAAAAiV9lJB2RiZ3BpY2sAAAAACplY2UkIZGJncGxhY2UAAAAAil1d2UkIZGJncHVyZ2UAAACAyFR12UkJZGJncmVwYWNrAAAAADgbhdlJCGRiZ3NlYXRzAAAA8NnlqaJKCWRlbGVudGl0eQAAAAANu0ilSghkZW1vbGlzaPEDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGRlbW9saXNoCnN1bW1hcnk6ICdEZW1vbGlzaCBhIHN0YXRpb25hcnkgZW50aXR5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpEZWNvbW1pc3Npb24gYW4gZW50aXR5LCBlcmFzaW5nIGl0IGZyb20gdGhlIGdhbWUuIFRoZSBlbnRpdHkgbXVzdCBiZSBpZGxlLCBoYXZlIGVtcHR5IGNhcmdvLCBhbmQgaGF2ZSBubyBpbnN0YWxsZWQgbW9kdWxlcyAocmVtb3ZlIGVhY2ggdmlhIHJtbW9kdWxlIGZpcnN0KS4gU2NoZWR1bGVzIGEgZGVtb2xpc2ggdGFzayB0aGF0IGVyYXNlcyB0aGUgZW50aXR5IG9uIHJlc29sdXRpb24uIE9ubHkgdmFsaWQgZm9yIGVudGl0aWVzIHRoYXQgY2Fubm90IG1vdmU7IHVzZSB1bmRlcGxveSBvciB3cmFwZW50aXR5IGZvciB0aGUgcmVzdC4AAAAAeBqrSgZkZXBsb3nsAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBkZXBsb3kKc3VtbWFyeTogJ0RlcGxveSBhIHBhY2tlZCBlbnRpdHknCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClVucGFjayBhIHBhY2tlZCBlbnRpdHkgaXRlbSAocGFja2VkIHNoaXAgb3IgcGFja2VkIGNvbnRhaW5lcikgZnJvbSBjYXJnbywgc2NoZWR1bGluZyBhIGRlcGxveSB0YXNrIHRoYXQgY3JlYXRlcyB0aGUgbmV3IGVudGl0eSBhdCB0aGUgZGVwbG95aW5nIGVudGl0eSdzIGxvY2F0aW9uIHVwb24gcmVzb2x1dGlvbi4AgLo040yrSgpkZXBvdHN0b3JlAAAAUNDkTKtKCWRlcG90dGFrZQAAgM8uT4WwSgpkZXNjZW50aXR5yQMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZGVzY2VudGl0eQpzdW1tYXJ5OiAnRGVzY3JpYmUgYSBwYWNrZWQgZW50aXR5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyBhIGh1bWFuLXJlYWRhYmxlIGRlc2NyaXB0aW9uIHN0cmluZyBmb3IgYSBwYWNrZWQgZW50aXR5LCBkZXJpdmVkIGZyb20gdGhlIGVudGl0eSBpdGVtIGlkLCBodWxsIHN0YXRzLCBhbmQgdGhlIGxpc3Qgb2YgaW5zdGFsbGVkIG1vZHVsZSBpdGVtIGlkcyBhbmQgc3RhdHMuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgYW5kIE5GVCByZW5kZXJlcnMgdG8gZGlzcGxheSBwYWNrZWQgZW50aXRpZXMuAAAAAKh4zFQGZW5hYmxl3QEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZW5hYmxlCnN1bW1hcnk6ICdTZXQgZW5hYmxlZCBzdGF0ZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKRW5hYmxlIG9yIGRpc2FibGUgdGhpcyBnYW1lIG9mIFNoaXBsb2FkLoCxkZRdg7pbDGZpeGNhcmdvbWFzc5ADLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGZpeGNhcmdvbWFzcwpzdW1tYXJ5OiAnREVCVUc6IHJlY29tcHV0ZSBlbnRpdHkgY2FyZ28gbWFzcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUmVjb21wdXRlIGFuZCByZXdyaXRlIGFuIGVudGl0eSdzIGNhcmdvIG1hc3MgZnJvbSBpdHMgY3VycmVudCBjYXJnby4gUmVxdWlyZXMgY29udHJhY3QgYXV0aG9yaXR5LiBBdmFpbGFibGUgZm9yIHJlcGFpcmluZyBkcmlmdCBiZXR3ZWVuIGNhY2hlZCBjYXJnbyBtYXNzIGFuZCB0aGUgdHJ1ZSBtYXNzIGRlcml2ZWQgZnJvbSBjYXJnbyByb3dzLgAAAMkd3bpbCGZpeGh1YmlkAAAATk6q7LpbCmZpeGl0ZW1pZHMAAKJRW12FLl0LZm9yY2VyZXZlYWy+BC0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBmb3JjZXJldmVhbApzdW1tYXJ5OiAnREVCVUc6IGZvcmNlLWZpbmFsaXplIGFuIGVwb2NoIGZyb20gZXhpc3RpbmcgcmV2ZWFscycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKRmluYWxpemUgYSBzdHVjayBlcG9jaCBieSBjb21wdXRpbmcgaXRzIHNlZWQgZnJvbSB0aGUgcmV2ZWFscyBhbHJlYWR5IHN1Ym1pdHRlZCwgd2l0aG91dCB3YWl0aW5nIGZvciB0aGUgY29uZmlndXJlZCB0aHJlc2hvbGQuIFJlcXVpcmVzIGNvbnRyYWN0IGF1dGhvcml0eS4gVGhlIHNlZWQgaXMgZGVyaXZlZCBzb2xlbHkgZnJvbSB0aGUgcHJlLWltYWdlLWxvY2tlZCByZXZlYWxzIGFscmVhZHkgb24gY2hhaW47IG5vIGFkbWluLXN1cHBsaWVkIGVudHJvcHkgaXMgaW50cm9kdWNlZC4gVXNlZCB0byB1bmJsb2NrIGVwb2NoIHByb2dyZXNzaW9uIHdoZW4gdGhlIHRocmVzaG9sZCBjYW5ub3Qgb3RoZXJ3aXNlIGJlIG1ldC4AAAAAgDQ1XQVmb3VuZAAAAAAAXNWyYQZnYXRoZXKXAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnYXRoZXIKc3VtbWFyeTogJ0dhdGhlciByZXNvdXJjZXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkdhdGhlciByZXNvdXJjZXMgYXQgdGhlIHNoaXAncyBjdXJyZW50IGxvY2F0aW9uLiBPbmx5IHdvcmtzIGF0IGdhdGhlcmFibGUgbG9jYXRpb24gdHlwZXMuIFNjaGVkdWxlcyBhIGdhdGhlciB0YXNrIHRoYXQgY29uc3VtZXMgZW5lcmd5IGFuZCB5aWVsZHMgY2FyZ28gYmFzZWQgb24gdGhlIHNoaXAncyBnYXRoZXJlciBzdGF0cyBhbmQgdGhlIGxvY2F0aW9uJ3MgcmVzb3VyY2UgY29tcG9zaXRpb24uAMA0sV7VsmEKZ2F0aGVycGxhbgCQlYoLO6ymYgxnZW5lc2lzZmxlZXSpBC0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZW5lc2lzZmxlZXQKc3VtbWFyeTogJ01pbnQgdGhlIG9uZS10aW1lIGdlbmVzaXMgZmxlZXQnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkVtcGxhY2UgdGhlIG9uZS10aW1lIGdlbmVzaXMgZmxlZXQ6IGEgY2FsbGVyLXN1cHBsaWVkIHNldCBvZiBlbnRpdGllcyAoc2hpcHMsIHN0cnVjdHVyZXMsIGFuZCBjb250YWluZXJzKSB3cml0dGVuIHRvIHRoZSB3b3JsZCBhcy1pcy4gVmFsaWQgb25seSBkdXJpbmcgdGhlIHByZS1nZW5lc2lzIHdpbmRvdywgYmVmb3JlIGVwb2NoIDEgaXMgZmluYWxpemVkLiBUaGUgc3VwcGxpZWQgZW50aXR5IGlkcyBhcmUgaG9ub3JlZCBhbmQgdGhlIGlkIHNlcXVlbmNlIGlzIGFkdmFuY2VkIHBhc3QgdGhlbTsgaWQgMCBpcyByZXNlcnZlZCBmb3IgdGhlIEdlbmVzaXMgTmV4dXMuIFJlcXVpcmVzIGNvbnRyYWN0IGF1dGhvcml0eS6Q4qUcO6ymYgxnZW5lc2lzd29ybGTnBy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZW5lc2lzd29ybGQKc3VtbWFyeTogJ0ZvdW5kIGEgd29ybGQgYXQgZ2FtZSBsYXVuY2ggd2l0aCBpdHMgY2l2aWMgY2hhcnRlcnMgYWxyZWFkeSBjb21wbGV0ZWQnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkZvdW5kIGEgcGxhbmV0IGFzIGEgd29ybGQgZHVyaW5nIHRoZSBwcmUtZ2VuZXNpcyB3aW5kb3csIGJlZm9yZSBlcG9jaCAxIGlzIGZpbmFsaXplZCwgd2l0aCB0aGUgbGlzdGVkIGNoYXJ0ZXIgbm9kZXMgY29tcGxldGVkIGluIG9yZGVyLiBUaGUgZm91bmRlciBtdXN0IGhvbGQgYSBjb21wYW55IG9uIHRoZSBwbGF0Zm9ybTsgdGhlIGZvdW5kZXIgaXMgY3JlZGl0ZWQgd2l0aCBsaWZldGltZSBpbmZsdWVuY2UgZXF1YWwgdG8gdGhlIHN1bW1lZCBjb3N0IG9mIHRoZSBsaXN0ZWQgbm9kZXMsIGFuZCBlYWNoIG5vZGUgaXMgdGhlbiBjb21wbGV0ZWQgdGhyb3VnaCB0aGUgc2FtZSBydWxlcyBhIGNoYXJ0ZXIgY3JhbmsgYXBwbGllczogcHJlcmVxdWlzaXRlcyBtdXN0IGJlIHNhdGlzZmllZCBieSBlYXJsaWVyIG5vZGVzIGluIHRoZSBsaXN0LCBhIHNwYXduIG5vZGUgYWRvcHRzIGEgY2l2aWMgZW50aXR5IG9mIGl0cyBraW5kIGFscmVhZHkgc3RhbmRpbmcgYXQgdGhlIGxvY2F0aW9uIG9yIHNwYXducyBvbmUsIGFuZCBhIHJlZml0IG5vZGUgcmVmaXRzIHRoZSBlbnRpdHkgcmVjb3JkZWQgZm9yIGl0cyB0YXJnZXQuIFNwZW50IGFkdmFuY2VzIGJ5IGV2ZXJ5IG5vZGUncyBjb3N0LCBzbyB0aGUgcmVzdWx0aW5nIHdvcmxkIGlzIG9uZSBhIHNpbmdsZSBmb3VuZGVyIGNvdWxkIGhhdmUgYWR2YW5jZWQgYWxvbmUuIEVhY2ggbG9jYXRpb24gY2FuIGJlIGZvdW5kZWQgdGhpcyB3YXkgb25jZS4gUmVxdWlyZXMgY29udHJhY3QgYXV0aG9yaXR5LoAPfSk6fbJiDGdldGJ1aWxkam9icwAAwFX5moayYgpnZXRjaGFydGVyAKDUzfmahrJiDGdldGNoYXJ0dHJlZQDgk1E334ayYgxnZXRjaHJ0cmVhZHkAAMBVGeuIsmIKZ2V0Y2x1c3RlcgAAAGBuTYqyYglnZXRjb25maWfKAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRjb25maWcKc3VtbWFyeTogJ0dldCBnYW1lIGNvbmZpZ3VyYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIHJldHVybnMgdGhlIGdhbWUgY29uZmlndXJhdGlvbiBpbmNsdWRpbmcgZGVmYXVsdCBlbnRpdHkgc3RhdHMgZm9yIHdhcmVob3VzZXMgYW5kIGNvbnRhaW5lcnMsIGFuZCB0aGUgZnVsbCBpdGVtIGRlZmluaXRpb25zIHRhYmxlLoAPfXmZi7JiDGdldGNyYWZ0am9icwAAAKiSIpWyYglnZXRkZWNvbXAAAABI00iVsmIJZ2V0ZGVtYW5kAABAdphWlbJiCmdldGRlcG9zaXQAAAAAmVaVsmIIZ2V0ZGVwb3QAABSaJmOXsmILZ2V0ZGlzdGFuY2UAAFQ8jrmosmILZ2V0ZWxpZ2libGXIAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRlbGlnaWJsZQpzdW1tYXJ5OiAnR2V0IGVsaWdpYmxlIHJlc291cmNlIGl0ZW0gSURzIGF0IGEgbG9jYXRpb24gYW5kIHN0cmF0dW0nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBsaXN0IG9mIHJlc291cmNlIGl0ZW0gSURzIGVsaWdpYmxlIHRvIGJlIGdhdGhlcmVkIGF0IHRoZSBnaXZlbiBjb29yZGluYXRlcyBhbmQgc3RyYXR1bSBkZXB0aC4gSXRlbXMgYXJlIGdhdGVkIGJ5IGJvdGggdGhlIGxvY2F0aW9uJ3MgcmVzb3VyY2UgcHJvZmlsZSBhbmQgdGhlIGRlcHRoIHRocmVzaG9sZCBmb3IgZWFjaCB0aWVyLgAAwBHlqbJiCWdldGVudGNsc4wDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGVudGNscwpzdW1tYXJ5OiAnR2V0IGVudGl0eSBjbGFzcyBlbnVtIHZhbHVlcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgdGhlIGZ1bGwgc2V0IG9mIGVudGl0eSBjbGFzcyBlbnVtIHZhbHVlcyBhbmQgdGhlaXIgc3RyaW5nIG5hbWVzIChPcmJpdGFsVmVzc2VsLCBQbGFuZXRhcnlTdHJ1Y3R1cmUpLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIGRlY29kZSBlbnRpdHkgY2xhc3MgaWRlbnRpZmllcnMuALBy2eWpsmILZ2V0ZW50aXRpZXOkAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRlbnRpdGllcwpzdW1tYXJ5OiAnR2V0IGFsbCBlbnRpdGllcyBmb3IgYSBwbGF5ZXInCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJldHVybnMgZnVsbCBlbnRpdHkgaW5mbyBmb3IgYWxsIGVudGl0aWVzIG93bmVkIGJ5IGEgcGxheWVyLiBPcHRpb25hbGx5IGZpbHRlciBieSBlbnRpdHkgdHlwZS4AAPDZ5amyYglnZXRlbnRpdHmiAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRlbnRpdHkKc3VtbWFyeTogJ0dldCBlbnRpdHkgc3RhdGUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJldHVybnMgdGhlIGN1cnJlbnQgc3RhdGUgb2YgYW4gZW50aXR5IGluY2x1ZGluZyBpZGVudGl0eSwgY2FyZ28sIHNjaGVkdWxlIHN0YXRlLCBhbmQgdHlwZS1zcGVjaWZpYyBmaWVsZHMukKe7NVO6smIMZ2V0Zm9vdHByaW50AAC8QSqt6bJiC2dldGluZmRlY2F5AKDQVDqu6bJiDGdldGluZmx1ZW5jZQAAlI5mr+myYgtnZXRpbmZ2YWx1ZQAATDZJquyyYgtnZXRpdGVtZGF0YagDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGl0ZW1kYXRhCnN1bW1hcnk6ICdHZXQgZnVsbCBpdGVtIGNhdGFsb2cnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBjb21wbGV0ZSBpdGVtIGNhdGFsb2cgYXMgdGhlIGNvbnRyYWN0IHNlZXMgaXQsIGluY2x1ZGluZyB0eXBlLCBzdWJ0eXBlLCB0aWVyLCBtYXNzLCBhbmQgb3RoZXIgc3RhdGljIG1ldGFkYXRhLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIGFuZCBjbGllbnRzIHRvIG1pcnJvciB0aGUgY29udHJhY3QncyBpdGVtIGRlZmluaXRpb25zLgAATk6q7LJiCmdldGl0ZW1pZHOGAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRpdGVtaWRzCnN1bW1hcnk6ICdHZXQgaXRlbSBpZCB0byBuYW1lIG1hcHBpbmdzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgZnVsbCBtYXBwaW5nIG9mIGl0ZW0gaWQgY29uc3RhbnRzIHRvIHRoZWlyIGNhbm9uaWNhbCBzdHJpbmcgbmFtZXMuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gcmVzb2x2ZSBudW1lcmljIGl0ZW0gaWRzIHRvIGh1bWFuLXJlYWRhYmxlIGlkZW50aWZpZXJzLgAAAFiq7LJiCGdldGl0ZW1zmgItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0aXRlbXMKc3VtbWFyeTogJ0dldCBhbGwgYXZhaWxhYmxlIGl0ZW1zJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIGEgbGlzdCBvZiBhbGwgaXRlbXMgaW4gdGhlIGdhbWUgaW5jbHVkaW5nIHRoZWlyIGlkLCBiYXNlIHByaWNlLCBhbmQgbWFzcy4AVPVZquyyYgtnZXRpdGVtdHlwZQCAVfVZquyyYgxnZXRpdGVtdHlwZXOIAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRpdGVtdHlwZXMKc3VtbWFyeTogJ0dldCBpdGVtIHR5cGUgZW51bSB2YWx1ZXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBmdWxsIHNldCBvZiBpdGVtIHR5cGUgZW51bSB2YWx1ZXMgYW5kIHRoZWlyIHN0cmluZyBuYW1lcyAocmVzb3VyY2UsIGNvbXBvbmVudCwgbW9kdWxlLCBlbnRpdHkpLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIGRlY29kZSBpdGVtIHR5cGUgaWRlbnRpZmllcnMuAExWMk0Hs2ILZ2V0a2luZG1ldGH4Ay0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRraW5kbWV0YQpzdW1tYXJ5OiAnR2V0IGVudGl0eSBraW5kIG1ldGFkYXRhJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgZW50aXR5IGtpbmQgcmVnaXN0cnkgYW5kIHRlbXBsYXRlIHJlZ2lzdHJ5LCBpbmNsdWRpbmcgZWFjaCBraW5kJ3MgY2xhc3NpZmljYXRpb24sIGNhcGFiaWxpdHkgZmxhZ3MsIFotY29vcmRpbmF0ZSwgYW5kIGRlZmF1bHQgbGFiZWwsIHBsdXMgdGhlIG1hcHBpbmcgb2YgZW50aXR5IGl0ZW0gaWRzIHRvIGtpbmRzIHdpdGggZGlzcGxheSBsYWJlbHMuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gaW50ZXJwcmV0IGVudGl0eSBraW5kcyBhbmQgY2FwYWJpbGl0aWVzLgAmddkgGrNiC2dldGxvY2F0aW9u4gItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0bG9jYXRpb24Kc3VtbWFyeTogJ0dldCBsb2NhdGlvbiBpbmZvcm1hdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gcmV0dXJucyBpbmZvcm1hdGlvbiBhYm91dCBhIGxvY2F0aW9uIGluY2x1ZGluZyB3aGV0aGVyIGEgc3lzdGVtIGV4aXN0cywgYW5kIGZvciBlYWNoIGl0ZW06IHByaWNlLCBzdXBwbHksIHJhcml0eSBtdWx0aXBsaWVyLCBhbmQgbG9jYXRpb24gbXVsdGlwbGllci4AgMkmIRqzYgpnZXRsb2NkYXRh/gItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0bG9jZGF0YQpzdW1tYXJ5OiAnR2V0IGRlcml2ZWQgbG9jYXRpb24gZGF0YScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gcmV0dXJucyBkZXJpdmVkIGxvY2F0aW9uIGRhdGEgaW5jbHVkaW5nIHN0YXRpYyBwcm9wZXJ0aWVzICh0eXBlLCBkaWZmaWN1bHR5LCBzZWVkcykgZnJvbSB0aGUgZ2FtZSBzZWVkIGFuZCBlcG9jaC1zcGVjaWZpYyBwcm9wZXJ0aWVzIChhY3RpdmUsIHNlZWRzKSBmcm9tIHRoZSBjdXJyZW50IGVwb2NoIHNlZWQuAABbKE8ns2IKZ2V0bWludGNmZwDgk1E3TyezYgxnZXRtaW50cmVhZHkAALCqPicqs2ILZ2V0bW9kdHlwZXPWAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRtb2R0eXBlcwpzdW1tYXJ5OiAnR2V0IG1vZHVsZSB0eXBlIGVudW0gdmFsdWVzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgZnVsbCBzZXQgb2YgbW9kdWxlIHR5cGUgZW51bSB2YWx1ZXMgYW5kIHRoZWlyIHN0cmluZyBuYW1lcyAoYW55LCBlbmdpbmUsIGdlbmVyYXRvciwgZ2F0aGVyZXIsIGxvYWRlciwgd2FycCwgY3JhZnRlciwgbGF1bmNoZXIsIHN0b3JhZ2UsIGhhdWxlcikuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gZGVjb2RlIG1vZHVsZSBzdWJ0eXBlIGlkZW50aWZpZXJzIGFuZCBzbG90IGNvbXBhdGliaWxpdHkuAABWUScqs2IKZ2V0bW9kdWxlc4ADLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldG1vZHVsZXMKc3VtbWFyeTogJ0dldCBhbGwgbW9kdWxlIGl0ZW1zJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgc3Vic2V0IG9mIGl0ZW1zIGNsYXNzaWZpZWQgYXMgbW9kdWxlcywgaW5jbHVkaW5nIGVhY2ggbW9kdWxlJ3MgaWQsIG1hc3MsIHN1YnR5cGUsIGFuZCB0aWVyLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIGVudW1lcmF0ZSBpbnN0YWxsYWJsZSBlcXVpcG1lbnQuAADw5xo1s2IJZ2V0bmVhcmJ5ygMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0bmVhcmJ5CnN1bW1hcnk6ICdHZXQgbmVhcmJ5IHJlYWNoYWJsZSBzeXN0ZW1zJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIG5lYXJieSBzeXN0ZW1zIHJlYWNoYWJsZSBieSBhbiBlbnRpdHkgZnJvbSBpdHMgcHJvamVjdGVkIGxvY2F0aW9uLiBSZXR1cm5zIGN1cnJlbnQgc3RhdGUgKHdpdGggY29tcGxldGVkIHRhc2tzIHJlc29sdmVkKSwgcHJvamVjdGVkIHN0YXRlIChhZnRlciBhbGwgc2NoZWR1bGVkIHRhc2tzKSwgYW5kIGEgbGlzdCBvZiByZWFjaGFibGUgc3lzdGVtcyB3aXRoIGRpc3RhbmNlLCBlbmVyZ3kgY29zdCwgYW5kIGZsaWdodCB0aW1lLgCAwubkNbNiCmdldG5mdGJhc2UAAABd0+U1s2IKZ2V0bmZ0aW5mb/ADLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldG5mdGluZm8Kc3VtbWFyeTogJ0dldCBORlQgc2NoZW1hIGFuZCB0ZW1wbGF0ZSBjb25maWd1cmF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgZnVsbCBzZXQgb2YgQXRvbWljQXNzZXRzIHNjaGVtYXMgYW5kIHRlbXBsYXRlcyB0aGUgZ2FtZSBjb250cmFjdCBleHBlY3RzLCBwbHVzIHRoZSBjdXJyZW50IGBpdGVtX2lkIOKGkiAodGVtcGxhdGVfaWQsIHNjaGVtYV9uYW1lKWAgbWFwcGluZyBzdG9yZWQgaW4gdGhlIGBuZnRjb25maWdgIHRhYmxlLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIHN5bmMgYXRvbWljYXNzZXRzIHN0YXRlIHdpdGggdGhlIGNvbnRyYWN0LgAAuMqbWLNiCWdldHBsYXllcv0CLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHBsYXllcgpzdW1tYXJ5OiAnR2V0IHBsYXllciBpbmZvcm1hdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gcmV0dXJucyBpbmZvcm1hdGlvbiBhYm91dCBhIHBsYXllciBpbmNsdWRpbmcgYmFsYW5jZSwgZGVidCwgbmV0d29ydGgsIGVudGl0eSBjb3VudHMsIGFuZCBwcmljaW5nIGZvciBuZXh0IHB1cmNoYXNlcy4gUmV0dXJucyBpc19wbGF5ZXI9ZmFsc2UgaWYgdGhlIGFjY291bnQgaGFzIG5vdCBqb2luZWQgdGhlIGdhbWUuAAAAIFJas2IHZ2V0cG9vbAAAAAA4UlqzYghnZXRwb29scwCgssn40VuzYgxnZXRwcm9qc3RhdGXLAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRwcm9qc3RhdGUKc3VtbWFyeTogJ0dldCBwcm9qZWN0ZWQgZW50aXR5IHN0YXRlJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgcHJvamVjdGVkIHN0YXRlIG9mIGFuIGVudGl0eSBhZnRlciBhcHBseWluZyB0aGUgbmV4dCB0YXNrX2NvdW50IHNjaGVkdWxlZCB0YXNrcyAob3IgYWxsIHRhc2tzIGlmIHRhc2tfY291bnQgaXMgb21pdHRlZCkuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gcHJldmlldyB0aGUgcmVzdWx0IG9mIGFuIGVudGl0eSdzIHNjaGVkdWxlIHdpdGhvdXQgcmVzb2x2aW5nIG9uLWNoYWluLgAAUNUhdbNiCWdldHJlY2lwZaYDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHJlY2lwZQpzdW1tYXJ5OiAnR2V0IGEgc2luZ2xlIGNyYWZ0aW5nIHJlY2lwZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgdGhlIHJlY2lwZSB3aG9zZSBvdXRwdXQgbWF0Y2hlcyB0aGUgZ2l2ZW4gaXRlbSBpZCwgaW5jbHVkaW5nIGl0cyBpbnB1dHMsIGJsZW5kIHdlaWdodHMsIHN0YXQgc2xvdHMsIGFuZCByZXNvbHZlZCBpdGVtIG1hc3MgaW5mby4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyB0byBkaXNwbGF5IGNyYWZ0aW5nIHJlcXVpcmVtZW50cy4AAFbVIXWzYgpnZXRyZWNpcGVzrAMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0cmVjaXBlcwpzdW1tYXJ5OiAnTGlzdCBjcmFmdGluZyByZWNpcGVzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyBhIHBhZ2luYXRlZCBsaXN0IG9mIGNyYWZ0aW5nIHJlY2lwZXMgc3RhcnRpbmcgYXQgdGhlIHByb3ZpZGVkIGxvd2VyIGJvdW5kIG91dHB1dCBpdGVtIGlkLCB1cCB0byB0aGUgc3BlY2lmaWVkIGxpbWl0LiBFYWNoIGVudHJ5IGluY2x1ZGVzIGlucHV0cywgYmxlbmQgd2VpZ2h0cywgc3RhdCBzbG90cywgYW5kIHJlc29sdmVkIGl0ZW0gbWFzcyBpbmZvLgAAzgZhdbNiCmdldHJlc2NhdHOeAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRyZXNjYXRzCnN1bW1hcnk6ICdHZXQgcmVzb3VyY2UgY2F0ZWdvcnkgZW51bSB2YWx1ZXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBmdWxsIHNldCBvZiByZXNvdXJjZSBjYXRlZ29yeSBlbnVtIHZhbHVlcyBhbmQgdGhlaXIgc3RyaW5nIG5hbWVzIChvcmUsIGdhcywgcmVnb2xpdGgsIGJpb21hc3MsIGNyeXN0YWwpLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIGRlY29kZSByZXNvdXJjZSBzdWJ0eXBlIGlkZW50aWZpZXJzLgCw2ldhdbNiC2dldHJlc2VydmVz/AMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0cmVzZXJ2ZXMKc3VtbWFyeTogJ0dldCBjdXJyZW50IHJlc2VydmUgbW9kaWZpY2F0aW9ucyBhdCBhIGxvY2F0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIHRoZSBjaGFpbidzIG1vZGlmaWNhdGlvbnMgdG8gZGVyaXZlZCByZXNlcnZlcyBhdCB0aGUgZ2l2ZW4gY29vcmRpbmF0ZSBmb3IgdGhlIGN1cnJlbnQgZXBvY2ggYXMgYSBsaXN0IG9mIHtzdHJhdHVtLCByZW1haW5pbmd9IHBhaXJzLiBTdHJhdGEgbm90IHByZXNlbnQgaW4gdGhlIHJlc3BvbnNlIHVzZSB0aGVpciBkZXJpdmVkIGluaXRpYWwgcmVzZXJ2ZS4gQ29tcG9zZSB3aXRoIFNESyBkZXJpdmF0aW9uIHRvIGdldCB0aGUgZnVsbCBwZXItbG9jYXRpb24gc3RyYXRhIHZpZXcugBW6mmJ1s2IMZ2V0cmVzb3VyY2VzhwMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0cmVzb3VyY2VzCnN1bW1hcnk6ICdHZXQgYWxsIHJlc291cmNlIGl0ZW1zJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgc3Vic2V0IG9mIGl0ZW1zIGNsYXNzaWZpZWQgYXMgcmVzb3VyY2VzLCBpbmNsdWRpbmcgZWFjaCByZXNvdXJjZSdzIGlkLCBtYXNzLCBzdWJ0eXBlLCBhbmQgdGllci4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyB0byBlbnVtZXJhdGUgZ2F0aGVyYWJsZSBtYXRlcmlhbHMuAAAAONOIs2IIZ2V0c2xvdHO7Ay0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRzbG90cwpzdW1tYXJ5OiAnR2V0IGVudGl0eSBzbG90IGxheW91dHMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBtb2R1bGUgc2xvdCBsYXlvdXQgZm9yIGV2ZXJ5IGVudGl0eSBpdGVtIHR5cGUsIGxpc3RpbmcgdGhlIG9yZGVyZWQgc2xvdCB0eXBlcyBhdmFpbGFibGUgZm9yIG1vZHVsZSBpbnN0YWxsYXRpb24uIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gZGV0ZXJtaW5lIHdoaWNoIG1vZHVsZSB0eXBlcyBhcmUgY29tcGF0aWJsZSB3aXRoIGEgZ2l2ZW4gZW50aXR5IGh1bGwuAIDU2dyMs2IKZ2V0c3RyYXR1bdICLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHN0cmF0dW0Kc3VtbWFyeTogJ0dldCByZXNvdXJjZSBzdHJhdHVtIGRhdGEnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIHJldHVybnMgcmVzb3VyY2Ugc3RyYXR1bSBkYXRhIGZvciBhIHNwZWNpZmljIGRlcHRoIGxheWVyIGF0IGEgY29vcmRpbmF0ZSwgaW5jbHVkaW5nIHRoZSBzdHJhdHVtIHNlZWQgaW5mbyBhbmQgZGVyaXZlZCByZXNvdXJjZSBzdGF0cy6AlbtGSo2zYgxnZXRzdW1tYXJpZXPoAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRzdW1tYXJpZXMKc3VtbWFyeTogJ0dldCBlbnRpdHkgc3VtbWFyaWVzIGZvciBhIHBsYXllcicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUmV0dXJucyBsaWdodHdlaWdodCBzdW1tYXJpZXMgb2YgYWxsIGVudGl0aWVzIG93bmVkIGJ5IGEgcGxheWVyIGluY2x1ZGluZyB0eXBlLCBpZCwgb3duZXIsIG5hbWUsIGxvY2F0aW9uLCBhbmQgaWRsZSBzdGF0dXMuIE9wdGlvbmFsbHkgZmlsdGVyIGJ5IGVudGl0eSB0eXBlLuCTUVdlurNiDGdldHZvdGVyZWFkeQAAAABYZbqzYghnZXR2b3RlcwAAVKRNXsqzYgtnZXR3b3JtaG9sZQCQHZ7m5qrpZQxncm91cHRyYW5zaXQAAKLa5uaq6WULZ3JvdXB0cmF2ZWyaBC0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBncm91cHRyYXZlbApzdW1tYXJ5OiAnTW92ZSBtdWx0aXBsZSBlbnRpdGllcyB0b2dldGhlcicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW5pdGlhdGUgZ3JvdXAgdHJhdmVsIGZvciBtdWx0aXBsZSBlbnRpdGllcyB0byBhIGRlc3RpbmF0aW9uLiBBbGwgZW50aXRpZXMgbXVzdCBiZSBhdCB0aGUgc2FtZSBsb2NhdGlvbiBhbmQgb3duZWQgYnkgdGhlIGNhbGxlci4gQXQgbGVhc3Qgb25lIGVudGl0eSB3aXRoIGVuZ2luZXMgaXMgcmVxdWlyZWQgdG8gcHJvdmlkZSB0aHJ1c3QuIEZsaWdodCBkdXJhdGlvbiBpcyBjYWxjdWxhdGVkIGZyb20gY29tYmluZWQgdGhydXN0IGFuZCB0b3RhbCBtYXNzIG9mIGFsbCBlbnRpdGllcy4gQ3JlYXRlcyBhbiBlbnRpdHlncm91cCBmb3IgYXRvbWljIHJlc29sdXRpb24gYW5kIGNhbmNlbGxhdGlvbi4AAAAAANCwaQRoYXNo+AEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogaGFzaApzdW1tYXJ5OiAnQ2FsY3VsYXRlIHNoYTI1NiBoYXNoJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDYWxjdWxhdGVzIHRoZSBzaGEyNTYgaGFzaCBvZiBhIHN0cmluZyBiYXNlZCB1c2luZyB0aGUgZ2FtZSBzZWVkLgAAAECE0rBpB2hhc2g1MTL7AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBoYXNoNTEyCnN1bW1hcnk6ICdDYWxjdWxhdGUgc2hhNTEyIGhhc2gnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkNhbGN1bGF0ZXMgdGhlIHNoYTUxMiBoYXNoIG9mIGEgc3RyaW5nIGJhc2VkIHVzaW5nIHRoZSBnYW1lIHNlZWQuACi7BuVLq3QLaW1wb3J0Y2FyZ28AAECMCuVLq3QKaW1wb3J0Y2VsbADgs8tT5UurdAxpbXBvcnRlbnRpdHkAABqiVeVLq3QLaW1wb3J0ZXBvY2gAAKqml+VLq3QLaW1wb3J0Z3JvdXAAcBVENOZLq3QMaW1wb3J0bG9ja2VyAMAWymvmS6t0DGltcG9ydG5mdGNmZwBwlTex5kurdAxpbXBvcnRwbGF5ZXIAuq/C6uZLq3QNaW1wb3J0cmVzZXJ2ZQAAVDYZ50urdAtpbXBvcnRzdGF0ZQDKzKUZ50urdA1pbXBvcnRzdG9yYWdlAAAAAAAAMB19BGpvaW7EAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBqb2luCnN1bW1hcnk6ICdKb2luIGEgZ2FtZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSm9pbiBhIGdhbWUgb2YgU2hpcGxvYWQAAAAANDS1iQZsYXVuY2gAAAAAAACQDI0EbG9hZAAAAPDJqJunkwltaW50cmVhZHkAAAAAKrqsNpUIbW92ZXRpbGUAAID6Lpqrs5kKbmF0dXJhbGl6ZQAAAIhXM+nymgluZnRpbWd1cmyyAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBuZnRpbWd1cmwKc3VtbWFyeTogJ0dldCBORlQgaW1hZ2UgVVJMIGZvciBhIGNhcmdvIGl0ZW0nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBpbWFnZSBVUkwgdGhlIGNvbnRyYWN0IGVtaXRzIGZvciBhIGdpdmVuIGNhcmdvIGl0ZW0sIG9wdGlvbmFsbHkgc2NvcGVkIHRvIGEgbG9jYXRpb24uIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgYW5kIE5GVCByZW5kZXJlcnMgdG8gZmV0Y2ggdGhlIGNhbm9uaWNhbCBhcnR3b3JrIGZvciBhbiBpdGVtIG9yIHBhY2tlZCBlbnRpdHkuAAAAAPjlMp0Gbm90aWZ5igMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogbm90aWZ5CnN1bW1hcnk6ICdUYXNrIGxpZmVjeWNsZSBub3RpZmljYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkludGVybmFsIGFjdGlvbiB0aGF0IG5vdGlmaWVzIGVudGl0eSBvd25lcnMgb2YgdGFzayBsaWZlY3ljbGUgZXZlbnRzIChyZXNvbHZlZCwgY2FuY2VsbGVkKS4gQ2FsbGVkIGlubGluZSB3aGVuIHRhc2tzIGNoYW5nZSBzdGF0ZS4gVXNlcyByZXF1aXJlX3JlY2lwaWVudCB0byBlbmFibGUgb2ZmLWNoYWluIG1vbml0b3JpbmcgdmlhIGFjdGlvbiB0cmFjZXMuAABl1yCFTKwKcGxhY2VjYXJnb8kELS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHBsYWNlY2FyZ28Kc3VtbWFyeTogJ1Jlc3RvcmUgTkZUIGNhcmdvIG9udG8gYSBob3N0IGVudGl0eScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW50ZXJuYWwgYWN0aW9uIGNhbGxlZCBpbmxpbmUgYnkgdGhlIHBsYXRmb3JtIGNvbnRyYWN0IG9ubHkuIFJlc3RvcmVzIHRoZSBjYXJnbyByZWNvcmRlZCBpbiBhbiB1bndyYXBwZWQgTkZUIG9udG8gYSBob3N0IGVudGl0eS4gVmFsaWRhdGVzIGhvc3Qgb3duZXJzaGlwLCBsb2FkZXJzLCBhbmQgcmVtYWluaW5nIGNhcGFjaXR5LCBkZXNlcmlhbGl6ZXMgdGhlIE5GVCdzIGl0ZW0gZGF0YSwgYW5kIGFwcGVuZHMgYW4gdW53cmFwIHRhc2sgdG8gZGVsaXZlciB0aGUgY2FyZ28gdG8gdGhlIGhvc3QuIFRoZSBwbGF0Zm9ybSBjb250cmFjdCBjcmVkaXRzIHRoZSBkZXBvc2l0IHJlZnVuZCBhbmQgYnVybnMgdGhlIGFzc2V0LiBSZXF1aXJlcyBjb250cmFjdCBhdXRob3JpdHkuAHx2eSqFTKwLcGxhY2VlbnRpdHnABC0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBwbGFjZWVudGl0eQpzdW1tYXJ5OiAnTWF0ZXJpYWxpemUgYSBwYWNrZWQtZW50aXR5IE5GVCBhcyBhIGxpdmUgZW50aXR5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbnRlcm5hbCBhY3Rpb24gY2FsbGVkIGlubGluZSBieSB0aGUgcGxhdGZvcm0gY29udHJhY3Qgb25seS4gRW1wbGFjZXMgYSBsaXZlIG9yYml0YWwgdmVzc2VsIChzaGlwIG9yIGNvbnRhaW5lcikgZnJvbSBpdHMgcGFja2VkLWVudGl0eSBORlQgZGF0YSBhdCB0aGUgcmVjb3JkZWQgd3JhcCBvcmlnaW4sIHRoZW4gcXVldWVzIHRyYXZlbCBhbmQgcmVjaGFyZ2UgdGFza3MgdG8gZGVsaXZlciBpdCB0byB0aGUgdGFyZ2V0IG5leHVzIGF0IGZ1bGwgZW5lcmd5LiBUaGUgcGxhdGZvcm0gY29udHJhY3QgY3JlZGl0cyB0aGUgZGVwb3NpdCByZWZ1bmQgYW5kIGJ1cm5zIHRoZSBhc3NldC4gUmVxdWlyZXMgY29udHJhY3QgYXV0aG9yaXR5LgAAAIpd05C6CHJlY2hhcmdlzQItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogcmVjaGFyZ2UKc3VtbWFyeTogJ1JlY2hhcmdlIHNoaXAgZW5lcmd5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpTY2hlZHVsZSBhIHJlY2hhcmdlIHRhc2sgZm9yIGFuIGVudGl0eSB0byByZXN0b3JlIGVuZXJneSB0byBmdWxsIGNhcGFjaXR5LiBUaGUgcmVjaGFyZ2UgZHVyYXRpb24gZGVwZW5kcyBvbiBjdXJyZW50IGVuZXJneSBsZXZlbCBhbmQgcmVjaGFyZ2UgcmF0ZS7gs8tTNXyXugxyZWZyc2hlbnRpdHm4Ay0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiByZWZyc2hlbnRpdHkKc3VtbWFyeTogJ1JlZnJlc2ggZGVyaXZlZCBlbnRpdHkgc3RhdGUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJlY29tcHV0ZSBkZXJpdmVkIGZpZWxkcyBvbiBhbiBlbnRpdHkgZnJvbSBpdHMgY3VycmVudCBjYXJnbyBhbmQgbW9kdWxlcywgcmVmcmVzaGluZyBjYXBhYmlsaXR5IHN0YXRzIGFuZCBjYXJnbyBtYXNzLiBUaGUgZW50aXR5IG11c3QgYmUgaWRsZSB3aXRoIG5vIHNjaGVkdWxlZCB0YXNrcy4gVXNlZCB0byByZWNvbmNpbGUgZGVyaXZlZCBzdGF0ZSBhZnRlciBkYXRhIG1pZ3JhdGlvbnMgb3IgY29udHJhY3QgdXBncmFkZXMuoCIyl6pNpboMcmVtb3Zlb3JhY2xlAAAAAAAoaaa6BnJlbmFtZQAAAABA7UixugdyZXNvbHZl0AMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogcmVzb2x2ZQpzdW1tYXJ5OiAnQ29tcGxldGUgc2NoZWR1bGVkIHRhc2tzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpSZXNvbHZlIGNvbXBsZXRlZCB0YXNrcyBpbiBhbiBlbnRpdHkncyBzY2hlZHVsZSwgYXBwbHlpbmcgdGhlaXIgZWZmZWN0cyAocmVjaGFyZ2UgZW5lcmd5LCB1cGRhdGUgbG9jYXRpb24sIGxvYWQvdW5sb2FkIGNhcmdvKS4gSWYgY291bnQgaXMgc3BlY2lmaWVkLCByZXNvbHZlIGV4YWN0bHkgdGhhdCBtYW55IHRhc2tzOyBvdGhlcndpc2UgcmVzb2x2ZSBhbGwgY29tcGxldGVkIHRhc2tzLiBGYWlscyBpZiBjb3VudCBleGNlZWRzIHRoZSBudW1iZXIgb2YgY29tcGxldGVkIHRhc2tzLgBAjEbtSLG6CnJlc29sdmVhbGwA4OM1Su1IsboMcmVzb2x2ZWVhcmx5AAAAAABEo7a6BnJldmVhbAAAAAAq6kSlvAhybW1vZHVsZbwDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHJtbW9kdWxlCnN1bW1hcnk6ICdSZW1vdmUgYSBtb2R1bGUgZnJvbSBhIHNsb3QnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJlbW92ZSBhbiBpbnN0YWxsZWQgbW9kdWxlIGZyb20gYSBzbG90IG9uIGEgbGl2ZSBlbnRpdHkgb3IgYSBwYWNrZWQgZW50aXR5IGluIGNhcmdvLiBUaGUgZW50aXR5IG11c3QgYmUgaWRsZSB3aXRoIG5vIHNjaGVkdWxlZCB0YXNrcy4gVGhlIG1vZHVsZSBpcyByZXR1cm5lZCB0byBjYXJnby4gRmFpbHMgaWYgdGhlIGVudGl0eSBkb2VzIG5vdCBoYXZlIGVub3VnaCBjYXJnbyBjYXBhY2l0eSB0byBob2xkIHRoZSByZXR1cm5lZCBtb2R1bGUuAAAAbKG8prwIcm1uZnRjZmehAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBybW5mdGNmZwpzdW1tYXJ5OiAnUmVtb3ZlIE5GVCB0ZW1wbGF0ZSBtYXBwaW5nIGZvciBhbiBpdGVtJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpSZW1vdmUgdGhlIEF0b21pY0Fzc2V0cyB0ZW1wbGF0ZSBtYXBwaW5nIGZvciB0aGUgc3BlY2lmaWVkIGl0ZW0gaWQgZnJvbSB0aGUgYG5mdGNvbmZpZ2AgdGFibGUuIEFmdGVyIHJlbW92YWwgdGhlIGl0ZW0gY2FuIG5vIGxvbmdlciBiZSB3cmFwcGVkIG9yIHVud3JhcHBlZCB1bnRpbCBhIG5ldyBtYXBwaW5nIGlzIHNldC4gUmVxdWlyZXMgY29udHJhY3QgYXV0aG9yaXR5LgAAAMhth7LCCHNldGNpdmljAADAVRnriLLCCnNldGNsdXN0ZXIAAADA6VKKssIJc2V0Y29vcmRzAADUdDEZlbLCC3NldGRlYWRsaW5lAADAvPqs6bLCCnNldGluZmJ1cm4AAAAAIa3pssIIc2V0aW5mZDEAkKaRKq3pssIMc2V0aW5mZGVtYW5kAABAnk6u6bLCCnNldGluZm1pbnQAkBtziq/pssIMc2V0aW5md2VpZ2h0AAAASC53NbPCCXNldG5leHRpZAAAAGAL5TWzwglzZXRuZnRjZmfEAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBzZXRuZnRjZmcKc3VtbWFyeTogJ1NldCBORlQgdGVtcGxhdGUgbWFwcGluZyBmb3IgYW4gaXRlbScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQmluZCBhbiBpdGVtIGlkIHRvIGFuIEF0b21pY0Fzc2V0cyB0ZW1wbGF0ZSBpZCBhbmQgc2NoZW1hIG5hbWUuIFVzZWQgdG8gY29uZmlndXJlIGhvdyB0aGUgY29udHJhY3QgbWludHMgYW5kIHJlY29nbml6ZXMgTkZUcyBmb3IgYSBnaXZlbiBpdGVtLiBJbnNlcnRzIGEgbmV3IG1hcHBpbmcgaWYgb25lIGRvZXMgbm90IGV4aXN0LCBvciB1cGRhdGVzIHRoZSBleGlzdGluZyBtYXBwaW5nLiBSZXF1aXJlcyBjb250cmFjdCBhdXRob3JpdHkukCJtWN2Ws8IMc2V0dGhyZXNob2xkAJBpjOaomLPCDHNldHRsZWJhbGxvdAAwnazm8qmzwgxzZXR1bndyYXBtaW4AADKmqJrLs8ILc2V0d3JhcGNvc3QAAIBSq5rLs8IKc2V0d3JhcGZlZQAAAABAxZx1wwdzaHV0dGxlAAAAoOwaxGnGCXN0b3djYXJnb9UFLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHN0b3djYXJnbwpzdW1tYXJ5OiAnUmVzZXJ2ZSBhIGNhcmdvIHN0YWNrIGZvciB3cmFwcGluZyBpbnRvIGFuIE5GVCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW50ZXJuYWwgYWN0aW9uIGNhbGxlZCBpbmxpbmUgYnkgdGhlIHBsYXRmb3JtIGNvbnRyYWN0IG9ubHkuIFJlc2VydmVzIGFuZCBjb25zdW1lcyBhIGNhcmdvIHN0YWNrIG9uIGEgbGl2ZSBlbnRpdHkgZm9yIHdyYXBwaW5nIGludG8gYW4gTkZULiBWYWxpZGF0ZXMgZW50aXR5IG93bmVyc2hpcCwgbG9hZGVycywgYW5kIHByZXNlbmNlIGF0IHRoZSBuZXh1cywgYW5kIGNvbmZpcm1zIHRoZSB0YXJnZXQgY2FyZ28gc3RhY2sgaXMgYXZhaWxhYmxlIGFuZCBub3QgcmVzZXJ2ZWQgYnkgYSBwZW5kaW5nIHRhc2suIENvbXB1dGVzIHRoZSB3cmFwIGNvc3QgYW5kIGZlZSwgZGViaXRzIHRoZW0gZnJvbSB0aGUgb3duZXIncyBwbGF0Zm9ybSBkZXBvc2l0IGJhbGFuY2UsIGRlcml2ZXMgdGhlIE5GVCdzIGltbXV0YWJsZSBkYXRhLCBhbmQgbWludHMgdGhlIE5GVCBpbmxpbmUgYXMgdGhlIGdhbWUgY29udHJhY3QgYmVmb3JlIGNvbnN1bWluZyB0aGUgY2FyZ28uIFJlcXVpcmVzIGNvbnRyYWN0IGF1dGhvcml0eS4AgM8uT8VpxgpzdG93ZW50aXR5mQUtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogc3Rvd2VudGl0eQpzdW1tYXJ5OiAnUmVzZXJ2ZSBhbiBlbnRpdHkgZm9yIHdyYXBwaW5nIGludG8gYW4gTkZUJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbnRlcm5hbCBhY3Rpb24gY2FsbGVkIGlubGluZSBieSB0aGUgcGxhdGZvcm0gY29udHJhY3Qgb25seS4gUmVzZXJ2ZXMgYSB3aG9sZSBlbnRpdHkgKHNoaXAsIGNvbnRhaW5lciwgb3IgcGxhbmV0YXJ5IHN0cnVjdHVyZSkgZm9yIHdyYXBwaW5nIGludG8gYW4gTkZULiBUaGUgZW50aXR5IG11c3QgYmUgaWRsZSB3aXRoIGVtcHR5IGNhcmdvIGFuZCBubyBzY2hlZHVsZWQgdGFza3MuIENvbXB1dGVzIHRoZSB3cmFwIGNvc3QgYW5kIGZlZSwgZGViaXRzIHRoZW0gZnJvbSB0aGUgb3duZXIncyBwbGF0Zm9ybSBkZXBvc2l0IGJhbGFuY2UsIGRlcml2ZXMgdGhlIGVudGl0eSBORlQncyBpbW11dGFibGUgZGF0YSwgbWludHMgdGhlIE5GVCBpbmxpbmUgYXMgdGhlIGdhbWUgY29udHJhY3QsIGFuZCBlcmFzZXMgdGhlIGVudGl0eSBmcm9tIHRoZSB3b3JsZC4gUmVxdWlyZXMgY29udHJhY3QgYXV0aG9yaXR5LgCAijpRWQ3HCnN3YXBtb2R1bGUAAAAAKrpcDccIc3dhcHRpbGUAAAAAIDs8zc0HdHJhbnNpdAAAAAAARLXNzQZ0cmF2ZWz7AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB0cmF2ZWwKc3VtbWFyeTogJ01vdmUgYSBzaGlwJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbml0aWF0ZSB0cmF2ZWwgb2YgYW4gZW50aXR5IGZyb20gaXRzIGN1cnJlbnQgbG9jYXRpb24gdG8gYSBuZXcgZGVzdGluYXRpb24uAMA0sUa1zc0KdHJhdmVscGxhbgAAAACexqrS1Ah1bmRlcGxveecELS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHVuZGVwbG95CnN1bW1hcnk6ICdQYWNrIGEgZGVwbG95ZWQgZW50aXR5IGludG8gYSBob3N0JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpQYWNrIGFuIGVudGl0eSBpbnRvIGEgaG9zdCBlbnRpdHkncyBjYXJnbyBhcyBhIHBhY2tlZC1lbnRpdHkgaXRlbS4gSG9zdCBhbmQgdGFyZ2V0IG11c3Qgc2hhcmUgdGhlIHNhbWUgb3duZXIgYW5kIGNvb3JkaW5hdGVzLCB0aGUgaG9zdCBtdXN0IGhhdmUgbG9hZGVycyBhbmQgZW5vdWdoIGNhcGFjaXR5IGZvciB0aGUgcGFja2VkIG1hc3MsIGFuZCB0aGUgdGFyZ2V0IG11c3QgYmUgaWRsZSB3aXRoIGVtcHR5IGNhcmdvLiBDcmVhdGVzIGFuIGVudGl0eWdyb3VwIGFuZCBzY2hlZHVsZXMgdW5kZXBsb3kgdGFza3Mgb24gYm90aCBlbnRpdGllczsgb24gcmVzb2x1dGlvbiB0aGUgdGFyZ2V0IGlzIGVyYXNlZCBhbmQgdGhlIHBhY2tlZCBlbnRpdHkgaXMgYWRkZWQgdG8gdGhlIGhvc3QncyBjYXJnby4gSW52ZXJzZSBvZiBkZXBsb3kuAAAAACRD49QGdW5sb2FkAAAAAEAlc1nVB3VwZ3JhZGUAAADwyairMt0Jdm90ZXJlYWR5AAAAAAAAUK/hBHdhcnCfAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB3YXJwCnN1bW1hcnk6ICdXYXJwIHRvIGEgZGVzdGluYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkluc3RhbnRseSB0ZWxlcG9ydCBhbiBlbnRpdHkgdG8gYSBkZXN0aW5hdGlvbiBzeXN0ZW0uIFJlcXVpcmVzIHdhcnAgY2FwYWJpbGl0eSwgZnVsbCBlbmVyZ3ksIGVtcHR5IGNhcmdvLCBhbmQgYW4gZW1wdHkgc2NoZWR1bGUuIFRoZSBkZXN0aW5hdGlvbiBtdXN0IGJlIGEgdmFsaWQgc3lzdGVtIHdpdGhpbiB3YXJwIHJhbmdlLiBSZXNvbHZlcyBpbW1lZGlhdGVseSBhcyBhIHplcm8tZHVyYXRpb24gdGFzay4AAAAAAKCq4wR3aXBlsgEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogd2lwZQpzdW1tYXJ5OiAnREVCVUc6IHdpcGUgYWN0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tKAAAAABkGqM5A2k2NAAACmJhbGxvdF9yb3cAMESuZhqjOQNpNjQAAA9iYWxsb3RwaWNrc19yb3cAALAKZxqjOQNpNjQAAA5iYWxsb3Rfc2VxX3Jvd6BizgpnGqM5A2k2NAAAEGJhbGxvdHNldHRsZV9yb3cAAMBsuhSdPgNpNjQAAA1idWlsZGluZ3Nfcm93AADAh74UnT4DaTY0AAAMYnVpbGRqb2Jfcm93AAAAAADKrkEDaTY0AAAJY2FyZ29fcm93AKpreKrvskMDaTY0AAAPY2l0aXplbnNoaXBfcm93AJhbkyLktkMDaTY0AAAPY2l2aWNjb25maWdfcm93AAAAAGDpTEQDaTY0AAAJY2xhaW1fcm93AAAA4KqMdUQDaTY0AAALY2x1c3Rlcl9yb3cAAAAAZCclRQNpNjQAAApjb21taXRfcm93AADAh768zEUDaTY0AAAMY3JhZnRqb2Jfcm93AAAAAPjs8lQDaTY0AAAKZW50aXR5X3JvdwCqppf57PJUA2k2NAAAD2VudGl0eWdyb3VwX3JvdwAAsAr77PJUA2k2NAAADmVudGl0eV9zZXFfcm93AAAAAICGaFUDaTY0AAAJZXBvY2hfcm93AAAAYF591nQDaTY0AAALaW5mYnVybl9yb3cAAEjTSJXWdANpNjQAAA1pbmZkZW1hbmRfcm93AAAAIE8n13QDaTY0AAALaW5mbWludF9yb3cAAAAgUlrXdANpNjQAAAtpbmZwb29sX3JvdwCAzy4abdd0A2k2NAAADmluZnF1YWxpdHlfcm93AADIjTnF13QDaTY0AAANaW5md2VpZ2h0X3JvdwAAAABfBRGNA2k2NAAACmxvY2tlcl9yb3cAAABYZZOmkQNpNjQAAAxtYW5kYXRlc19yb3cAAAAAAJunkwNpNjQAAAltaW50cV9yb3cAAGBuTYrymgNpNjQAAA1uZnRjb25maWdfcm93AABgC6mIzKUDaTY0AAARb3JhY2xlX2NvbmZpZ19yb3cAAAAAq4jMpQNpNjQAAApvcmFjbGVfcm93AAAAAFzlTawDaTY0AAAKcGxheWVyX3JvdwAAABiry+itA2k2NAAADHByb2dyZXNzX3JvdwAAAEDtq7C6A2k2NAAAC3Jlc2VydmVfcm93AAAAAESjtroDaTY0AAAKcmV2ZWFsX3JvdwAAAGy6NE3GA2k2NAAADHN0YW5kaW5nX3JvdwAAAAAAlU3GA2k2NAAACXN0YXRlX3JvdwAAAEAxc2nGA2k2NAAAC3N0b3JhZ2Vfcm93AAAAAACsqs8DaTY0AAAJdHlwZXNfcm93AAAAAOAUL+UDaTY0AAAKd29ybGRzX3JvdwAAc2tSVM3lA2k2NAAADndyYXBjb25maWdfcm93AAAAGVNUzeUDaTY0AAAMd3JhcGNvc3Rfcm93ARFTaGlwbG9hZCAoU2VydmVyKRFTaGlwbG9hZCAoU2VydmVyKQAAAGIAMo110jTNMQx0YXNrX3Jlc3VsdHMAwHE3T4pSMgx0YXNrX3Jlc3VsdHMAAACHvhSdPg53aW5kb3dfcmVjZWlwdAAAyDTWFJ0+DHRhc2tfcmVzdWx0cwAAAABEhaZBDmNhbmNlbF9yZXN1bHRzAFJ0+kSFpkEMdGFza19yZXN1bHRzAJDbDkWFpkEOY2FuY2VsX3Jlc3VsdHOgYs66YeS2Qwx0YXNrX3Jlc3VsdHMAQF7mIulMRAx0YXNrX3Jlc3VsdHMAAMg0VulMRAx0YXNrX3Jlc3VsdHOQl7noqox1RAx0YXNrX3Jlc3VsdHMAAAAAgLzMRQx0YXNrX3Jlc3VsdHMAAACHvrzMRQ53aW5kb3dfcmVjZWlwdAAAAAAiV9lJC3NvY2tldF9waWNrAAAACplY2UkPcmVzZXJ2ZWRfd2luZG93AACAyFR12UkNcmVwYWNrX3Jlc3VsdAAAAA27SKVKDHRhc2tfcmVzdWx0cwAAAAB4GqtKDHRhc2tfcmVzdWx0cwCAujTjTKtKDHRhc2tfcmVzdWx0cwAAUNDkTKtKDHRhc2tfcmVzdWx0cwCAzy5PhbBKBnN0cmluZwAAAABc1bJhDHRhc2tfcmVzdWx0cwDANLFe1bJhDHRhc2tfcmVzdWx0c4APfSk6fbJiEGJ1aWxkam9ic19yZXN1bHQAwFX5moayYg5jaGFydGVyX3Jlc3VsdKDUzfmahrJiE2NoYXJ0ZXJfdHJlZV9yZXN1bHTgk1E334ayYhNjaGFydGVycmVhZHlfcmVzdWx0AMBVGeuIsmILY2x1c3Rlcl9yb3cAAGBuTYqyYgtnYW1lX2NvbmZpZ4APfXmZi7JiEGNyYWZ0am9ic19yZXN1bHQAAKiSIpWyYg1kZWNvbXBfcmVzdWx0AABI00iVsmINZGVtYW5kX3Jlc3VsdABAdphWlbJiDmV4dGVuZGVkX2Fzc2V0AAAAmVaVsmIKZGVwb3RfdmlldwAUmiZjl7JiBnVpbnQ2NABUPI65qLJiCHVpbnQxNltdAADAEeWpsmILZW51bV9yZXN1bHQAsHLZ5amyYg1lbnRpdHlfaW5mb1tdAADw2eWpsmILZW50aXR5X2luZm+Qp7s1U7qyYhBmb290cHJpbnRfcmVzdWx0ALxBKq3psmIGdWludDY0oNBUOq7psmIQaW5mbHVlbmNlX3RvdGFscwCUjmav6bJiD2luZnZhbHVlX3Jlc3VsdABMNkmq7LJiD2l0ZW1kYXRhX3Jlc3VsdAAATk6q7LJiD2l0ZW1faWRzX3Jlc3VsdAAAAFiq7LJiCml0ZW1zX2luZm8AVPVZquyyYgV1aW50OIBV9Vmq7LJiC2VudW1fcmVzdWx0AExWMk0Hs2IQa2luZF9tZXRhX3Jlc3VsdAAmddkgGrNiDWxvY2F0aW9uX2luZm8AgMkmIRqzYhBsb2NhdGlvbl9kZXJpdmVkAABbKE8ns2IObWludGNmZ19yZXN1bHTgk1E3TyezYgZ1aW50MzIAsKo+JyqzYgtlbnVtX3Jlc3VsdAAAVlEnKrNiDm1vZHVsZXNfcmVzdWx0AADw5xo1s2ILbmVhcmJ5X2luZm8AgMLm5DWzYghzdHJpbmdbXQAAXdPlNbNiDm5mdGluZm9fcmVzdWx0AAC4yptYs2ILcGxheWVyX2luZm8AAAAgUlqzYhBwb29sX3BhaXJfcmVzdWx0AAAAOFJas2IMcG9vbHNfcmVzdWx0oLLJ+NFbs2IPcHJvamVjdGVkX3N0YXRlAABQ1SF1s2IOcmVjaXBlc19yZXN1bHQAAFbVIXWzYg5yZWNpcGVzX3Jlc3VsdAAAzgZhdbNiC2VudW1fcmVzdWx0ALDaV2F1s2ITc3RyYXR1bV9yZW1haW5pbmdbXYAVuppidbNiEHJlc291cmNlc19yZXN1bHQAAAA404izYhVlbnRpdHlfbGF5b3V0c19yZXN1bHQAgNTZ3IyzYgxzdHJhdHVtX2RhdGGAlbtGSo2zYhBlbnRpdHlfc3VtbWFyeVtd4JNRV2W6s2IGdWludDMyAAAAWGW6s2ILdm90ZV9yZXN1bHQAVKRNXsqzYg13b3JtaG9sZV9pbmZvkB2e5uaq6WUMdGFza19yZXN1bHRzAKLa5uaq6WUMdGFza19yZXN1bHRzAAAAAADQsGkLY2hlY2tzdW0yNTYAAABAhNKwaQtjaGVja3N1bTUxMgAAAAA0NLWJDHRhc2tfcmVzdWx0cwAAAAAAkAyNDHRhc2tfcmVzdWx0cwAAACq6rDaVDHRhc2tfcmVzdWx0cwAAiFcz6fKaBnN0cmluZwAAZdcghUysDHRhc2tfcmVzdWx0cwB8dnkqhUysDHRhc2tfcmVzdWx0cwAAAIpd05C6DHRhc2tfcmVzdWx0cwAAAEDtSLG6D3Jlc29sdmVfcmVzdWx0cwBAjEbtSLG6EnJlc29sdmVhbGxfcmVzdWx0c+DjNUrtSLG6D3Jlc29sdmVfcmVzdWx0cwAAAEDFnHXDDHRhc2tfcmVzdWx0cwAAoOwaxGnGDHRhc2tfcmVzdWx0cwCAzy5PxWnGDHRhc2tfcmVzdWx0cwAAACq6XA3HDHRhc2tfcmVzdWx0cwAAACA7PM3NDHRhc2tfcmVzdWx0cwAAAABEtc3NDHRhc2tfcmVzdWx0cwDANLFGtc3NDHRhc2tfcmVzdWx0cwAAAJ7GqtLUDHRhc2tfcmVzdWx0cwAAAAAkQ+PUDHRhc2tfcmVzdWx0cwAAAEAlc1nVDHRhc2tfcmVzdWx0cwAAAAAAUK/hDHRhc2tfcmVzdWx0cw==');
|
|
855
855
|
const abi$1 = ABI.from(abiBlob$1);
|
|
856
856
|
var Types$1;
|
|
857
857
|
(function (Types) {
|
|
@@ -1104,6 +1104,21 @@ var Types$1;
|
|
|
1104
1104
|
Struct.type('blend')
|
|
1105
1105
|
], blend);
|
|
1106
1106
|
Types.blend = blend;
|
|
1107
|
+
let blenddepot = class blenddepot extends Struct {
|
|
1108
|
+
};
|
|
1109
|
+
__decorate([
|
|
1110
|
+
Struct.field(UInt64)
|
|
1111
|
+
], blenddepot.prototype, "depot_id", void 0);
|
|
1112
|
+
__decorate([
|
|
1113
|
+
Struct.field(Name)
|
|
1114
|
+
], blenddepot.prototype, "owner", void 0);
|
|
1115
|
+
__decorate([
|
|
1116
|
+
Struct.field(cargo_item, { array: true })
|
|
1117
|
+
], blenddepot.prototype, "inputs", void 0);
|
|
1118
|
+
blenddepot = __decorate([
|
|
1119
|
+
Struct.type('blenddepot')
|
|
1120
|
+
], blenddepot);
|
|
1121
|
+
Types.blenddepot = blenddepot;
|
|
1107
1122
|
let builder_lane = class builder_lane extends Struct {
|
|
1108
1123
|
};
|
|
1109
1124
|
__decorate([
|
|
@@ -2853,6 +2868,12 @@ var Types$1;
|
|
|
2853
2868
|
Struct.type('fixcargomass')
|
|
2854
2869
|
], fixcargomass);
|
|
2855
2870
|
Types.fixcargomass = fixcargomass;
|
|
2871
|
+
let fixhubid = class fixhubid extends Struct {
|
|
2872
|
+
};
|
|
2873
|
+
fixhubid = __decorate([
|
|
2874
|
+
Struct.type('fixhubid')
|
|
2875
|
+
], fixhubid);
|
|
2876
|
+
Types.fixhubid = fixhubid;
|
|
2856
2877
|
let fixitemids = class fixitemids extends Struct {
|
|
2857
2878
|
};
|
|
2858
2879
|
fixitemids = __decorate([
|
|
@@ -3561,6 +3582,33 @@ var Types$1;
|
|
|
3561
3582
|
Struct.type('importgroup')
|
|
3562
3583
|
], importgroup);
|
|
3563
3584
|
Types.importgroup = importgroup;
|
|
3585
|
+
let locker_row = class locker_row extends Struct {
|
|
3586
|
+
};
|
|
3587
|
+
__decorate([
|
|
3588
|
+
Struct.field(UInt64)
|
|
3589
|
+
], locker_row.prototype, "depot_id", void 0);
|
|
3590
|
+
__decorate([
|
|
3591
|
+
Struct.field(UInt64)
|
|
3592
|
+
], locker_row.prototype, "stored_mass", void 0);
|
|
3593
|
+
__decorate([
|
|
3594
|
+
Struct.field(UInt64)
|
|
3595
|
+
], locker_row.prototype, "reserved_mass", void 0);
|
|
3596
|
+
locker_row = __decorate([
|
|
3597
|
+
Struct.type('locker_row')
|
|
3598
|
+
], locker_row);
|
|
3599
|
+
Types.locker_row = locker_row;
|
|
3600
|
+
let importlocker = class importlocker extends Struct {
|
|
3601
|
+
};
|
|
3602
|
+
__decorate([
|
|
3603
|
+
Struct.field(Name)
|
|
3604
|
+
], importlocker.prototype, "owner", void 0);
|
|
3605
|
+
__decorate([
|
|
3606
|
+
Struct.field(locker_row)
|
|
3607
|
+
], importlocker.prototype, "row", void 0);
|
|
3608
|
+
importlocker = __decorate([
|
|
3609
|
+
Struct.type('importlocker')
|
|
3610
|
+
], importlocker);
|
|
3611
|
+
Types.importlocker = importlocker;
|
|
3564
3612
|
let nftconfig_row = class nftconfig_row extends Struct {
|
|
3565
3613
|
};
|
|
3566
3614
|
__decorate([
|
|
@@ -3651,6 +3699,18 @@ var Types$1;
|
|
|
3651
3699
|
Struct.type('importstate')
|
|
3652
3700
|
], importstate);
|
|
3653
3701
|
Types.importstate = importstate;
|
|
3702
|
+
let importstorage = class importstorage extends Struct {
|
|
3703
|
+
};
|
|
3704
|
+
__decorate([
|
|
3705
|
+
Struct.field(UInt64)
|
|
3706
|
+
], importstorage.prototype, "depot_id", void 0);
|
|
3707
|
+
__decorate([
|
|
3708
|
+
Struct.field(storage_row)
|
|
3709
|
+
], importstorage.prototype, "row", void 0);
|
|
3710
|
+
importstorage = __decorate([
|
|
3711
|
+
Struct.type('importstorage')
|
|
3712
|
+
], importstorage);
|
|
3713
|
+
Types.importstorage = importstorage;
|
|
3654
3714
|
let infburn_row = class infburn_row extends Struct {
|
|
3655
3715
|
};
|
|
3656
3716
|
__decorate([
|
|
@@ -4053,21 +4113,6 @@ var Types$1;
|
|
|
4053
4113
|
Struct.type('location_info')
|
|
4054
4114
|
], location_info);
|
|
4055
4115
|
Types.location_info = location_info;
|
|
4056
|
-
let locker_row = class locker_row extends Struct {
|
|
4057
|
-
};
|
|
4058
|
-
__decorate([
|
|
4059
|
-
Struct.field(UInt64)
|
|
4060
|
-
], locker_row.prototype, "depot_id", void 0);
|
|
4061
|
-
__decorate([
|
|
4062
|
-
Struct.field(UInt64)
|
|
4063
|
-
], locker_row.prototype, "stored_mass", void 0);
|
|
4064
|
-
__decorate([
|
|
4065
|
-
Struct.field(UInt64)
|
|
4066
|
-
], locker_row.prototype, "reserved_mass", void 0);
|
|
4067
|
-
locker_row = __decorate([
|
|
4068
|
-
Struct.type('locker_row')
|
|
4069
|
-
], locker_row);
|
|
4070
|
-
Types.locker_row = locker_row;
|
|
4071
4116
|
let mandates_row = class mandates_row extends Struct {
|
|
4072
4117
|
};
|
|
4073
4118
|
__decorate([
|
|
@@ -10394,441 +10439,312 @@ var items = [
|
|
|
10394
10439
|
}
|
|
10395
10440
|
];
|
|
10396
10441
|
|
|
10397
|
-
const
|
|
10398
|
-
|
|
10399
|
-
102: { name: 'Ore', description: 'Refined metallic ore with improved purity.', color: '#C26D3F' },
|
|
10400
|
-
103: {
|
|
10442
|
+
const itemFamilies = {
|
|
10443
|
+
ore: {
|
|
10401
10444
|
name: 'Ore',
|
|
10402
|
-
description: '
|
|
10445
|
+
description: 'Refines into Plate and Beam.',
|
|
10403
10446
|
color: '#C26D3F',
|
|
10404
10447
|
},
|
|
10405
|
-
|
|
10406
|
-
105: { name: 'Ore', description: '', color: '#C26D3F' },
|
|
10407
|
-
106: { name: 'Ore', description: '', color: '#C26D3F' },
|
|
10408
|
-
107: { name: 'Ore', description: '', color: '#C26D3F' },
|
|
10409
|
-
108: { name: 'Ore', description: '', color: '#C26D3F' },
|
|
10410
|
-
109: { name: 'Ore', description: '', color: '#C26D3F' },
|
|
10411
|
-
110: { name: 'Ore', description: '', color: '#C26D3F' },
|
|
10412
|
-
201: { name: 'Crystal', description: 'Raw resonant crystal.', color: '#4ADBFF' },
|
|
10413
|
-
202: {
|
|
10448
|
+
crystal: {
|
|
10414
10449
|
name: 'Crystal',
|
|
10415
|
-
description: '
|
|
10450
|
+
description: 'Refines into Sensors and Resonators.',
|
|
10416
10451
|
color: '#4ADBFF',
|
|
10417
10452
|
},
|
|
10418
|
-
|
|
10419
|
-
name: 'Crystal',
|
|
10420
|
-
description: 'High-grade resonant crystal with exceptional purity.',
|
|
10421
|
-
color: '#4ADBFF',
|
|
10422
|
-
},
|
|
10423
|
-
204: { name: 'Crystal', description: '', color: '#4ADBFF' },
|
|
10424
|
-
205: { name: 'Crystal', description: '', color: '#4ADBFF' },
|
|
10425
|
-
206: { name: 'Crystal', description: '', color: '#4ADBFF' },
|
|
10426
|
-
207: { name: 'Crystal', description: '', color: '#4ADBFF' },
|
|
10427
|
-
208: { name: 'Crystal', description: '', color: '#4ADBFF' },
|
|
10428
|
-
209: { name: 'Crystal', description: '', color: '#4ADBFF' },
|
|
10429
|
-
210: { name: 'Crystal', description: '', color: '#4ADBFF' },
|
|
10430
|
-
301: { name: 'Gas', description: 'Raw volatile gas.', color: '#B877FF' },
|
|
10431
|
-
302: {
|
|
10432
|
-
name: 'Gas',
|
|
10433
|
-
description: 'Refined volatile gas with improved reactivity.',
|
|
10434
|
-
color: '#B877FF',
|
|
10435
|
-
},
|
|
10436
|
-
303: {
|
|
10453
|
+
gas: {
|
|
10437
10454
|
name: 'Gas',
|
|
10438
|
-
description: '
|
|
10455
|
+
description: 'Refines into Plasma Cells and Reactors.',
|
|
10439
10456
|
color: '#B877FF',
|
|
10440
10457
|
},
|
|
10441
|
-
|
|
10442
|
-
305: { name: 'Gas', description: '', color: '#B877FF' },
|
|
10443
|
-
306: { name: 'Gas', description: '', color: '#B877FF' },
|
|
10444
|
-
307: { name: 'Gas', description: '', color: '#B877FF' },
|
|
10445
|
-
308: { name: 'Gas', description: '', color: '#B877FF' },
|
|
10446
|
-
309: { name: 'Gas', description: '', color: '#B877FF' },
|
|
10447
|
-
310: { name: 'Gas', description: '', color: '#B877FF' },
|
|
10448
|
-
401: { name: 'Regolith', description: 'Crude regolith dust.', color: '#C4A57B' },
|
|
10449
|
-
402: {
|
|
10458
|
+
regolith: {
|
|
10450
10459
|
name: 'Regolith',
|
|
10451
|
-
description: '
|
|
10460
|
+
description: 'Refines into Ceramic and Frame.',
|
|
10452
10461
|
color: '#C4A57B',
|
|
10453
10462
|
},
|
|
10454
|
-
|
|
10455
|
-
name: 'Regolith',
|
|
10456
|
-
description: 'High-grade regolith with exceptional uniformity.',
|
|
10457
|
-
color: '#C4A57B',
|
|
10458
|
-
},
|
|
10459
|
-
404: { name: 'Regolith', description: '', color: '#C4A57B' },
|
|
10460
|
-
405: { name: 'Regolith', description: '', color: '#C4A57B' },
|
|
10461
|
-
406: { name: 'Regolith', description: '', color: '#C4A57B' },
|
|
10462
|
-
407: { name: 'Regolith', description: '', color: '#C4A57B' },
|
|
10463
|
-
408: { name: 'Regolith', description: '', color: '#C4A57B' },
|
|
10464
|
-
409: { name: 'Regolith', description: '', color: '#C4A57B' },
|
|
10465
|
-
410: { name: 'Regolith', description: '', color: '#C4A57B' },
|
|
10466
|
-
501: { name: 'Biomass', description: 'Crude organic biomass.', color: '#5A8B3E' },
|
|
10467
|
-
502: {
|
|
10463
|
+
biomass: {
|
|
10468
10464
|
name: 'Biomass',
|
|
10469
|
-
description: '
|
|
10465
|
+
description: 'Refines into Polymer and Resin.',
|
|
10470
10466
|
color: '#5A8B3E',
|
|
10471
10467
|
},
|
|
10472
|
-
|
|
10473
|
-
name: 'Biomass',
|
|
10474
|
-
description: 'High-grade biomass with exceptional saturation.',
|
|
10475
|
-
color: '#5A8B3E',
|
|
10476
|
-
},
|
|
10477
|
-
504: { name: 'Biomass', description: '', color: '#5A8B3E' },
|
|
10478
|
-
505: { name: 'Biomass', description: '', color: '#5A8B3E' },
|
|
10479
|
-
506: { name: 'Biomass', description: '', color: '#5A8B3E' },
|
|
10480
|
-
507: { name: 'Biomass', description: '', color: '#5A8B3E' },
|
|
10481
|
-
508: { name: 'Biomass', description: '', color: '#5A8B3E' },
|
|
10482
|
-
509: { name: 'Biomass', description: '', color: '#5A8B3E' },
|
|
10483
|
-
510: { name: 'Biomass', description: '', color: '#5A8B3E' },
|
|
10484
|
-
10001: {
|
|
10468
|
+
plate: {
|
|
10485
10469
|
name: 'Plate',
|
|
10486
|
-
description: '
|
|
10470
|
+
description: 'Goes into Cargo Holds, Containers, and hulls.',
|
|
10487
10471
|
color: '#7B8D9E',
|
|
10488
10472
|
},
|
|
10489
|
-
|
|
10473
|
+
frame: {
|
|
10490
10474
|
name: 'Frame',
|
|
10491
|
-
description: '
|
|
10475
|
+
description: 'Goes into Limpet Bays, Cargo Holds, and hulls.',
|
|
10492
10476
|
color: '#C4A57B',
|
|
10493
10477
|
},
|
|
10494
|
-
|
|
10478
|
+
'plasma-cell': {
|
|
10495
10479
|
name: 'Plasma Cell',
|
|
10496
|
-
description: '
|
|
10480
|
+
description: 'Goes into Engines, Battery Banks, and hulls.',
|
|
10497
10481
|
color: '#E86344',
|
|
10498
10482
|
},
|
|
10499
|
-
|
|
10483
|
+
resonator: {
|
|
10500
10484
|
name: 'Resonator',
|
|
10501
|
-
description: '
|
|
10485
|
+
description: 'Goes into Power Cores, Tractor Beams, Warp Drives, and hulls.',
|
|
10502
10486
|
color: '#4ADBFF',
|
|
10503
10487
|
},
|
|
10504
|
-
|
|
10488
|
+
beam: {
|
|
10505
10489
|
name: 'Beam',
|
|
10506
|
-
description: '
|
|
10490
|
+
description: 'Goes into Limpet Bays and hulls.',
|
|
10507
10491
|
color: '#7B8D9E',
|
|
10508
10492
|
},
|
|
10509
|
-
|
|
10493
|
+
sensor: {
|
|
10510
10494
|
name: 'Sensor',
|
|
10511
|
-
description: '
|
|
10495
|
+
description: 'Goes into Fabricators, Assembly Arms, and hulls.',
|
|
10512
10496
|
color: '#4ADBFF',
|
|
10513
10497
|
},
|
|
10514
|
-
|
|
10498
|
+
polymer: {
|
|
10515
10499
|
name: 'Polymer',
|
|
10516
|
-
description: '
|
|
10500
|
+
description: 'Goes into Shuttle Bays, Battery Banks, and hulls.',
|
|
10517
10501
|
color: '#5A8B3E',
|
|
10518
10502
|
},
|
|
10519
|
-
|
|
10503
|
+
ceramic: {
|
|
10520
10504
|
name: 'Ceramic',
|
|
10521
|
-
description: '
|
|
10505
|
+
description: 'Goes into Assembly Arms, Containers, and hulls.',
|
|
10522
10506
|
color: '#C4A57B',
|
|
10523
10507
|
},
|
|
10524
|
-
|
|
10508
|
+
reactor: {
|
|
10525
10509
|
name: 'Reactor',
|
|
10526
|
-
description: '
|
|
10510
|
+
description: 'Goes into Fabricators, Warp Drives, and hulls.',
|
|
10527
10511
|
color: '#B877FF',
|
|
10528
10512
|
},
|
|
10529
|
-
|
|
10513
|
+
resin: {
|
|
10530
10514
|
name: 'Resin',
|
|
10531
|
-
description: '
|
|
10515
|
+
description: 'Goes into Tractor Beams and hulls.',
|
|
10532
10516
|
color: '#5A8B3E',
|
|
10533
10517
|
},
|
|
10534
|
-
|
|
10518
|
+
engine: {
|
|
10535
10519
|
name: 'Engine',
|
|
10536
|
-
description: '
|
|
10520
|
+
description: 'Moves a ship across the map.',
|
|
10537
10521
|
color: '#E86344',
|
|
10538
10522
|
},
|
|
10539
|
-
|
|
10523
|
+
generator: {
|
|
10540
10524
|
name: 'Power Core',
|
|
10541
|
-
description: '
|
|
10525
|
+
description: 'Stores and recharges the energy work spends.',
|
|
10542
10526
|
color: '#4ADBFF',
|
|
10543
10527
|
},
|
|
10544
|
-
|
|
10528
|
+
gatherer: {
|
|
10545
10529
|
name: 'Limpet Bay',
|
|
10546
|
-
description: '
|
|
10530
|
+
description: 'Gathers resources from a deposit.',
|
|
10547
10531
|
color: '#7B8D9E',
|
|
10548
10532
|
},
|
|
10549
|
-
|
|
10533
|
+
loader: {
|
|
10550
10534
|
name: 'Shuttle Bay',
|
|
10551
|
-
description: '
|
|
10535
|
+
description: 'Moves cargo between entities at the same location.',
|
|
10552
10536
|
color: '#5A8B3E',
|
|
10553
10537
|
},
|
|
10554
|
-
|
|
10538
|
+
crafter: {
|
|
10555
10539
|
name: 'Fabricator',
|
|
10556
|
-
description: '
|
|
10540
|
+
description: 'Turns resources and components into items.',
|
|
10557
10541
|
color: '#B877FF',
|
|
10558
10542
|
},
|
|
10559
|
-
|
|
10543
|
+
storage: {
|
|
10560
10544
|
name: 'Cargo Hold',
|
|
10561
|
-
description: '
|
|
10545
|
+
description: 'Adds cargo capacity.',
|
|
10562
10546
|
color: '#8B7355',
|
|
10563
10547
|
},
|
|
10564
|
-
|
|
10548
|
+
hauler: {
|
|
10565
10549
|
name: 'Tractor Beam',
|
|
10566
|
-
description: '
|
|
10550
|
+
description: 'Tows entities along with the ship.',
|
|
10567
10551
|
color: '#4ADBFF',
|
|
10568
10552
|
},
|
|
10569
|
-
|
|
10553
|
+
warp: {
|
|
10570
10554
|
name: 'Warp Drive',
|
|
10571
|
-
description: '
|
|
10555
|
+
description: 'Jumps a long distance at once. Needs a full charge and an empty hold.',
|
|
10572
10556
|
color: '#9be4ff',
|
|
10573
10557
|
},
|
|
10574
|
-
|
|
10558
|
+
battery: {
|
|
10575
10559
|
name: 'Battery Bank',
|
|
10576
|
-
description: '
|
|
10560
|
+
description: 'Adds energy capacity.',
|
|
10577
10561
|
color: '#4ADBFF',
|
|
10578
10562
|
},
|
|
10579
|
-
|
|
10563
|
+
launcher: {
|
|
10580
10564
|
name: 'Drive Coil',
|
|
10581
|
-
description: '
|
|
10565
|
+
description: 'Launches cargo toward a Mass Catcher.',
|
|
10582
10566
|
color: '#E86344',
|
|
10583
10567
|
},
|
|
10584
|
-
|
|
10568
|
+
builder: {
|
|
10585
10569
|
name: 'Assembly Arm',
|
|
10586
|
-
description: '
|
|
10570
|
+
description: 'Claims plots, builds them out, and upgrades ships alongside.',
|
|
10587
10571
|
color: '#FFB347',
|
|
10588
10572
|
},
|
|
10589
|
-
|
|
10573
|
+
container: {
|
|
10590
10574
|
name: 'Container',
|
|
10591
|
-
description: '
|
|
10575
|
+
description: 'Cargo storage that a Tractor Beam tows.',
|
|
10592
10576
|
color: '#7B8D9E',
|
|
10593
10577
|
},
|
|
10594
|
-
|
|
10578
|
+
ship: {
|
|
10595
10579
|
name: 'Ship',
|
|
10596
|
-
description: '
|
|
10580
|
+
description: 'A hull for a mixed loadout.',
|
|
10597
10581
|
color: '#4AE898',
|
|
10598
10582
|
},
|
|
10599
|
-
|
|
10583
|
+
warehouse: {
|
|
10600
10584
|
name: 'Warehouse',
|
|
10601
|
-
description: '
|
|
10585
|
+
description: "A station's stockpile.",
|
|
10602
10586
|
color: '#EAB308',
|
|
10603
10587
|
},
|
|
10604
|
-
|
|
10588
|
+
'mining-rig': {
|
|
10605
10589
|
name: 'Mining Rig',
|
|
10606
|
-
description: '
|
|
10590
|
+
description: "A station's mine, gathering from the location it stands at.",
|
|
10607
10591
|
color: '#D4726F',
|
|
10608
10592
|
},
|
|
10609
|
-
|
|
10593
|
+
factory: {
|
|
10610
10594
|
name: 'Factory',
|
|
10611
|
-
description: '
|
|
10595
|
+
description: "A station's production line.",
|
|
10612
10596
|
color: '#7BA7D4',
|
|
10613
10597
|
},
|
|
10614
|
-
|
|
10598
|
+
'mass-driver': {
|
|
10615
10599
|
name: 'Mass Driver',
|
|
10616
|
-
description: '
|
|
10600
|
+
description: "A station's launcher, sending cargo to a Mass Catcher.",
|
|
10617
10601
|
color: '#E86344',
|
|
10618
10602
|
},
|
|
10619
|
-
|
|
10603
|
+
'mass-catcher': {
|
|
10620
10604
|
name: 'Mass Catcher',
|
|
10621
|
-
description: '
|
|
10605
|
+
description: "A station's receiver for Mass Driver payloads.",
|
|
10622
10606
|
color: '#4AE898',
|
|
10623
10607
|
},
|
|
10624
|
-
|
|
10608
|
+
'station-hub': {
|
|
10625
10609
|
name: 'Station Hub',
|
|
10626
|
-
description: '
|
|
10610
|
+
description: 'Anchors a station; every other building sits on its footprint. One per location, at an asteroid, nebula, or ice field.',
|
|
10627
10611
|
color: '#A0B8D0',
|
|
10628
10612
|
},
|
|
10629
|
-
|
|
10613
|
+
'assembly-yard': {
|
|
10614
|
+
name: 'Assembly Yard',
|
|
10615
|
+
description: "A station's construction site.",
|
|
10616
|
+
color: '#FFB347',
|
|
10617
|
+
},
|
|
10618
|
+
workshop: {
|
|
10630
10619
|
name: 'Workshop',
|
|
10631
|
-
description: '
|
|
10620
|
+
description: 'Public Fabricators. Book a job and collect the output when it finishes.',
|
|
10632
10621
|
color: '#B877FF',
|
|
10633
10622
|
},
|
|
10634
|
-
|
|
10623
|
+
'construction-dock': {
|
|
10635
10624
|
name: 'Construction Dock',
|
|
10636
|
-
description: '
|
|
10625
|
+
description: 'Public upgrades for ships at the location.',
|
|
10637
10626
|
color: '#FFB347',
|
|
10638
10627
|
},
|
|
10639
|
-
|
|
10628
|
+
nexus: {
|
|
10629
|
+
name: 'Nexus',
|
|
10630
|
+
description: 'Where players wrap, unwrap, and deploy assets.',
|
|
10631
|
+
color: '#FFD24C',
|
|
10632
|
+
},
|
|
10633
|
+
depot: {
|
|
10634
|
+
name: 'Depot',
|
|
10635
|
+
description: 'Public storage and shuttle service at the world.',
|
|
10636
|
+
color: '#EAB308',
|
|
10637
|
+
},
|
|
10638
|
+
roustabout: {
|
|
10640
10639
|
name: 'Roustabout',
|
|
10641
|
-
description: 'A
|
|
10640
|
+
description: 'A hull whose open slot takes any module.',
|
|
10642
10641
|
color: '#4AE898',
|
|
10643
10642
|
},
|
|
10644
|
-
|
|
10643
|
+
prospector: {
|
|
10645
10644
|
name: 'Prospector',
|
|
10646
|
-
description: 'A
|
|
10645
|
+
description: 'A gathering ship.',
|
|
10647
10646
|
color: '#4AE898',
|
|
10648
10647
|
},
|
|
10649
|
-
|
|
10648
|
+
tender: {
|
|
10650
10649
|
name: 'Tender',
|
|
10651
|
-
description: 'A
|
|
10650
|
+
description: 'A transfer ship, moving cargo between parked entities.',
|
|
10652
10651
|
color: '#4AE898',
|
|
10653
10652
|
},
|
|
10654
|
-
|
|
10653
|
+
wright: {
|
|
10655
10654
|
name: 'Wright',
|
|
10656
|
-
description: 'A construction ship
|
|
10655
|
+
description: 'A construction ship, claiming and building plots.',
|
|
10657
10656
|
color: '#4AE898',
|
|
10658
10657
|
},
|
|
10659
|
-
|
|
10658
|
+
tug: {
|
|
10660
10659
|
name: 'Tug',
|
|
10661
|
-
description: 'A
|
|
10660
|
+
description: 'A towing ship.',
|
|
10662
10661
|
color: '#4AE898',
|
|
10663
10662
|
},
|
|
10664
|
-
|
|
10663
|
+
porter: {
|
|
10665
10664
|
name: 'Porter',
|
|
10666
|
-
description: 'A cargo ship
|
|
10665
|
+
description: 'A cargo ship.',
|
|
10667
10666
|
color: '#4AE898',
|
|
10668
10667
|
},
|
|
10669
|
-
|
|
10670
|
-
name: 'Nexus',
|
|
10671
|
-
description: 'A permanent installation at a world where NFT-backed assets are wrapped, unwrapped, and deployed.',
|
|
10672
|
-
color: '#FFD24C',
|
|
10673
|
-
},
|
|
10674
|
-
10218: {
|
|
10668
|
+
smith: {
|
|
10675
10669
|
name: 'Smith',
|
|
10676
|
-
description: 'A crafting ship.
|
|
10677
|
-
color: '#4AE898',
|
|
10678
|
-
},
|
|
10679
|
-
10219: {
|
|
10680
|
-
name: 'Depot',
|
|
10681
|
-
description: 'Planetary storage facility with two shuttle bays and four cargo slots.',
|
|
10682
|
-
color: '#EAB308',
|
|
10683
|
-
},
|
|
10684
|
-
11001: {
|
|
10685
|
-
name: 'Plate',
|
|
10686
|
-
description: 'Advanced structural plating reinforced with tier 2 ore.',
|
|
10687
|
-
color: '#9BADB8',
|
|
10688
|
-
},
|
|
10689
|
-
11002: {
|
|
10690
|
-
name: 'Frame',
|
|
10691
|
-
description: 'Advanced composite framing reinforced with tier 2 regolith and biomass polymer.',
|
|
10692
|
-
color: '#C4A57B',
|
|
10693
|
-
},
|
|
10694
|
-
11003: {
|
|
10695
|
-
name: 'Plasma Cell',
|
|
10696
|
-
description: 'Advanced high-energy gaseous storage cell reinforced with tier 2 gas.',
|
|
10697
|
-
color: '#E86344',
|
|
10698
|
-
},
|
|
10699
|
-
11004: {
|
|
10700
|
-
name: 'Resonator',
|
|
10701
|
-
description: 'Advanced crystalline resonance lattice reinforced with tier 2 crystal.',
|
|
10702
|
-
color: '#4ADBFF',
|
|
10703
|
-
},
|
|
10704
|
-
11005: {
|
|
10705
|
-
name: 'Beam',
|
|
10706
|
-
description: 'Advanced heavy-duty structural beam reinforced with tier 2 ore.',
|
|
10707
|
-
color: '#7B8D9E',
|
|
10708
|
-
},
|
|
10709
|
-
11006: {
|
|
10710
|
-
name: 'Sensor',
|
|
10711
|
-
description: 'Advanced crystal-lattice sensing element reinforced with tier 2 crystal.',
|
|
10712
|
-
color: '#4ADBFF',
|
|
10713
|
-
},
|
|
10714
|
-
11007: {
|
|
10715
|
-
name: 'Polymer',
|
|
10716
|
-
description: 'Advanced pliable biomass-derived polymer reinforced with tier 2 biomass.',
|
|
10717
|
-
color: '#5A8B3E',
|
|
10718
|
-
},
|
|
10719
|
-
11008: {
|
|
10720
|
-
name: 'Ceramic',
|
|
10721
|
-
description: 'Advanced hardened ceramic reinforced with tier 2 regolith.',
|
|
10722
|
-
color: '#C4A57B',
|
|
10723
|
-
},
|
|
10724
|
-
11009: {
|
|
10725
|
-
name: 'Reactor',
|
|
10726
|
-
description: 'Advanced gas-pressurized reaction vessel reinforced with tier 2 gas.',
|
|
10727
|
-
color: '#B877FF',
|
|
10728
|
-
},
|
|
10729
|
-
11010: {
|
|
10730
|
-
name: 'Resin',
|
|
10731
|
-
description: 'Advanced saturated organic binder reinforced with tier 2 biomass.',
|
|
10732
|
-
color: '#5A8B3E',
|
|
10733
|
-
},
|
|
10734
|
-
11100: {
|
|
10735
|
-
name: 'Engine',
|
|
10736
|
-
description: 'Advanced propulsion system. Reinforced thrust chambers for higher velocity.',
|
|
10737
|
-
color: '#E86344',
|
|
10738
|
-
},
|
|
10739
|
-
11101: {
|
|
10740
|
-
name: 'Power Core',
|
|
10741
|
-
description: 'Advanced energy system. Higher-density crystal matrix for increased energy throughput.',
|
|
10742
|
-
color: '#4ADBFF',
|
|
10743
|
-
},
|
|
10744
|
-
11102: {
|
|
10745
|
-
name: 'Limpet Bay',
|
|
10746
|
-
description: 'Advanced gathering system. Reinforced probes and conduits for deeper yield.',
|
|
10747
|
-
color: '#7B8D9E',
|
|
10748
|
-
},
|
|
10749
|
-
11103: {
|
|
10750
|
-
name: 'Shuttle Bay',
|
|
10751
|
-
description: 'Advanced cargo handling system. Reinforced articulated arms for greater loading throughput.',
|
|
10752
|
-
color: '#5A8B3E',
|
|
10753
|
-
},
|
|
10754
|
-
11104: {
|
|
10755
|
-
name: 'Fabricator',
|
|
10756
|
-
description: 'Advanced crafting system. Higher-grade reaction chambers for faster processing.',
|
|
10757
|
-
color: '#B877FF',
|
|
10758
|
-
},
|
|
10759
|
-
11105: {
|
|
10760
|
-
name: 'Cargo Hold',
|
|
10761
|
-
description: 'Advanced cargo storage. Reinforced tier 2 holds carry more mass.',
|
|
10762
|
-
color: '#8B7355',
|
|
10763
|
-
},
|
|
10764
|
-
11106: {
|
|
10765
|
-
name: 'Tractor Beam',
|
|
10766
|
-
description: 'Advanced haul beam projector reinforced with tier 2 components for greater towing capacity.',
|
|
10767
|
-
color: '#4ADBFF',
|
|
10768
|
-
},
|
|
10769
|
-
11107: {
|
|
10770
|
-
name: 'Warp Drive',
|
|
10771
|
-
description: 'Advanced warp system. Reinforced field coils project the hull across greater distances.',
|
|
10772
|
-
color: '#9be4ff',
|
|
10773
|
-
},
|
|
10774
|
-
11108: {
|
|
10775
|
-
name: 'Battery Bank',
|
|
10776
|
-
description: 'Advanced battery bank. Higher-density cells store more charge from the power core.',
|
|
10777
|
-
color: '#4ADBFF',
|
|
10778
|
-
},
|
|
10779
|
-
11110: {
|
|
10780
|
-
name: 'Assembly Arm',
|
|
10781
|
-
description: 'Advanced construction system. Reinforced manipulator arms for faster build and upgrade work.',
|
|
10782
|
-
color: '#FFB347',
|
|
10783
|
-
},
|
|
10784
|
-
11200: {
|
|
10785
|
-
name: 'Container',
|
|
10786
|
-
description: 'Advanced cargo container with improved capacity formulas.',
|
|
10787
|
-
color: '#9BADB8',
|
|
10788
|
-
},
|
|
10789
|
-
11212: {
|
|
10790
|
-
name: 'Prospector',
|
|
10791
|
-
description: 'The tier 2 Prospector. The same three systems, ready for tier 2 modules.',
|
|
10670
|
+
description: 'A crafting ship.',
|
|
10792
10671
|
color: '#4AE898',
|
|
10793
10672
|
},
|
|
10794
|
-
|
|
10795
|
-
name: 'Prospector',
|
|
10796
|
-
description: 'A tier 2 Prospector with an auxiliary system for extra power, mobility, or endurance.',
|
|
10797
|
-
color: '#4AE898',
|
|
10798
|
-
},
|
|
10799
|
-
11214: {
|
|
10673
|
+
dredger: {
|
|
10800
10674
|
name: 'Dredger',
|
|
10801
|
-
description: 'A gathering ship
|
|
10675
|
+
description: 'A gathering ship with a hold for longer runs.',
|
|
10802
10676
|
color: '#4AE898',
|
|
10803
10677
|
},
|
|
10804
|
-
11202: {
|
|
10805
|
-
name: 'Warehouse',
|
|
10806
|
-
description: 'The tier 2 Warehouse. Massive stationary storage facility with a single loader module slot.',
|
|
10807
|
-
color: '#EAB308',
|
|
10808
|
-
},
|
|
10809
|
-
11203: {
|
|
10810
|
-
name: 'Mining Rig',
|
|
10811
|
-
description: 'The tier 2 Mining Rig. Planetary resource extraction with generator and gatherer module slots.',
|
|
10812
|
-
color: '#D4726F',
|
|
10813
|
-
},
|
|
10814
|
-
11204: {
|
|
10815
|
-
name: 'Factory',
|
|
10816
|
-
description: 'The tier 2 Factory. Planetary fabrication with generator and crafter module slots.',
|
|
10817
|
-
color: '#7BA7D4',
|
|
10818
|
-
},
|
|
10819
|
-
11207: {
|
|
10820
|
-
name: 'Station Hub',
|
|
10821
|
-
description: 'The tier 2 Station Hub. Anchors a player station cluster.',
|
|
10822
|
-
color: '#A0B8D0',
|
|
10823
|
-
},
|
|
10824
|
-
11209: {
|
|
10825
|
-
name: 'Assembly Yard',
|
|
10826
|
-
description: 'Orbital construction facility with amplified power core and assembly arm module slots.',
|
|
10827
|
-
color: '#FFB347',
|
|
10828
|
-
},
|
|
10829
10678
|
};
|
|
10679
|
+
const COMPONENT_FAMILIES = [
|
|
10680
|
+
'plate',
|
|
10681
|
+
'frame',
|
|
10682
|
+
'plasma-cell',
|
|
10683
|
+
'resonator',
|
|
10684
|
+
'beam',
|
|
10685
|
+
'sensor',
|
|
10686
|
+
'polymer',
|
|
10687
|
+
'ceramic',
|
|
10688
|
+
'reactor',
|
|
10689
|
+
'resin',
|
|
10690
|
+
];
|
|
10691
|
+
const ENTITY_FAMILIES = {
|
|
10692
|
+
10200: 'container',
|
|
10693
|
+
10201: 'ship',
|
|
10694
|
+
10202: 'warehouse',
|
|
10695
|
+
10203: 'mining-rig',
|
|
10696
|
+
10204: 'factory',
|
|
10697
|
+
10205: 'mass-driver',
|
|
10698
|
+
10206: 'mass-catcher',
|
|
10699
|
+
10207: 'station-hub',
|
|
10700
|
+
10208: 'workshop',
|
|
10701
|
+
10209: 'construction-dock',
|
|
10702
|
+
10210: 'roustabout',
|
|
10703
|
+
10211: 'prospector',
|
|
10704
|
+
10212: 'tender',
|
|
10705
|
+
10213: 'wright',
|
|
10706
|
+
10214: 'tug',
|
|
10707
|
+
10215: 'porter',
|
|
10708
|
+
10216: 'nexus',
|
|
10709
|
+
10218: 'smith',
|
|
10710
|
+
10219: 'depot',
|
|
10711
|
+
11200: 'container',
|
|
10712
|
+
11202: 'warehouse',
|
|
10713
|
+
11203: 'mining-rig',
|
|
10714
|
+
11204: 'factory',
|
|
10715
|
+
11207: 'station-hub',
|
|
10716
|
+
11209: 'assembly-yard',
|
|
10717
|
+
11212: 'prospector',
|
|
10718
|
+
11213: 'prospector',
|
|
10719
|
+
11214: 'dredger',
|
|
10720
|
+
};
|
|
10721
|
+
const rawById = new Map(items.map((raw) => [raw.id, raw]));
|
|
10722
|
+
function itemFamilyKey(itemId) {
|
|
10723
|
+
const entity = ENTITY_FAMILIES[itemId];
|
|
10724
|
+
if (entity)
|
|
10725
|
+
return entity;
|
|
10726
|
+
const raw = rawById.get(itemId);
|
|
10727
|
+
if (!raw)
|
|
10728
|
+
return undefined;
|
|
10729
|
+
switch (raw.type) {
|
|
10730
|
+
case 'resource':
|
|
10731
|
+
return raw.category;
|
|
10732
|
+
case 'module':
|
|
10733
|
+
return raw.subtype;
|
|
10734
|
+
case 'component':
|
|
10735
|
+
return COMPONENT_FAMILIES[((itemId - 10000) % 1000) - 1];
|
|
10736
|
+
default:
|
|
10737
|
+
return undefined;
|
|
10738
|
+
}
|
|
10739
|
+
}
|
|
10740
|
+
function getItemFamily(itemId) {
|
|
10741
|
+
const key = itemFamilyKey(itemId);
|
|
10742
|
+
return key === undefined ? undefined : itemFamilies[key];
|
|
10743
|
+
}
|
|
10830
10744
|
const entityMetadata = {
|
|
10831
|
-
10201: {
|
|
10745
|
+
10201: {
|
|
10746
|
+
moduleSlotLabels: ['Engine', 'Power Core', 'Limpet Bay', 'Shuttle Bay', 'Cargo Hold'],
|
|
10747
|
+
},
|
|
10832
10748
|
10210: { moduleSlotLabels: ['Power Core', 'Engine', 'Utility Bay'] },
|
|
10833
10749
|
10211: { moduleSlotLabels: ['Power Core', 'Engine', 'Limpet Bay'] },
|
|
10834
10750
|
10212: { moduleSlotLabels: ['Power Core', 'Engine', 'Shuttle Bay'] },
|
|
@@ -10858,8 +10774,12 @@ const entityMetadata = {
|
|
|
10858
10774
|
],
|
|
10859
10775
|
},
|
|
10860
10776
|
11212: { moduleSlotLabels: ['Power Core', 'Engine', 'Limpet Bay'] },
|
|
10861
|
-
11213: {
|
|
10862
|
-
|
|
10777
|
+
11213: {
|
|
10778
|
+
moduleSlotLabels: ['Power Core', 'Engine', 'Auxiliary System', 'Limpet Bay'],
|
|
10779
|
+
},
|
|
10780
|
+
11214: {
|
|
10781
|
+
moduleSlotLabels: ['Power Core', 'Engine', 'Limpet Bay', 'Cargo Hold'],
|
|
10782
|
+
},
|
|
10863
10783
|
11202: {
|
|
10864
10784
|
moduleSlotLabels: ['Shuttle Bay', 'Cargo Hold', 'Cargo Hold', 'Cargo Hold', 'Cargo Hold'],
|
|
10865
10785
|
},
|
|
@@ -10867,20 +10787,23 @@ const entityMetadata = {
|
|
|
10867
10787
|
11204: { moduleSlotLabels: ['Power Core', 'Fabricator'] },
|
|
10868
10788
|
11209: { moduleSlotLabels: ['Power Core', 'Assembly Arm'] },
|
|
10869
10789
|
};
|
|
10870
|
-
for (const
|
|
10871
|
-
|
|
10872
|
-
|
|
10790
|
+
for (const raw of items) {
|
|
10791
|
+
const key = itemFamilyKey(raw.id);
|
|
10792
|
+
if (!key || !itemFamilies[key]) {
|
|
10793
|
+
throw new Error(`Missing family for item ${raw.id}. Add an entry to metadata.ts.`);
|
|
10873
10794
|
}
|
|
10874
10795
|
}
|
|
10875
10796
|
|
|
10876
10797
|
const itemsById = new Map();
|
|
10877
10798
|
for (const raw of items) {
|
|
10878
|
-
const
|
|
10879
|
-
|
|
10880
|
-
|
|
10799
|
+
const family = itemFamilyKey(raw.id);
|
|
10800
|
+
const meta = getItemFamily(raw.id);
|
|
10801
|
+
if (!family || !meta) {
|
|
10802
|
+
throw new Error(`Missing family for item ${raw.id}. Add an entry to metadata.ts.`);
|
|
10881
10803
|
}
|
|
10882
10804
|
itemsById.set(raw.id, {
|
|
10883
10805
|
id: raw.id,
|
|
10806
|
+
family,
|
|
10884
10807
|
name: meta.name,
|
|
10885
10808
|
description: meta.description,
|
|
10886
10809
|
color: meta.color,
|
|
@@ -18507,6 +18430,13 @@ class ActionsManager extends BaseManager {
|
|
|
18507
18430
|
inputs,
|
|
18508
18431
|
});
|
|
18509
18432
|
}
|
|
18433
|
+
blenddepot(depotId, owner, inputs) {
|
|
18434
|
+
return this.server.action('blenddepot', {
|
|
18435
|
+
depot_id: UInt64.from(depotId),
|
|
18436
|
+
owner: Name.from(owner),
|
|
18437
|
+
inputs,
|
|
18438
|
+
});
|
|
18439
|
+
}
|
|
18510
18440
|
deploy(entityId, ref, slot) {
|
|
18511
18441
|
return this.server.action('deploy', {
|
|
18512
18442
|
id: UInt64.from(entityId),
|
|
@@ -22643,7 +22573,7 @@ function assignModulesToSlots(slots, modules, entityLabel) {
|
|
|
22643
22573
|
modName = getItem(mod.itemId).name;
|
|
22644
22574
|
}
|
|
22645
22575
|
catch {
|
|
22646
|
-
modName =
|
|
22576
|
+
modName = getItemFamily(mod.itemId)?.name ?? `item ${mod.itemId}`;
|
|
22647
22577
|
}
|
|
22648
22578
|
throw new Error(`No compatible slot for module ${modName} (type ${modType}) on ${entityLabel}`);
|
|
22649
22579
|
}
|
|
@@ -24860,25 +24790,31 @@ function cargoListMass(items) {
|
|
|
24860
24790
|
m += Number(calcCargoItemMass(it));
|
|
24861
24791
|
return m;
|
|
24862
24792
|
}
|
|
24863
|
-
function
|
|
24793
|
+
function projectCargomass(entity, at, addMass, removeMass = 0) {
|
|
24864
24794
|
const events = [];
|
|
24865
|
-
for (const ordered of
|
|
24795
|
+
for (const ordered of unappliedTasks(entity)) {
|
|
24866
24796
|
const eff = taskCargoEffect(ordered.task);
|
|
24867
24797
|
const delta = cargoListMass(eff.added) - cargoListMass(eff.removed);
|
|
24868
|
-
events.push({ t: ordered.completesAt.getTime(), delta });
|
|
24798
|
+
events.push({ t: ordered.completesAt.getTime(), delta, candidate: false });
|
|
24869
24799
|
}
|
|
24870
|
-
events.push({ t: at.getTime(), delta: addMass - removeMass });
|
|
24800
|
+
events.push({ t: at.getTime(), delta: addMass - removeMass, candidate: true });
|
|
24871
24801
|
events.sort((a, b) => (a.t !== b.t ? a.t - b.t : b.delta - a.delta));
|
|
24872
24802
|
let running = Number(entity.cargomass);
|
|
24873
24803
|
let peak = running;
|
|
24804
|
+
let used = running;
|
|
24874
24805
|
for (const e of events) {
|
|
24875
24806
|
running += e.delta;
|
|
24876
24807
|
if (running < 0)
|
|
24877
24808
|
running = 0;
|
|
24878
24809
|
if (running > peak)
|
|
24879
24810
|
peak = running;
|
|
24811
|
+
if (e.candidate)
|
|
24812
|
+
used = running;
|
|
24880
24813
|
}
|
|
24881
|
-
return Math.min(peak, 4294967295);
|
|
24814
|
+
return { used: Math.min(used, 4294967295), peak: Math.min(peak, 4294967295) };
|
|
24815
|
+
}
|
|
24816
|
+
function projectedPeakCargomass(entity, at, addMass, removeMass = 0) {
|
|
24817
|
+
return projectCargomass(entity, at, addMass, removeMass).peak;
|
|
24882
24818
|
}
|
|
24883
24819
|
function receiveFits(dest, item, now) {
|
|
24884
24820
|
const capacity = Number(dest.capacity ?? 0);
|
|
@@ -25945,7 +25881,7 @@ function resolveEntity(id, stats, modules) {
|
|
|
25945
25881
|
modTier = modItem.tier;
|
|
25946
25882
|
}
|
|
25947
25883
|
catch {
|
|
25948
|
-
modName =
|
|
25884
|
+
modName = getItemFamily(modItemId)?.name ?? 'Module';
|
|
25949
25885
|
}
|
|
25950
25886
|
const group = computeCapabilityGroup(modType, decodedStats, modTier, slot.outputPct);
|
|
25951
25887
|
return {
|
|
@@ -26691,5 +26627,5 @@ function planParallelTransfer(entity, target) {
|
|
|
26691
26627
|
return allocateProportional(laneWeights, requestedQty).filter((e) => e.quantity > 0);
|
|
26692
26628
|
}
|
|
26693
26629
|
|
|
26694
|
-
export { ALL_ENTITY_TYPES, ATOMICASSETS_ACCOUNT, ActionsManager, BALLOT_CHARTER, BALLOT_MAX_PICKS, BALLOT_NONE_DUE, BALLOT_NOT_DUE, BALLOT_SETTLING, BAR_SEED, BAR_STEP_DOWN, BAR_STEP_UNIT, BAR_STEP_UP, BASE_HAUL_PENALTY_MILLI$1 as BASE_HAUL_PENALTY_MILLI, BASE_ORBITAL_MASS, BLEND_INPUTS_MUST_MATCH, BLEND_REQUIRES_MULTIPLE, BLEND_STAT_LESS_NOT_SUPPORTED, BalancesManager, CANCEL_CONTAINS_GROUPED_TASK, CAPACITY_TIER_TABLE, CAP_CATCH, CAP_DEMOLISH, CAP_MODULES, CAP_STORE_CARGO, CAP_UNDEPLOY, CAP_WRAP, CATEGORY_LABELS, CHARTER_BASELINE_STAT, CHARTER_INELIGIBILITY_MESSAGES, CHARTER_MAX_GRANTS, CHARTER_MAX_PREREQS, CHARTER_NONE, CHARTER_REGISTRY, CHARTER_RUNG_STEP, CHARTER_WORKSHOP, CHARTER_WORKSHOP_COST, CIVIC_DEPOT, CIVIC_DOCK, CIVIC_GRANT_ADVANCEMENT, CIVIC_GRANT_LEVEL_GATE, CIVIC_GRANT_MODULE, CIVIC_GRANT_NONE, CIVIC_GRANT_RUNG, CIVIC_LOADER_STAT, CIVIC_LOADER_TIER, CIVIC_NEXUS, CIVIC_SPEED_CAP, CIVIC_STAT_BUILD_SPEED, CIVIC_STAT_CRAFT_SPEED, CIVIC_STAT_DEFS, CIVIC_STAT_NONE, CIVIC_STAT_STORAGE_CAPACITY, CIVIC_STAT_TRANSFER_SPEED, CIVIC_TRANSFER_PER_PLAYER_CAP, CIVIC_WORKSHOP, CIVIC_WORLD, COMMIT_ALREADY_SET, COMMIT_CANNOT_MATCH, COMMIT_NOT_SET, COMPANY_NOT_FOUND, COMPONENT_TIER_PREFIXES, CONTAINER_NOT_FOUND, CONTAINER_Z, COORD_MAX, COORD_MIN, COORD_OFFSET, CRAFT_ENERGY_DIVISOR, CRAFT_EXCEEDS_ENERGY_CAPACITY, CRAFT_NOT_ENOUGH_ENERGY, CancelBlockReason, ClusterManager, ConstructionManager, Coordinates, DECAY_MAX_ITERATIONS, DECAY_RETAIN_DEN, DECAY_RETAIN_NUM, DECOMP_MAX_BUCKETS, DECOMP_MAX_DEPTH, DECOMP_PROCESSED_MASS_MAX, DECOMP_RAW_MASS_MAX, DECOMP_REGISTRY, DEFAULT_BASE_HULLMASS, DEFAULT_ORBITAL_Z, DEMAND_TRIPLE_SEED, DEPLOY_ENTITY_HAS_SCHEDULE, DEPOT_LOADER_SLOT, DEPTH_THRESHOLD_T1, DEPTH_THRESHOLD_T2, DEPTH_THRESHOLD_T3, DEPTH_THRESHOLD_T4, DEPTH_THRESHOLD_T5, DESTINATION_CAPACITY_EXCEEDED, ENGINE_DRAIN_BASE, ENGINE_DRAIN_REF_THM, ENGINE_DRAIN_REF_THRUST, ENTITY_ALREADY_THERE, ENTITY_ASSEMBLY_YARD, ENTITY_CAPACITY_EXCEEDED, ENTITY_CARGO_NOT_LOADED, ENTITY_CARGO_NOT_OWNED, ENTITY_CONSTRUCTION_DOCK, ENTITY_CONTAINER, ENTITY_DEPOT, ENTITY_EXTRACTOR, ENTITY_FACTORY, ENTITY_HUB, ENTITY_INVALID_CARGO, ENTITY_INVALID_DESTINATION, ENTITY_INVALID_TRAVEL_DURATION, ENTITY_NEXUS, ENTITY_NOT_ENOUGH_ENERGY, ENTITY_NOT_ENOUGH_ENERGY_CAPACITY, ENTITY_NO_CRAFTER, ENTITY_SHIP, ENTITY_WAREHOUSE, ENTITY_WORKSHOP, EPOCH_NON_ZERO, EPOCH_NOT_READY, ERROR_SYSTEM_ALREADY_INITIALIZED, ERROR_SYSTEM_DISABLED, ERROR_SYSTEM_NOT_INITIALIZED, EntitiesManager, Entity, EntityClass, EntityInventory, EpochsManager, fund as FundContract, FundManager, Types$3 as FundTypes, GAME_NOT_FOUND, GAME_SEED_NOT_SET, GATHERER_DEPTH_MAX_TIER, GATHERER_DEPTH_TABLE, GATHER_EXCEEDS_ENERGY_CAPACITY, GATHER_MASS_DIVISOR, GATHER_NOT_ENOUGH_ENERGY, GRADE_PREMIUM, GRADE_STANDARD, GROUP_DUPLICATE_ENTITY, GROUP_EMPTY, GROUP_ENTITY_NOT_MOVABLE, GROUP_HAUL_CAPACITY_EXCEEDED, GROUP_NOT_FOUND, GROUP_NOT_SAME_LOCATION, GROUP_NOT_SAME_OWNER, GROUP_NO_THRUST, GameState, HAULER_EFFICIENCY_DENOM$1 as HAULER_EFFICIENCY_DENOM, HoldKind, INFLUENCE_ATOMIC_PER_POINT, INFLUENCE_D1_SEED, INFLUENCE_MASS_MAX, INFLUENCE_NEED_FP_MAX, INFLUENCE_WEIGHT_FP_MAX, INSUFFICIENT_BALANCE, INSUFFICIENT_ITEM_QUANTITY, INSUFFICIENT_ITEM_SUPPLY, INTAKE_RATE, INVALID_AMOUNT, ITEM_ASSEMBLY_YARD_T2_PACKED, ITEM_BATTERY_T1, ITEM_BATTERY_T2, ITEM_BEAM, ITEM_BEAM_T2, ITEM_BIOMASS_T1, ITEM_BIOMASS_T10, ITEM_BIOMASS_T2, ITEM_BIOMASS_T3, ITEM_BIOMASS_T4, ITEM_BIOMASS_T5, ITEM_BIOMASS_T6, ITEM_BIOMASS_T7, ITEM_BIOMASS_T8, ITEM_BIOMASS_T9, ITEM_BUILDER_T1, ITEM_BUILDER_T2, ITEM_CERAMIC, ITEM_CERAMIC_T2, ITEM_CONSTRUCTION_DOCK_T1_PACKED, ITEM_CONTAINER_T1_PACKED, ITEM_CONTAINER_T2_PACKED, ITEM_CRAFTER_T1, ITEM_CRAFTER_T2, ITEM_CRYSTAL_T1, ITEM_CRYSTAL_T10, ITEM_CRYSTAL_T2, ITEM_CRYSTAL_T3, ITEM_CRYSTAL_T4, ITEM_CRYSTAL_T5, ITEM_CRYSTAL_T6, ITEM_CRYSTAL_T7, ITEM_CRYSTAL_T8, ITEM_CRYSTAL_T9, ITEM_DEPOT_T1_PACKED, ITEM_DOES_NOT_EXIST, ITEM_DREDGER_T2A_PACKED, ITEM_ENGINE_T1, ITEM_ENGINE_T2, ITEM_EXTRACTOR_T2_PACKED, ITEM_FACTORY_T2_PACKED, ITEM_FRAME, ITEM_FRAME_T2, ITEM_GAS_T1, ITEM_GAS_T10, ITEM_GAS_T2, ITEM_GAS_T3, ITEM_GAS_T4, ITEM_GAS_T5, ITEM_GAS_T6, ITEM_GAS_T7, ITEM_GAS_T8, ITEM_GAS_T9, ITEM_GATHERER_T1, ITEM_GATHERER_T2, ITEM_GENERATOR_T1, ITEM_GENERATOR_T2, ITEM_HAULER_T1, ITEM_HAULER_T2, ITEM_HUB_T2_PACKED, ITEM_LAUNCHER_T1, ITEM_LOADER_T1, ITEM_LOADER_T2, ITEM_MASS_CATCHER_T1_PACKED, ITEM_MASS_DRIVER_T1_PACKED, ITEM_NEXUS_T1_PACKED, ITEM_NOT_AVAILABLE_AT_LOCATION, ITEM_NOT_DEPLOYABLE, ITEM_NOT_PACKED_ENTITY, ITEM_ORE_T1, ITEM_ORE_T10, ITEM_ORE_T2, ITEM_ORE_T3, ITEM_ORE_T4, ITEM_ORE_T5, ITEM_ORE_T6, ITEM_ORE_T7, ITEM_ORE_T8, ITEM_ORE_T9, ITEM_PLASMA_CELL, ITEM_PLASMA_CELL_T2, ITEM_PLATE, ITEM_PLATE_T2, ITEM_POLYMER, ITEM_POLYMER_T2, ITEM_PORTER_T1A_PACKED, ITEM_PROSPECTOR_T1A_PACKED, ITEM_PROSPECTOR_T2A_PACKED, ITEM_PROSPECTOR_T2B_PACKED, ITEM_REACTOR, ITEM_REACTOR_T2, ITEM_REGOLITH_T1, ITEM_REGOLITH_T10, ITEM_REGOLITH_T2, ITEM_REGOLITH_T3, ITEM_REGOLITH_T4, ITEM_REGOLITH_T5, ITEM_REGOLITH_T6, ITEM_REGOLITH_T7, ITEM_REGOLITH_T8, ITEM_REGOLITH_T9, ITEM_RESIN, ITEM_RESIN_T2, ITEM_RESONATOR, ITEM_RESONATOR_T2, ITEM_ROUSTABOUT_T1A_PACKED, ITEM_SENSOR, ITEM_SENSOR_T2, ITEM_SHIP_T1_PACKED, ITEM_SMITH_T1A_PACKED, ITEM_STORAGE_T1, ITEM_STORAGE_T2, ITEM_TENDER_T1A_PACKED, ITEM_TUG_T1A_PACKED, ITEM_TYPE_COMPONENT, ITEM_TYPE_ENTITY, ITEM_TYPE_MODULE, ITEM_TYPE_RESOURCE, ITEM_WAREHOUSE_T2_PACKED, ITEM_WARP_T1, ITEM_WARP_T2, ITEM_WORKSHOP_T1_PACKED, ITEM_WRIGHT_T1A_PACKED, InfluenceManager, InventoryAccessor, JOB_QUEUE_CAP, JobsManager, LANE_BARRIER, LANE_MOBILITY, LOCAL_HALF, LOCATION_MAX_DEPTH, LOCATION_MIN_DEPTH, Location, LocationType, LocationsManager, MASS_STAT_SCALE, MASS_UNITS_PER_TONNE, MAX_LEGS, MAX_ORBITAL_ALTITUDE, MAX_STARS_PER_STAT, MAX_STAR_RATING, MINTREADY_DEFAULT_CAP, MIN_ORBITAL_ALTITUDE, MIN_TRANSFER_DISTANCE_ORBITAL_VESSEL, MIN_TRANSFER_DISTANCE_PLANETARY_STRUCTURE, MODULE_ANY, MODULE_AUX, MODULE_BATTERY, MODULE_BUILDER, MODULE_CARGO_NOT_FOUND, MODULE_CRAFTER, MODULE_ENGINE, MODULE_ENTITY_BUSY, MODULE_GATHERER, MODULE_GENERATOR, MODULE_HAULER, MODULE_LAUNCHER, MODULE_LOADER, MODULE_NOT_MODULE, MODULE_SLOT_EMPTY, MODULE_SLOT_INVALID, MODULE_SLOT_OCCUPIED, MODULE_STAT_SCALING_ANCHOR, MODULE_STAT_SCALING_POST_ANCHOR_PERCENT, MODULE_STORAGE, MODULE_TIER_PREFIXES, MODULE_TYPE_MISMATCH, MODULE_WARP, NEED_FP_SCALE, index as NFT, NO_SCHEDULE, NftManager, PLANETARY_STRUCTURE_Z, PLANET_SUBTYPE_GAS_GIANT, PLANET_SUBTYPE_ICY, PLANET_SUBTYPE_INDUSTRIAL, PLANET_SUBTYPE_OCEAN, PLANET_SUBTYPE_ROCKY, PLANET_SUBTYPE_TERRESTRIAL, PLAYER_ALREADY_JOINED, PLAYER_NOT_FOUND, PLAYER_NOT_JOINED, PRECISION, platform as PlatformContract, Types$2 as PlatformTypes, Player, PlayersManager, RECIPE_INPUTS_EXCESS, RECIPE_INPUTS_INSUFFICIENT, RECIPE_INPUTS_INVALID, RECIPE_INPUTS_MIXED, RECIPE_NOT_FOUND, REGION_DIV, REGION_PER_AXIS, REQUIRES_MORE_THAN_ONE, REQUIRES_POSITIVE_VALUE, RESERVE_TIERS, RESOLVE_COUNT_EXCEEDS_COMPLETED, RESOURCE_BIOMASS, RESOURCE_CATEGORY_COUNT, RESOURCE_CRYSTAL, RESOURCE_GAS, RESOURCE_ORE, RESOURCE_REGOLITH, RESOURCE_TIER_ADJECTIVES, RESOURCE_TIER_MULT_TENTHS, RefitOp, SECTORS_PER_AXIS, SECTOR_DIV, SHIPLOAD_COLLECTION, SHIP_ALREADY_TRAVELING, SHIP_CANNOT_BUY_TRAVELING, SHIP_CANNOT_CANCEL_TASK, SHIP_CANNOT_UPDATE_TRAVELING, SHIP_NOT_ARRIVED, SHIP_NOT_FOUND, SHIP_NOT_IDLE, SHIP_NOT_OWNED, SHIP_NO_COMPLETED_TASKS, SHIP_NO_TASKS_TO_CANCEL, SLOT_FORMULAS, STAR_STEP, ScheduleAccessor, server as ServerContract, Types$1 as ServerTypes, Shipload, SubscriptionsManager, TIER_ROLL_MAX, TRAVEL_MAX_DURATION, TaskCancelable, TaskType, token as TokenContract, VOTE_NOT_CITIZEN, VOTE_READY_DEFAULT_MAX, WAREHOUSE_ALREADY_AT_LOCATION, WAREHOUSE_NOT_FOUND, WARP_HAS_CARGO, WARP_HAS_SCHEDULE, WARP_NOT_FULL_ENERGY, WARP_NO_CAPABILITY, WARP_OUT_OF_RANGE, WEIGHT_FP_SCALE, WH, WOULD_OVERFILL, WOULD_STRAND, W_EFF_ATOMIC_PER_UNIT, WebSocketConnection, YIELD_FRACTION_DEEP, YIELD_FRACTION_SHALLOW, abundantMaskFor, addressFromCoordinates, allBuildableItems, allCategoryIndexes, allPlotBuildableItems, allocateProportional, appliedTaskCount, applyCapacityTier, applyResourceTierMultiplier, atomicToPoints, availableBuildMethods, availableCapacity, availableCapacityFromMass, availableForItem, baseName, blendCargoStacks, blendComponentStacks, blendCrossGroup, blendStacks, buildComponentImmutable, buildDemand, buildEntityDescription, buildEntityImmutable, buildGatherPlan, buildImmutableData, buildJobCancelRoute, buildMintAssetAction, buildModuleImmutable, buildResourceImmutable, calcCargoItemMass, calcCargoMass, calcClusterIntake, calcClustercraftDuration, calcCounterpartDelivery, calcEnergyUsage, calcStacksMass, calc_acceleration, calc_build_duration, calc_build_energy, calc_craft_duration, calc_craft_energy, calc_energyusage, calc_flighttime, calc_gather_duration, calc_gather_energy, calc_gather_rate, calc_group_flighttime, calc_loader_acceleration, calc_loader_flighttime, calc_onesided_duration, calc_orbital_altitude, calc_rechargetime, calc_ship_acceleration, calc_ship_flighttime, calc_ship_mass, calc_ship_rechargetime, calc_transfer_duration, calc_transit_duration, calc_travel_flighttime, calculateFlightTime, calculateLoadTimeBreakdown, calculateRefuelingTime, calculateTransferTime, canCatch, canMove, canStoreCargo, cancelEligibility, candidateCivicDepositWindow, candidateLaneCompletesAt, capabilityAttributes, capabilityNames, capacityTierMultiplier, capsHasCrafter, capsHasGatherer, capsHasHauler, capsHasLauncher, capsHasLoaders, capsHasMass, capsHasMovement, capsHasStorage, cargoInputKey, cargoItem, cargoItemToStack, cargoKey, cargoReadyAt, cargoRef, cargoUtils, categoryAtIndex, categoryColors, categoryFromIndex, categoryIndex, categoryLabel, categoryLabelFromIndex, charterBuildingEntity, charterEligible, charterEligibleChained, charterGateNodeFor, charterIneligible, charterMetadata, charterModuleCount, charterName, charterNode, charterPrereqsMet, charterRungValue, charterSignature, charterSingletonMandate, charterSummary, citizenryName, citizenryPatternCount, civicBuildingFor, civicBuildingKind, civicBuildingLabel, civicDropoffDuration, civicHullItem, civicLoader, civicModuleItemFor, civicShuttleBays, civicStatLabel, civicStatModuleType, civicTransfersAtCap, civicTransfersFrom, clusterStockAvailable, compareByStars, componentBaseAtomic, componentEffortAtomic, componentIcon, composeIdleResolve, computeBaseCapacity, computeBaseCapacityContainer, computeBaseCapacityDepot, computeBaseCapacityShip, computeBaseCapacityWarehouse, computeBaseHullmass, computeBatteryCapabilities, computeBuilderCapabilities, computeBuilderDrain, computeBuilderSpeed, computeComponentStats, computeContainerCapabilities, computeCraftedOutputStats, computeCrafterCapabilities, computeCrafterDrain, computeCrafterSpeed, computeDepotHullCapabilities, computeEffectiveModuleStat, computeEngineCapabilities, computeEngineDrain, computeEngineThrust, computeEntityCapabilities, computeEntityStats, computeFreeCells, computeGathererCapabilities, computeGathererDepth, computeGathererDrain, computeGathererYield, computeGeneratorCap, computeGeneratorCapabilities, computeGeneratorRech, computeGroupPerLegReach, computeHaulPenalty, computeHaulerCapabilities, computeHaulerCapacity, computeHaulerEfficiency, computeInputMass, computeLauncherCapabilities, computeLoaderCapabilities, computeLoaderMass, computeLoaderThrust, computeNftImageUrl, computePerLegReach, computeShipHullCapabilities, computeStorageCapabilities, computeTravelDrain, computeWarehouseHullCapabilities, computeWarpCapabilities, computeWarpRange, contractRouteHeuristic, contractRouteLegCost, contributeDuration, contributeDurationForTonnes, coordsToLocationId, craftEnergyCost, createInventoryAccessor, createProjectedEntity, createScheduleAccessor, decayActive, decodeAddress, decodeAtomicAsset, decodeCraftedItemStats, decodeRegion, decodeSector, decodeStat, decodeStats, decodeWindowReceipt, Shipload as default, demandRoll, depotTransferDuration, deriveDemand, deriveLocation, deriveLocationSize, deriveLocationStatic, deriveResourceStats, deriveStatMappings, deriveStrata, deriveStratum, derivedLoaders, describeItem, describeModule, describeModuleForItem, describeModuleForSlot, deserializeAsset, deserializeAtomicData, deserializeComponent, deserializeEntity, deserializeModule, deserializeResource, displayName, distanceBetweenCoordinates, distanceBetweenPoints, easeFlightProgress, eligibleCharters, eligibleUpgrades, emptyCivicModules, encodeAddress, encodeAddressMemo, encodeGatheredCargoStats, encodeRegion, encodeSector, encodeStats, energyAtTime, energyPercent, entityDisplayName, entityToRouteMover, estimateDealTravelTime, estimateTravelTime, estimateUnwrapDuration, feistel, feistelInv, fetchAtomicAssetsForOwner, fetchAtomicSchemas, filterByBuildMethod, findCivicStatDef, findDecomp, findNearbyPlanets, fitCivicModules, flightSpeedFactor, formatInfluence, formatLocation, formatMass, formatMassDelta, formatMassScaled, formatModuleLine, formatNeedMultiplier, formatTier, gatherEnergyCost, gathererDepthForTier, getAllRecipes, getBaseHullmassFor, getCapabilityAttributeRows, getCapabilityAttributes, getCategoryInfo, getComponentDemand, getComponents, getCurrentEpoch, getDepthThreshold, getDestinationLocation, getEffectiveReserve, getEligibleResources, getEntityClass, getEntityItems, getEntityLayout, getEpochInfo, getFlightOrigin, getInterpolatedPosition, getItem, getItems, getKindMeta, getLocationCandidates, getLocationKind, getLocationProfile, getLocationType, getLocationTypeName, getModuleCapabilityType, getModules, getPackedEntityType, getPlanetSubtype, getPlanetSubtypes, getPositionAt, getProducersForAttribute, getRecipe, getRecipeConsumers, getResourceDemand, getResourceTier, getResourceWeight, getResources, getStatCount, getStatDefinitions, getStatMappings, getStatMappingsForCapability, getStatMappingsForStat, getStatName, getSystemName, getTemplateMeta, hasEnergy, hasEnergyForDistance, hasGatherer, hasIncomingCoupling, hasLoaders, hasMass, hasSchedule, hasSourceCoupling, hasSpace, hasSpaceForMass, hasStorage, hasSystem, hash, hash512, hydrateEntityLanes, incomingHoldMass, incomingSources, influenceWeightKey, interpolateFlightPosition, isAbundant, isAcute, isAssemblyYard, isBuildable, isCivicEntity, isCivicKind, isConstructionDock, isContainer, isCraftedItem, isDepot, isExtractor, isFactory, isFull, isFullFromMass, isGatherableLocation, isHub, isInvertedAttribute, isLocationBuildable, isModuleItem, isNexus, isPlot, isPlotBuildable, isRelatedItem, isSettling, isShip, isSubscriptionsDebugEnabled, isValidWormholePair, isWarehouse, isWorkshop, itemAbbreviations, itemCategory, itemIds, itemOffset, itemTier, itemTypeCode, itemTypeIndex, jobCancelRoute, jobCancellable, jobCancellationBlockReason, jobDeposited, jobDropoffTask, jobStatus, jobStatusLabel, jobsToLanes, kindCan, lackingMaskFrom, laneKeyForModule, lerp$1 as lerp, locationIdToCoords, makeEntity, mapEntity, maxCraftable, maxQtyForCharge, maxTravelDistance, mergeStacks, moduleAccepts, moduleDisplayName, moduleIcon, moduleSlotTypeToCode, nearbyWormholes, needForCategory, needMultiplier, needsRecharge, normalizeActive, normalizeDisplayName, parseWireEntity, partnerRegion, pendingCivicTransfers, pickAcuteCategory, pickFabricator, pickupsInFlight, planParallelTransfer, planRoute, planRouteWithRetry, planSingleGather, poolKey, popcount5, previewCharterGrants, pricingFromWeights, projectBallot, projectEntity, projectEntityAt, projectRemainingAt, projectedCargoAvailableAt, projectedPeakCargomass, qualityFactor, raiseCivicStat, rawScheduleEnd, readCommonBase, receiveFits, regionOf, removeFromStacks, renderDescription, resolveItem, resolveItemCategory, resolveLaneBuilder, resolveLaneCrafter, resolveLaneGatherer, resolveLaneLoader, resolveLockedAmount, resolveStats, resourceValueAtomic, rollTier, rollWithinTier, rollupBuilder, rollupCrafter, rollupGatherer, rollupLoaders, romanNumeral, rotation, schedule, sdkSystemGraph, selectCivicShuttleBay, selectGatherLane, setSubscriptionsDebug, simulateRoute, slotAcceptsModule, socketTail, sourceLabelForOutput, splitCost, splitJobCargo, stackKey, stackToCargoItem, stacksEqual, starRating, starsForStat, statMagnitude, statsSumSq, subtractFromStacks, taskCargoChanges, taskCargoChangesChecked, taskCargoEffect, tierAdjective, tierColors, tierOfReserve, toLocation, tryGetItem, typeLabel, unappliedTasks, unwrapLoadDuration, unwrapTransitDuration, usedInputStatKeys, validateDisplayName, validateSchedule, valueCargoItem, valueContribution, weightedQualityAtomic, windowReceiptCompletesAtMs, windowReceiptStartsAtMs, workerLaneKey, workshopAvailability, wormholeAt, wormholeAtRegionEndpoint, wrapCostKey, yieldThresholdAt };
|
|
26630
|
+
export { ALL_ENTITY_TYPES, ATOMICASSETS_ACCOUNT, ActionsManager, BALLOT_CHARTER, BALLOT_MAX_PICKS, BALLOT_NONE_DUE, BALLOT_NOT_DUE, BALLOT_SETTLING, BAR_SEED, BAR_STEP_DOWN, BAR_STEP_UNIT, BAR_STEP_UP, BASE_HAUL_PENALTY_MILLI$1 as BASE_HAUL_PENALTY_MILLI, BASE_ORBITAL_MASS, BLEND_INPUTS_MUST_MATCH, BLEND_REQUIRES_MULTIPLE, BLEND_STAT_LESS_NOT_SUPPORTED, BalancesManager, CANCEL_CONTAINS_GROUPED_TASK, CAPACITY_TIER_TABLE, CAP_CATCH, CAP_DEMOLISH, CAP_MODULES, CAP_STORE_CARGO, CAP_UNDEPLOY, CAP_WRAP, CATEGORY_LABELS, CHARTER_BASELINE_STAT, CHARTER_INELIGIBILITY_MESSAGES, CHARTER_MAX_GRANTS, CHARTER_MAX_PREREQS, CHARTER_NONE, CHARTER_REGISTRY, CHARTER_RUNG_STEP, CHARTER_WORKSHOP, CHARTER_WORKSHOP_COST, CIVIC_DEPOT, CIVIC_DOCK, CIVIC_GRANT_ADVANCEMENT, CIVIC_GRANT_LEVEL_GATE, CIVIC_GRANT_MODULE, CIVIC_GRANT_NONE, CIVIC_GRANT_RUNG, CIVIC_LOADER_STAT, CIVIC_LOADER_TIER, CIVIC_NEXUS, CIVIC_SPEED_CAP, CIVIC_STAT_BUILD_SPEED, CIVIC_STAT_CRAFT_SPEED, CIVIC_STAT_DEFS, CIVIC_STAT_NONE, CIVIC_STAT_STORAGE_CAPACITY, CIVIC_STAT_TRANSFER_SPEED, CIVIC_TRANSFER_PER_PLAYER_CAP, CIVIC_WORKSHOP, CIVIC_WORLD, COMMIT_ALREADY_SET, COMMIT_CANNOT_MATCH, COMMIT_NOT_SET, COMPANY_NOT_FOUND, COMPONENT_TIER_PREFIXES, CONTAINER_NOT_FOUND, CONTAINER_Z, COORD_MAX, COORD_MIN, COORD_OFFSET, CRAFT_ENERGY_DIVISOR, CRAFT_EXCEEDS_ENERGY_CAPACITY, CRAFT_NOT_ENOUGH_ENERGY, CancelBlockReason, ClusterManager, ConstructionManager, Coordinates, DECAY_MAX_ITERATIONS, DECAY_RETAIN_DEN, DECAY_RETAIN_NUM, DECOMP_MAX_BUCKETS, DECOMP_MAX_DEPTH, DECOMP_PROCESSED_MASS_MAX, DECOMP_RAW_MASS_MAX, DECOMP_REGISTRY, DEFAULT_BASE_HULLMASS, DEFAULT_ORBITAL_Z, DEMAND_TRIPLE_SEED, DEPLOY_ENTITY_HAS_SCHEDULE, DEPOT_LOADER_SLOT, DEPTH_THRESHOLD_T1, DEPTH_THRESHOLD_T2, DEPTH_THRESHOLD_T3, DEPTH_THRESHOLD_T4, DEPTH_THRESHOLD_T5, DESTINATION_CAPACITY_EXCEEDED, ENGINE_DRAIN_BASE, ENGINE_DRAIN_REF_THM, ENGINE_DRAIN_REF_THRUST, ENTITY_ALREADY_THERE, ENTITY_ASSEMBLY_YARD, ENTITY_CAPACITY_EXCEEDED, ENTITY_CARGO_NOT_LOADED, ENTITY_CARGO_NOT_OWNED, ENTITY_CONSTRUCTION_DOCK, ENTITY_CONTAINER, ENTITY_DEPOT, ENTITY_EXTRACTOR, ENTITY_FACTORY, ENTITY_HUB, ENTITY_INVALID_CARGO, ENTITY_INVALID_DESTINATION, ENTITY_INVALID_TRAVEL_DURATION, ENTITY_NEXUS, ENTITY_NOT_ENOUGH_ENERGY, ENTITY_NOT_ENOUGH_ENERGY_CAPACITY, ENTITY_NO_CRAFTER, ENTITY_SHIP, ENTITY_WAREHOUSE, ENTITY_WORKSHOP, EPOCH_NON_ZERO, EPOCH_NOT_READY, ERROR_SYSTEM_ALREADY_INITIALIZED, ERROR_SYSTEM_DISABLED, ERROR_SYSTEM_NOT_INITIALIZED, EntitiesManager, Entity, EntityClass, EntityInventory, EpochsManager, fund as FundContract, FundManager, Types$3 as FundTypes, GAME_NOT_FOUND, GAME_SEED_NOT_SET, GATHERER_DEPTH_MAX_TIER, GATHERER_DEPTH_TABLE, GATHER_EXCEEDS_ENERGY_CAPACITY, GATHER_MASS_DIVISOR, GATHER_NOT_ENOUGH_ENERGY, GRADE_PREMIUM, GRADE_STANDARD, GROUP_DUPLICATE_ENTITY, GROUP_EMPTY, GROUP_ENTITY_NOT_MOVABLE, GROUP_HAUL_CAPACITY_EXCEEDED, GROUP_NOT_FOUND, GROUP_NOT_SAME_LOCATION, GROUP_NOT_SAME_OWNER, GROUP_NO_THRUST, GameState, HAULER_EFFICIENCY_DENOM$1 as HAULER_EFFICIENCY_DENOM, HoldKind, INFLUENCE_ATOMIC_PER_POINT, INFLUENCE_D1_SEED, INFLUENCE_MASS_MAX, INFLUENCE_NEED_FP_MAX, INFLUENCE_WEIGHT_FP_MAX, INSUFFICIENT_BALANCE, INSUFFICIENT_ITEM_QUANTITY, INSUFFICIENT_ITEM_SUPPLY, INTAKE_RATE, INVALID_AMOUNT, ITEM_ASSEMBLY_YARD_T2_PACKED, ITEM_BATTERY_T1, ITEM_BATTERY_T2, ITEM_BEAM, ITEM_BEAM_T2, ITEM_BIOMASS_T1, ITEM_BIOMASS_T10, ITEM_BIOMASS_T2, ITEM_BIOMASS_T3, ITEM_BIOMASS_T4, ITEM_BIOMASS_T5, ITEM_BIOMASS_T6, ITEM_BIOMASS_T7, ITEM_BIOMASS_T8, ITEM_BIOMASS_T9, ITEM_BUILDER_T1, ITEM_BUILDER_T2, ITEM_CERAMIC, ITEM_CERAMIC_T2, ITEM_CONSTRUCTION_DOCK_T1_PACKED, ITEM_CONTAINER_T1_PACKED, ITEM_CONTAINER_T2_PACKED, ITEM_CRAFTER_T1, ITEM_CRAFTER_T2, ITEM_CRYSTAL_T1, ITEM_CRYSTAL_T10, ITEM_CRYSTAL_T2, ITEM_CRYSTAL_T3, ITEM_CRYSTAL_T4, ITEM_CRYSTAL_T5, ITEM_CRYSTAL_T6, ITEM_CRYSTAL_T7, ITEM_CRYSTAL_T8, ITEM_CRYSTAL_T9, ITEM_DEPOT_T1_PACKED, ITEM_DOES_NOT_EXIST, ITEM_DREDGER_T2A_PACKED, ITEM_ENGINE_T1, ITEM_ENGINE_T2, ITEM_EXTRACTOR_T2_PACKED, ITEM_FACTORY_T2_PACKED, ITEM_FRAME, ITEM_FRAME_T2, ITEM_GAS_T1, ITEM_GAS_T10, ITEM_GAS_T2, ITEM_GAS_T3, ITEM_GAS_T4, ITEM_GAS_T5, ITEM_GAS_T6, ITEM_GAS_T7, ITEM_GAS_T8, ITEM_GAS_T9, ITEM_GATHERER_T1, ITEM_GATHERER_T2, ITEM_GENERATOR_T1, ITEM_GENERATOR_T2, ITEM_HAULER_T1, ITEM_HAULER_T2, ITEM_HUB_T2_PACKED, ITEM_LAUNCHER_T1, ITEM_LOADER_T1, ITEM_LOADER_T2, ITEM_MASS_CATCHER_T1_PACKED, ITEM_MASS_DRIVER_T1_PACKED, ITEM_NEXUS_T1_PACKED, ITEM_NOT_AVAILABLE_AT_LOCATION, ITEM_NOT_DEPLOYABLE, ITEM_NOT_PACKED_ENTITY, ITEM_ORE_T1, ITEM_ORE_T10, ITEM_ORE_T2, ITEM_ORE_T3, ITEM_ORE_T4, ITEM_ORE_T5, ITEM_ORE_T6, ITEM_ORE_T7, ITEM_ORE_T8, ITEM_ORE_T9, ITEM_PLASMA_CELL, ITEM_PLASMA_CELL_T2, ITEM_PLATE, ITEM_PLATE_T2, ITEM_POLYMER, ITEM_POLYMER_T2, ITEM_PORTER_T1A_PACKED, ITEM_PROSPECTOR_T1A_PACKED, ITEM_PROSPECTOR_T2A_PACKED, ITEM_PROSPECTOR_T2B_PACKED, ITEM_REACTOR, ITEM_REACTOR_T2, ITEM_REGOLITH_T1, ITEM_REGOLITH_T10, ITEM_REGOLITH_T2, ITEM_REGOLITH_T3, ITEM_REGOLITH_T4, ITEM_REGOLITH_T5, ITEM_REGOLITH_T6, ITEM_REGOLITH_T7, ITEM_REGOLITH_T8, ITEM_REGOLITH_T9, ITEM_RESIN, ITEM_RESIN_T2, ITEM_RESONATOR, ITEM_RESONATOR_T2, ITEM_ROUSTABOUT_T1A_PACKED, ITEM_SENSOR, ITEM_SENSOR_T2, ITEM_SHIP_T1_PACKED, ITEM_SMITH_T1A_PACKED, ITEM_STORAGE_T1, ITEM_STORAGE_T2, ITEM_TENDER_T1A_PACKED, ITEM_TUG_T1A_PACKED, ITEM_TYPE_COMPONENT, ITEM_TYPE_ENTITY, ITEM_TYPE_MODULE, ITEM_TYPE_RESOURCE, ITEM_WAREHOUSE_T2_PACKED, ITEM_WARP_T1, ITEM_WARP_T2, ITEM_WORKSHOP_T1_PACKED, ITEM_WRIGHT_T1A_PACKED, InfluenceManager, InventoryAccessor, JOB_QUEUE_CAP, JobsManager, LANE_BARRIER, LANE_MOBILITY, LOCAL_HALF, LOCATION_MAX_DEPTH, LOCATION_MIN_DEPTH, Location, LocationType, LocationsManager, MASS_STAT_SCALE, MASS_UNITS_PER_TONNE, MAX_LEGS, MAX_ORBITAL_ALTITUDE, MAX_STARS_PER_STAT, MAX_STAR_RATING, MINTREADY_DEFAULT_CAP, MIN_ORBITAL_ALTITUDE, MIN_TRANSFER_DISTANCE_ORBITAL_VESSEL, MIN_TRANSFER_DISTANCE_PLANETARY_STRUCTURE, MODULE_ANY, MODULE_AUX, MODULE_BATTERY, MODULE_BUILDER, MODULE_CARGO_NOT_FOUND, MODULE_CRAFTER, MODULE_ENGINE, MODULE_ENTITY_BUSY, MODULE_GATHERER, MODULE_GENERATOR, MODULE_HAULER, MODULE_LAUNCHER, MODULE_LOADER, MODULE_NOT_MODULE, MODULE_SLOT_EMPTY, MODULE_SLOT_INVALID, MODULE_SLOT_OCCUPIED, MODULE_STAT_SCALING_ANCHOR, MODULE_STAT_SCALING_POST_ANCHOR_PERCENT, MODULE_STORAGE, MODULE_TIER_PREFIXES, MODULE_TYPE_MISMATCH, MODULE_WARP, NEED_FP_SCALE, index as NFT, NO_SCHEDULE, NftManager, PLANETARY_STRUCTURE_Z, PLANET_SUBTYPE_GAS_GIANT, PLANET_SUBTYPE_ICY, PLANET_SUBTYPE_INDUSTRIAL, PLANET_SUBTYPE_OCEAN, PLANET_SUBTYPE_ROCKY, PLANET_SUBTYPE_TERRESTRIAL, PLAYER_ALREADY_JOINED, PLAYER_NOT_FOUND, PLAYER_NOT_JOINED, PRECISION, platform as PlatformContract, Types$2 as PlatformTypes, Player, PlayersManager, RECIPE_INPUTS_EXCESS, RECIPE_INPUTS_INSUFFICIENT, RECIPE_INPUTS_INVALID, RECIPE_INPUTS_MIXED, RECIPE_NOT_FOUND, REGION_DIV, REGION_PER_AXIS, REQUIRES_MORE_THAN_ONE, REQUIRES_POSITIVE_VALUE, RESERVE_TIERS, RESOLVE_COUNT_EXCEEDS_COMPLETED, RESOURCE_BIOMASS, RESOURCE_CATEGORY_COUNT, RESOURCE_CRYSTAL, RESOURCE_GAS, RESOURCE_ORE, RESOURCE_REGOLITH, RESOURCE_TIER_ADJECTIVES, RESOURCE_TIER_MULT_TENTHS, RefitOp, SECTORS_PER_AXIS, SECTOR_DIV, SHIPLOAD_COLLECTION, SHIP_ALREADY_TRAVELING, SHIP_CANNOT_BUY_TRAVELING, SHIP_CANNOT_CANCEL_TASK, SHIP_CANNOT_UPDATE_TRAVELING, SHIP_NOT_ARRIVED, SHIP_NOT_FOUND, SHIP_NOT_IDLE, SHIP_NOT_OWNED, SHIP_NO_COMPLETED_TASKS, SHIP_NO_TASKS_TO_CANCEL, SLOT_FORMULAS, STAR_STEP, ScheduleAccessor, server as ServerContract, Types$1 as ServerTypes, Shipload, SubscriptionsManager, TIER_ROLL_MAX, TRAVEL_MAX_DURATION, TaskCancelable, TaskType, token as TokenContract, VOTE_NOT_CITIZEN, VOTE_READY_DEFAULT_MAX, WAREHOUSE_ALREADY_AT_LOCATION, WAREHOUSE_NOT_FOUND, WARP_HAS_CARGO, WARP_HAS_SCHEDULE, WARP_NOT_FULL_ENERGY, WARP_NO_CAPABILITY, WARP_OUT_OF_RANGE, WEIGHT_FP_SCALE, WH, WOULD_OVERFILL, WOULD_STRAND, W_EFF_ATOMIC_PER_UNIT, WebSocketConnection, YIELD_FRACTION_DEEP, YIELD_FRACTION_SHALLOW, abundantMaskFor, addressFromCoordinates, allBuildableItems, allCategoryIndexes, allPlotBuildableItems, allocateProportional, appliedTaskCount, applyCapacityTier, applyResourceTierMultiplier, atomicToPoints, availableBuildMethods, availableCapacity, availableCapacityFromMass, availableForItem, baseName, blendCargoStacks, blendComponentStacks, blendCrossGroup, blendStacks, buildComponentImmutable, buildDemand, buildEntityDescription, buildEntityImmutable, buildGatherPlan, buildImmutableData, buildJobCancelRoute, buildMintAssetAction, buildModuleImmutable, buildResourceImmutable, calcCargoItemMass, calcCargoMass, calcClusterIntake, calcClustercraftDuration, calcCounterpartDelivery, calcEnergyUsage, calcStacksMass, calc_acceleration, calc_build_duration, calc_build_energy, calc_craft_duration, calc_craft_energy, calc_energyusage, calc_flighttime, calc_gather_duration, calc_gather_energy, calc_gather_rate, calc_group_flighttime, calc_loader_acceleration, calc_loader_flighttime, calc_onesided_duration, calc_orbital_altitude, calc_rechargetime, calc_ship_acceleration, calc_ship_flighttime, calc_ship_mass, calc_ship_rechargetime, calc_transfer_duration, calc_transit_duration, calc_travel_flighttime, calculateFlightTime, calculateLoadTimeBreakdown, calculateRefuelingTime, calculateTransferTime, canCatch, canMove, canStoreCargo, cancelEligibility, candidateCivicDepositWindow, candidateLaneCompletesAt, capabilityAttributes, capabilityNames, capacityTierMultiplier, capsHasCrafter, capsHasGatherer, capsHasHauler, capsHasLauncher, capsHasLoaders, capsHasMass, capsHasMovement, capsHasStorage, cargoInputKey, cargoItem, cargoItemToStack, cargoKey, cargoReadyAt, cargoRef, cargoUtils, categoryAtIndex, categoryColors, categoryFromIndex, categoryIndex, categoryLabel, categoryLabelFromIndex, charterBuildingEntity, charterEligible, charterEligibleChained, charterGateNodeFor, charterIneligible, charterMetadata, charterModuleCount, charterName, charterNode, charterPrereqsMet, charterRungValue, charterSignature, charterSingletonMandate, charterSummary, citizenryName, citizenryPatternCount, civicBuildingFor, civicBuildingKind, civicBuildingLabel, civicDropoffDuration, civicHullItem, civicLoader, civicModuleItemFor, civicShuttleBays, civicStatLabel, civicStatModuleType, civicTransfersAtCap, civicTransfersFrom, clusterStockAvailable, compareByStars, componentBaseAtomic, componentEffortAtomic, componentIcon, composeIdleResolve, computeBaseCapacity, computeBaseCapacityContainer, computeBaseCapacityDepot, computeBaseCapacityShip, computeBaseCapacityWarehouse, computeBaseHullmass, computeBatteryCapabilities, computeBuilderCapabilities, computeBuilderDrain, computeBuilderSpeed, computeComponentStats, computeContainerCapabilities, computeCraftedOutputStats, computeCrafterCapabilities, computeCrafterDrain, computeCrafterSpeed, computeDepotHullCapabilities, computeEffectiveModuleStat, computeEngineCapabilities, computeEngineDrain, computeEngineThrust, computeEntityCapabilities, computeEntityStats, computeFreeCells, computeGathererCapabilities, computeGathererDepth, computeGathererDrain, computeGathererYield, computeGeneratorCap, computeGeneratorCapabilities, computeGeneratorRech, computeGroupPerLegReach, computeHaulPenalty, computeHaulerCapabilities, computeHaulerCapacity, computeHaulerEfficiency, computeInputMass, computeLauncherCapabilities, computeLoaderCapabilities, computeLoaderMass, computeLoaderThrust, computeNftImageUrl, computePerLegReach, computeShipHullCapabilities, computeStorageCapabilities, computeTravelDrain, computeWarehouseHullCapabilities, computeWarpCapabilities, computeWarpRange, contractRouteHeuristic, contractRouteLegCost, contributeDuration, contributeDurationForTonnes, coordsToLocationId, craftEnergyCost, createInventoryAccessor, createProjectedEntity, createScheduleAccessor, decayActive, decodeAddress, decodeAtomicAsset, decodeCraftedItemStats, decodeRegion, decodeSector, decodeStat, decodeStats, decodeWindowReceipt, Shipload as default, demandRoll, depotTransferDuration, deriveDemand, deriveLocation, deriveLocationSize, deriveLocationStatic, deriveResourceStats, deriveStatMappings, deriveStrata, deriveStratum, derivedLoaders, describeItem, describeModule, describeModuleForItem, describeModuleForSlot, deserializeAsset, deserializeAtomicData, deserializeComponent, deserializeEntity, deserializeModule, deserializeResource, displayName, distanceBetweenCoordinates, distanceBetweenPoints, easeFlightProgress, eligibleCharters, eligibleUpgrades, emptyCivicModules, encodeAddress, encodeAddressMemo, encodeGatheredCargoStats, encodeRegion, encodeSector, encodeStats, energyAtTime, energyPercent, entityDisplayName, entityToRouteMover, estimateDealTravelTime, estimateTravelTime, estimateUnwrapDuration, feistel, feistelInv, fetchAtomicAssetsForOwner, fetchAtomicSchemas, filterByBuildMethod, findCivicStatDef, findDecomp, findNearbyPlanets, fitCivicModules, flightSpeedFactor, formatInfluence, formatLocation, formatMass, formatMassDelta, formatMassScaled, formatModuleLine, formatNeedMultiplier, formatTier, gatherEnergyCost, gathererDepthForTier, getAllRecipes, getBaseHullmassFor, getCapabilityAttributeRows, getCapabilityAttributes, getCategoryInfo, getComponentDemand, getComponents, getCurrentEpoch, getDepthThreshold, getDestinationLocation, getEffectiveReserve, getEligibleResources, getEntityClass, getEntityItems, getEntityLayout, getEpochInfo, getFlightOrigin, getInterpolatedPosition, getItem, getItemFamily, getItems, getKindMeta, getLocationCandidates, getLocationKind, getLocationProfile, getLocationType, getLocationTypeName, getModuleCapabilityType, getModules, getPackedEntityType, getPlanetSubtype, getPlanetSubtypes, getPositionAt, getProducersForAttribute, getRecipe, getRecipeConsumers, getResourceDemand, getResourceTier, getResourceWeight, getResources, getStatCount, getStatDefinitions, getStatMappings, getStatMappingsForCapability, getStatMappingsForStat, getStatName, getSystemName, getTemplateMeta, hasEnergy, hasEnergyForDistance, hasGatherer, hasIncomingCoupling, hasLoaders, hasMass, hasSchedule, hasSourceCoupling, hasSpace, hasSpaceForMass, hasStorage, hasSystem, hash, hash512, hydrateEntityLanes, incomingHoldMass, incomingSources, influenceWeightKey, interpolateFlightPosition, isAbundant, isAcute, isAssemblyYard, isBuildable, isCivicEntity, isCivicKind, isConstructionDock, isContainer, isCraftedItem, isDepot, isExtractor, isFactory, isFull, isFullFromMass, isGatherableLocation, isHub, isInvertedAttribute, isLocationBuildable, isModuleItem, isNexus, isPlot, isPlotBuildable, isRelatedItem, isSettling, isShip, isSubscriptionsDebugEnabled, isValidWormholePair, isWarehouse, isWorkshop, itemAbbreviations, itemCategory, itemFamilies, itemFamilyKey, itemIds, itemOffset, itemTier, itemTypeCode, itemTypeIndex, jobCancelRoute, jobCancellable, jobCancellationBlockReason, jobDeposited, jobDropoffTask, jobStatus, jobStatusLabel, jobsToLanes, kindCan, lackingMaskFrom, laneKeyForModule, lerp$1 as lerp, locationIdToCoords, makeEntity, mapEntity, maxCraftable, maxQtyForCharge, maxTravelDistance, mergeStacks, moduleAccepts, moduleDisplayName, moduleIcon, moduleSlotTypeToCode, nearbyWormholes, needForCategory, needMultiplier, needsRecharge, normalizeActive, normalizeDisplayName, parseWireEntity, partnerRegion, pendingCivicTransfers, pickAcuteCategory, pickFabricator, pickupsInFlight, planParallelTransfer, planRoute, planRouteWithRetry, planSingleGather, poolKey, popcount5, previewCharterGrants, pricingFromWeights, projectBallot, projectCargomass, projectEntity, projectEntityAt, projectRemainingAt, projectedCargoAvailableAt, projectedPeakCargomass, qualityFactor, raiseCivicStat, rawScheduleEnd, readCommonBase, receiveFits, regionOf, removeFromStacks, renderDescription, resolveItem, resolveItemCategory, resolveLaneBuilder, resolveLaneCrafter, resolveLaneGatherer, resolveLaneLoader, resolveLockedAmount, resolveStats, resourceValueAtomic, rollTier, rollWithinTier, rollupBuilder, rollupCrafter, rollupGatherer, rollupLoaders, romanNumeral, rotation, schedule, sdkSystemGraph, selectCivicShuttleBay, selectGatherLane, setSubscriptionsDebug, simulateRoute, slotAcceptsModule, socketTail, sourceLabelForOutput, splitCost, splitJobCargo, stackKey, stackToCargoItem, stacksEqual, starRating, starsForStat, statMagnitude, statsSumSq, subtractFromStacks, taskCargoChanges, taskCargoChangesChecked, taskCargoEffect, tierAdjective, tierColors, tierOfReserve, toLocation, tryGetItem, typeLabel, unappliedTasks, unwrapLoadDuration, unwrapTransitDuration, usedInputStatKeys, validateDisplayName, validateSchedule, valueCargoItem, valueContribution, weightedQualityAtomic, windowReceiptCompletesAtMs, windowReceiptStartsAtMs, workerLaneKey, workshopAvailability, wormholeAt, wormholeAtRegionEndpoint, wrapCostKey, yieldThresholdAt };
|
|
26695
26631
|
//# sourceMappingURL=shipload.m.js.map
|